Typo
[vchess.git] / client / src / variants / Allmate2.js
index 424bb09..f4abbe3 100644 (file)
@@ -1,6 +1,7 @@
 import { ChessRules, PiPo, Move } from "@/base_rules";
 
 export class Allmate2Rules extends ChessRules {
+
   static get HasEnpassant() {
     return false;
   }
@@ -63,14 +64,14 @@ export class Allmate2Rules extends ChessRules {
               case V.KING:
                 // Do not allow castling to escape from check
                 oppMoves = super.getSlideNJumpMoves(
-                  [x, y],
+                  [i, j],
                   V.steps[V.ROOK].concat(V.steps[V.BISHOP]),
                   "oneStep"
                 );
                 break;
             }
             for (let om of oppMoves) {
-              if (om.vanish.length == 2 && om.appear.length == 1)
+              if (om.vanish.length == 2)
                 // Skip captures: forbidden in this mode
                 continue;
               V.PlayOnBoard(this.board, om);
@@ -90,6 +91,7 @@ export class Allmate2Rules extends ChessRules {
           }
         }
       }
+      this.undo(m);
 
       // 3) Add mate-captures:
       Object.values(attacked).forEach(sq => {
@@ -100,8 +102,6 @@ export class Allmate2Rules extends ChessRules {
           p: this.getPiece(sq[0], sq[1])
         }));
       });
-
-      this.undo(m);
     });
 
     return moves;
@@ -109,7 +109,7 @@ export class Allmate2Rules extends ChessRules {
 
   // No "under check" conditions in castling
   getCastleMoves(sq) {
-    return super.getCastleMoves(sq, "castleInCheck");
+    return super.getCastleMoves(sq, null, "castleInCheck");
   }
 
   // TODO: allow pieces to "commit suicide"? (Currently yes except king)
@@ -185,10 +185,10 @@ export class Allmate2Rules extends ChessRules {
           this.kingPos[this.turn] = [-1, -1];
         // Or maybe a rook?
         else if (v.p == V.ROOK) {
-          if (v.y < this.INIT_COL_KING[v.c])
+          if (v.y < this.kingPos[v.c][1])
             this.castleFlags[v.c][0] = 8;
           else
-            // v.y > this.INIT_COL_KING[v.c]
+            // v.y > this.kingPos[v.c][1]
             this.castleFlags[v.c][1] = 8;
         }
       }
@@ -232,4 +232,5 @@ export class Allmate2Rules extends ChessRules {
     }
     return notation;
   }
+
 };