Remove some redundant code [Checkered/Magnetic still buggish]
[vchess.git] / public / javascripts / variants / Atomic.js
index d86ed0e..2b7b1ac 100644 (file)
@@ -72,7 +72,7 @@ class AtomicRules extends ChessRules
                                && Math.abs(this.kingPos[c][1]-move.end.y) <= 1)
                        {
                                this.kingPos[c] = [-1,-1];
-                               this.flags[c] = [false,false];
+                               this.castleFlags[c] = [false,false];
                        }
 
                        // Did we explode opponent king ?
@@ -80,7 +80,7 @@ class AtomicRules extends ChessRules
                                && Math.abs(this.kingPos[oppCol][1]-move.end.y) <= 1)
                        {
                                this.kingPos[oppCol] = [-1,-1];
-                               this.flags[oppCol] = [false,false];
+                               this.castleFlags[oppCol] = [false,false];
                        }
                        else
                        {
@@ -88,9 +88,9 @@ class AtomicRules extends ChessRules
                                if (Math.abs(move.end.x-oppFirstRank) <= 1)
                                {
                                        if (Math.abs(move.end.y-this.INIT_COL_ROOK[oppCol][0]) <= 1)
-                                               this.flags[oppCol][0] = false;
+                                               this.castleFlags[oppCol][0] = false;
                                        if (Math.abs(move.end.y-this.INIT_COL_ROOK[oppCol][1]) <= 1)
-                                               this.flags[oppCol][1] = false;
+                                               this.castleFlags[oppCol][1] = false;
                                }
                        }
                }
@@ -134,13 +134,14 @@ class AtomicRules extends ChessRules
        getCheckSquares(move)
        {
                const c = this.getOppCol(this.turn);
-               const saveKingPos = this.kingPos[c]; //king might explode
+               // King might explode:
+               const saveKingPos = JSON.parse(JSON.stringify(this.kingPos[c]));
                this.play(move);
                let res = [ ];
                if (this.kingPos[c][0] < 0)
                        res = [saveKingPos];
                else if (this.isAttacked(this.kingPos[c], this.getOppCol(c)))
-                       res = [ this.kingPos[c] ]
+                       res = [ JSON.parse(JSON.stringify(this.kingPos[c])) ]
                this.undo(move);
                return res;
        }