Several small improvements + integrate options + first working draft of Cwda
[vchess.git] / client / src / variants / Zen.js
index eb6748d..bfbc7e2 100644 (file)
@@ -27,24 +27,6 @@ export class ZenRules extends ChessRules {
     return undefined;
   }
 
-  // TODO(?): some duplicated code in 2 next functions
-  getSlideNJumpMoves([x, y], steps, oneStep) {
-    let moves = [];
-    outerLoop: for (let loop = 0; loop < steps.length; loop++) {
-      const step = steps[loop];
-      let i = x + step[0];
-      let j = y + step[1];
-      while (V.OnBoard(i, j) && this.board[i][j] == V.EMPTY) {
-        moves.push(this.getBasicMove([x, y], [i, j]));
-        if (oneStep) continue outerLoop;
-        i += step[0];
-        j += step[1];
-      }
-      // No capture check: handled elsewhere (next method)
-    }
-    return moves;
-  }
-
   // follow steps from x,y until something is met.
   // if met piece is opponent and same movement (asA): eat it!
   findCaptures_aux([x, y], asA) {
@@ -79,6 +61,7 @@ export class ZenRules extends ChessRules {
       }
       if (
         V.OnBoard(i, j) &&
+        this.board[i][j] != V.EMPTY &&
         this.getColor(i, j) == oppCol &&
         this.getPiece(i, j) == asA
       ) {
@@ -88,7 +71,8 @@ export class ZenRules extends ChessRules {
           promotionPieces.forEach(p => {
             moves.push(this.getBasicMove([x, y], [i, j], { c: color, p: p }));
           });
-        } else {
+        }
+        else {
           // All other cases
           moves.push(this.getBasicMove([x, y], [i, j]));
         }
@@ -108,7 +92,7 @@ export class ZenRules extends ChessRules {
     return moves;
   }
 
-  canTake(sq1, sq2) {
+  canTake() {
     return false; //captures handled separately
   }