X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fvariants%2FLoser.js;h=9ae2e7fc299c63f7cdff04bf6a93ed39d3a198c4;hb=9234226104764b91df9d677fb360ad538b98510c;hp=0c484c128fde922b1201cc8806a26770e7f109da;hpb=a6abf094c35a26019e47fea21302c4be32ff030b;p=vchess.git diff --git a/public/javascripts/variants/Loser.js b/public/javascripts/variants/Loser.js index 0c484c12..9ae2e7fc 100644 --- a/public/javascripts/variants/Loser.js +++ b/public/javascripts/variants/Loser.js @@ -2,12 +2,15 @@ class LoserRules extends ChessRules { initVariables(fen) { - // No castling, hence no flags const epSq = this.moves.length > 0 ? this.getEpSquare(this.lastMove) : undefined; this.epSquares = [ epSq ]; } - setFlags(fen) { } + setFlags(fen) + { + // No castling, hence no flags; but flags defined for compatibility + this.castleFlags = { "w":[false,false], "b":[false,false] }; + } getPotentialPawnMoves([x,y]) { @@ -21,15 +24,20 @@ class LoserRules extends ChessRules const lastRank = (color == "w" ? 0 : sizeX-1); if (x+shift == lastRank) { - let p = V.KING; // Normal move if (this.board[x+shift][y] == V.EMPTY) - moves.push(this.getBasicMove([x,y], [x+shift,y], {c:color,p:p})); + moves.push(this.getBasicMove([x,y], [x+shift,y], {c:color,p:V.KING})); // Captures - if (y>0 && this.canTake([x,y], [x+shift,y-1]) && this.board[x+shift][y-1] != V.EMPTY) - moves.push(this.getBasicMove([x,y], [x+shift,y-1], {c:color,p:p})); - if (y0 && this.canTake([x,y], [x+shift,y-1]) + && this.board[x+shift][y-1] != V.EMPTY) + { + moves.push(this.getBasicMove([x,y], [x+shift,y-1], {c:color,p:V.KING})); + } + if (y