X-Git-Url: https://git.auder.net/?a=blobdiff_plain;ds=sidebyside;f=public%2Fjavascripts%2Fvariants%2FMagnetic.js;h=ec2c975207d176d2edbff4e98ac8442f136b778c;hb=9d218497ab97bc0e94ec4c1f0a40cf02df3ea0d4;hp=d1436c0f3ea4cb66623970d982423d004959bfa1;hpb=f6cc7faf4301dc4a7ae5bb07f16403f280beddc3;p=vchess.git diff --git a/public/javascripts/variants/Magnetic.js b/public/javascripts/variants/Magnetic.js index d1436c0f..ec2c9752 100644 --- a/public/javascripts/variants/Magnetic.js +++ b/public/javascripts/variants/Magnetic.js @@ -112,7 +112,8 @@ class MagneticRules extends ChessRules // Scan move for pawn (max 1) on 8th rank for (let i=1; i { + 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; + else if (psq.x == oppFirstRank && this.INIT_COL_ROOK[oppCol].includes(psq.y)) + this.castleFlags[oppCol][psq.y==this.INIT_COL_ROOK[oppCol][0] ? 0 : 1] = false; + }); } unupdateVariables(move) @@ -194,22 +206,13 @@ class MagneticRules extends ChessRules } } - checkGameOver() - { - if (this.checkRepetition()) - return "1/2"; - - const color = this.turn; - // TODO: do we need "atLeastOneMove()"? - if (this.atLeastOneMove() && this.kingPos[color][0] >= 0) - return "*"; - - return this.checkGameEnd(); - } - checkGameEnd() { // No valid move: our king disappeared return this.turn == "w" ? "0-1" : "1-0"; } + + static get THRESHOLD_MATE() { + return 500; //checkmates evals may be slightly below 1000 + } }