X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fvariants%2FMagnetic.js;h=32279905ad00d01159eead1f1d52d7a251d89357;hb=b955c65b942d09d24b5c3bed0d755d4f2f8f71f1;hp=1ccc192ec0c9507793ed505767050261c168f520;hpb=388e4c401f05b1f6a4c54e33c9da9114969a53c0;p=vchess.git diff --git a/public/javascripts/variants/Magnetic.js b/public/javascripts/variants/Magnetic.js index 1ccc192e..32279905 100644 --- a/public/javascripts/variants/Magnetic.js +++ b/public/javascripts/variants/Magnetic.js @@ -139,22 +139,14 @@ 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) @@ -164,14 +156,14 @@ class MagneticRules extends ChessRules if (move.vanish.length >= 2 && move.vanish[1].p == V.KING) { // We took opponent king ! - const oppCol = this.getOppCol(c); + const oppCol = V.GetOppCol(c); this.kingPos[oppCol] = [-1,-1]; this.castleFlags[oppCol] = [false,false]; } // Did we magnetically move our (init) rooks or opponents' ones ? const firstRank = (c == "w" ? 7 : 0); const oppFirstRank = 7 - firstRank; - const oppCol = this.getOppCol(c); + const oppCol = V.GetOppCol(c); move.vanish.forEach(psq => { if (psq.x == firstRank && this.INIT_COL_ROOK[c].includes(psq.y)) this.castleFlags[c][psq.y==this.INIT_COL_ROOK[c][0] ? 0 : 1] = false; @@ -184,7 +176,7 @@ class MagneticRules extends ChessRules { super.unupdateVariables(move); const c = move.vanish[0].c; - const oppCol = this.getOppCol(c); + const oppCol = V.GetOppCol(c); if (this.kingPos[oppCol][0] < 0) { // Last move took opponent's king @@ -210,5 +202,3 @@ class MagneticRules extends ChessRules return 500; //checkmates evals may be slightly below 1000 } } - -const VariantRules = MagneticRules;