Fix Progressive2. Fixing attempt on Doublemove1
[vchess.git] / client / src / variants / Coregal.js
index 2e49407..198cbfb 100644 (file)
@@ -37,7 +37,7 @@ export class CoregalRules extends ChessRules {
             this.kingPos["w"] = [i, k];
             break;
           default: {
-            const num = parseInt(fenRows[i].charAt(j));
+            const num = parseInt(fenRows[i].charAt(j), 10);
             if (!isNaN(num)) k += num - 1;
           }
         }
@@ -46,7 +46,8 @@ export class CoregalRules extends ChessRules {
     }
   }
 
-  getCheckSquares(color) {
+  getCheckSquares() {
+    const color = this.turn;
     let squares = [];
     const oppCol = V.GetOppCol(color);
     if (this.isAttacked(this.kingPos[color], oppCol))
@@ -122,8 +123,10 @@ export class CoregalRules extends ChessRules {
         if (!!bishop1Options[pos]) delete bishop1Options[pos];
         else if (!!bishop2Options[pos]) delete bishop2Options[pos];
       });
-      const bishop1Pos = parseInt(sample(Object.keys(bishop1Options), 1)[0]);
-      const bishop2Pos = parseInt(sample(Object.keys(bishop2Options), 1)[0]);
+      const bishop1Pos =
+        parseInt(sample(Object.keys(bishop1Options), 1)[0], 10);
+      const bishop2Pos =
+        parseInt(sample(Object.keys(bishop2Options), 1)[0], 10);
 
       // Knights' positions are now determined
       const forbidden = [
@@ -140,8 +143,8 @@ export class CoregalRules extends ChessRules {
       pieces[c][bishop2Pos] = "b";
       pieces[c][knight2Pos] = "n";
       pieces[c][rook2Pos] = "r";
-      flags +=
-        [rook1Pos, queenPos, kingPos, rook2Pos].sort().map(V.CoordToColumn).join("");
+      flags += [rook1Pos, queenPos, kingPos, rook2Pos]
+        .sort().map(V.CoordToColumn).join("");
     }
     // Add turn + flags + enpassant
     return (
@@ -235,8 +238,18 @@ export class CoregalRules extends ChessRules {
       moves.push(
         new Move({
           appear: [
-            new PiPo({ x: x, y: finalSquares[castleSide][0], p: castlingPiece, c: c }),
-            new PiPo({ x: x, y: finalSquares[castleSide][1], p: V.ROOK, c: c })
+            new PiPo({
+              x: x,
+              y: finalSquares[castleSide][0],
+              p: castlingPiece,
+              c: c
+            }),
+            new PiPo({
+              x: x,
+              y: finalSquares[castleSide][1],
+              p: V.ROOK,
+              c: c
+            })
           ],
           vanish: [
             new PiPo({ x: x, y: y, p: castlingPiece, c: c }),
@@ -292,7 +305,8 @@ export class CoregalRules extends ChessRules {
       this.castleFlags[c][flagIdx] = 8;
     } else if (
       move.end.x == oppFirstRank && //we took opponent rook?
-      [this.castleFlags[oppCol][0], this.castleFlags[oppCol][3]].includes(move.end.y)
+      [this.castleFlags[oppCol][0], this.castleFlags[oppCol][3]]
+        .includes(move.end.y)
     ) {
       const flagIdx = (move.end.y == this.castleFlags[oppCol][0] ? 0 : 3);
       this.castleFlags[oppCol][flagIdx] = 8;