Fix pieces values and notation for Ball variant. Add quick description of Doublearmy...
[vchess.git] / client / src / variants / Ball.js
index 1bb7731..cd504a9 100644 (file)
@@ -19,7 +19,7 @@ export class BallRules extends ChessRules {
   }
 
   static get CHAMPION() {
-    return 'h';
+    return 'c';
   }
 
   static get BALL() {
@@ -38,10 +38,10 @@ export class BallRules extends ChessRules {
       'p': 's',
       'r': 'u',
       'n': 'o',
-      'b': 'c',
+      'b': 'd',
       'q': 't',
       'k': 'l',
-      'h': 'd'
+      'c': 'h'
     };
   }
 
@@ -50,10 +50,10 @@ export class BallRules extends ChessRules {
       's': 'p',
       'u': 'r',
       'o': 'n',
-      'c': 'b',
+      'd': 'b',
       't': 'q',
       'l': 'k',
-      'd': 'h'
+      'h': 'c'
     };
   }
 
@@ -128,7 +128,7 @@ export class BallRules extends ChessRules {
 
   static GenRandInitFen(randomness) {
     if (randomness == 0)
-      return "rnbhqhnbr/ppppppppp/9/9/4a4/9/9/PPPPPPPPP/RNBHQHNBR w 0 -";
+      return "rnbcqcnbr/ppppppppp/9/9/4a4/9/9/PPPPPPPPP/RNBCQCNBR w 0 -";
 
     let pieces = { w: new Array(9), b: new Array(9) };
     for (let c of ["w", "b"]) {
@@ -139,7 +139,7 @@ export class BallRules extends ChessRules {
 
       // Get random squares for every piece, totally freely
       let positions = shuffle(ArrayFun.range(9));
-      const composition = ['b', 'b', 'r', 'r', 'n', 'n', 'h', 'h', 'q'];
+      const composition = ['b', 'b', 'r', 'r', 'n', 'n', 'c', 'c', 'q'];
       const rem2 = positions[0] % 2;
       if (rem2 == positions[1] % 2) {
         // Fix bishops (on different colors)
@@ -178,7 +178,7 @@ export class BallRules extends ChessRules {
       ChessRules.steps,
       // Add champion moves
       {
-        h: [
+        c: [
           [-2, -2],
           [-2, 0],
           [-2, 2],
@@ -323,11 +323,11 @@ export class BallRules extends ChessRules {
   static get VALUES() {
     return {
       p: 1,
-      r: 5,
-      n: 3,
-      b: 3,
-      q: 9,
-      h: 4,
+      r: 3,
+      n: 4,
+      b: 2,
+      q: 5,
+      c: 4,
       a: 0 //ball: neutral
     };
   }