X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fvariants%2FAtomic.js;h=2b7b1ac343693c7f13cde637265f7f3e181086b0;hb=2526c041baf44968b0aa7b98af56730e88f6a595;hp=d86ed0e113f3e32d8332e3f65137eee99451f8b9;hpb=46302e643947a66a5593a8eb1140d314effcea95;p=vchess.git diff --git a/public/javascripts/variants/Atomic.js b/public/javascripts/variants/Atomic.js index d86ed0e1..2b7b1ac3 100644 --- a/public/javascripts/variants/Atomic.js +++ b/public/javascripts/variants/Atomic.js @@ -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; }