X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fvariants%2FMagnetic.js;h=7b0d096ced0410205ee95c5949ecd70a0ac157f7;hb=f6dbe8e31a3260487664f1e0b50710b3f3efaf5f;hp=8480d7994a39312b8d9ecbf8a0ae33013a396b1e;hpb=375ecdd1387e729f85ed114e82253469e4849869;p=vchess.git diff --git a/public/javascripts/variants/Magnetic.js b/public/javascripts/variants/Magnetic.js index 8480d799..7b0d096c 100644 --- a/public/javascripts/variants/Magnetic.js +++ b/public/javascripts/variants/Magnetic.js @@ -139,31 +139,21 @@ class MagneticRules extends ChessRules return true; //TODO: is it right? } - underCheck(move) + underCheck(color) { return false; //there is no check } getCheckSquares(move) { - const c = this.getOppCol(this.turn); //opponent - const saveKingPos = this.kingPos[c]; //king might be taken - this.play(move); - // The only way to be "under check" is to have lost the king (thus game over) - let res = this.kingPos[c][0] < 0 - ? [JSON.parse(JSON.stringify(saveKingPos))] - : []; - this.undo(move); - return res; + return []; } updateVariables(move) { super.updateVariables(move); - const c = this.getColor(move.start.x,move.start.y); - if (this.board[move.end.x][move.end.y] != V.EMPTY - && c != this.getColor(move.end.x,move.end.y) - && this.getPiece(move.end.x,move.end.y) == V.KING) + const c = move.vanish[0].c; + if (move.vanish.length >= 2 && move.vanish[1].p == V.KING) { // We took opponent king ! const oppCol = this.getOppCol(c); @@ -185,7 +175,7 @@ class MagneticRules extends ChessRules unupdateVariables(move) { super.unupdateVariables(move); - const c = this.getColor(move.start.x,move.start.y); + const c = move.vanish[0].c; const oppCol = this.getOppCol(c); if (this.kingPos[oppCol][0] < 0) {