Improve Chakart rules (captures after banana/bomb redirection)
[vchess.git] / client / src / variants / Chakart.js
index 8f84b37..73d7cfc 100644 (file)
@@ -320,7 +320,6 @@ export class ChakartRules extends ChessRules {
       const L = this.firstMove.length;
       const fm = this.firstMove[L-1];
       switch (fm.end.effect) {
-        // case 0: a click is required (banana or bomb)
         case "kingboo":
           // Exchange position with any piece,
           // except pawns if arriving on last rank.
@@ -370,11 +369,12 @@ export class ChakartRules extends ChessRules {
 
   // Helper for getBasicMove()
   getRandomSquare([x, y], steps) {
+    const color = this.turn;
     const validSteps = steps.filter(s => {
       const [i, j] = [x + s[0], y + s[1]];
       return (
         V.OnBoard(i, j) &&
-        (this.board[i][j] == V.EMPTY || this.getColor(i, j) == 'a')
+        (this.board[i][j] == V.EMPTY || this.getColor(i, j) != color)
       );
     });
     if (validSteps.length == 0)
@@ -1358,7 +1358,7 @@ export class ChakartRules extends ChessRules {
       // Play a deterministic one: capture king or material if possible
       return super.getComputerMove(deterministicMoves);
     // Play a random effect move, at random:
-    let move1 = randomMoves[randInt(moves.length)];
+    let move1 = randomMoves[randInt(randomMoves.length)];
     this.play(move1);
     let move2 = undefined;
     if (this.subTurn == 2) {