More consistent Chakart
[vchess.git] / client / src / variants / Chakart.js
index 86a867a..9659ef3 100644 (file)
@@ -5,6 +5,23 @@ import { randInt } from "@/utils/alea";
 
 export class ChakartRules extends ChessRules {
 
+  static get Options() {
+    return {
+      select: [
+        {
+          label: "Randomness",
+          variable: "randomness",
+          defaut: 2,
+          options: [
+            { label: "Deterministic", value: 0 },
+            { label: "Symmetric random", value: 1 },
+            { label: "Asymmetric random", value: 2 }
+          ]
+        }
+      ]
+    };
+  }
+
   static get PawnSpecs() {
     return SuicideRules.PawnSpecs;
   }
@@ -641,12 +658,12 @@ export class ChakartRules extends ChessRules {
             const afterColor = this.getColor(afterNext[0], afterNext[1]);
             if (
               this.board[afterNext[0]][afterNext[1]] == V.EMPTY ||
-              afterColor != color1
+              afterColor == 'a'
             ) {
               move.appear[0].x = afterNext[0];
               move.appear[0].y = afterNext[1];
               if (this.board[afterNext[0]][afterNext[1]] != V.EMPTY) {
-                // The "object" could also be an opponent's piece
+                // object = banana, bomb, mushroom or egg
                 const object = this.getPiece(afterNext[0], afterNext[1]);
                 move.vanish.push(
                   new PiPo({