X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fvariants%2FCheckered.js;fp=public%2Fjavascripts%2Fvariants%2FCheckered.js;h=814d91b8ce10ee30e73c7cd7bd59173deb7db9ca;hb=2316f8b8248589effc756d5c09c73a1acb431574;hp=019e1e2c5c11aeafdc277e2b8d04ed7e93a42e52;hpb=3ad85eac7975eef019f2883fe0be19ed4a646387;p=vchess.git diff --git a/public/javascripts/variants/Checkered.js b/public/javascripts/variants/Checkered.js index 019e1e2c..814d91b8 100644 --- a/public/javascripts/variants/Checkered.js +++ b/public/javascripts/variants/Checkered.js @@ -76,10 +76,15 @@ class CheckeredRules extends ChessRules return standardMoves; //king has to be treated differently (for castles) let moves = []; standardMoves.forEach(m => { - if (m.vanish[0].p == VariantRules.PAWN && Math.abs(m.end.x-m.start.x)==2 - && !this.pawnFlags[this.turn][m.start.y]) + if (m.vanish[0].p == VariantRules.PAWN) { - return; //skip forbidden 2-squares jumps + if (Math.abs(m.end.x-m.start.x)==2 && !this.pawnFlags[this.turn][m.start.y]) + return; //skip forbidden 2-squares jumps + if (this.board[m.end.x][m.end.y] == VariantRules.EMPTY + && m.vanish.length==2 && this.getColor(m.start.x,m.start.y) == 'c') + { + return; //checkered pawns cannot take en-passant + } } if (m.vanish.length == 1) moves.push(m); //no capture