From: Benjamin Auder Date: Thu, 18 Feb 2021 17:46:04 +0000 (+0100) Subject: Fix Pandemonium pawn moves X-Git-Url: https://git.auder.net/%7B%7B%20path%28%27mixstore_store_package_upsert%27%29%20%7D%7D?a=commitdiff_plain;h=4cf77a102880d53b242a972b7eaa43e75ba9c338;p=vchess.git Fix Pandemonium pawn moves --- diff --git a/client/src/variants/Pandemonium.js b/client/src/variants/Pandemonium.js index 496e2870..bb614ec3 100644 --- a/client/src/variants/Pandemonium.js +++ b/client/src/variants/Pandemonium.js @@ -7,10 +7,7 @@ export class PandemoniumRules extends ChessRules { return Object.assign( {}, ChessRules.PawnSpecs, - { - threeSquares: true, - promotions: [V.GILDING] - } + { promotions: [V.GILDING] } ); } @@ -373,17 +370,17 @@ export class PandemoniumRules extends ChessRules { getPotentialPawnMoves([x, y]) { const color = this.turn; - const shiftX = V.PawnSpecs.directions[color]; + const shiftX = (color == 'w' ? -1 : 1); let moves = []; if (this.board[x + shiftX][y] == V.EMPTY) { this.addPawnMoves([x, y], [x + shiftX, y], moves); - if ((color == 'w' && x >= V.size.x - 3) || (color == 'b' && x <= 3)) { + if ((color == 'w' && x >= V.size.x - 3) || (color == 'b' && x <= 2)) { if (this.board[x + 2 * shiftX][y] == V.EMPTY) { moves.push(this.getBasicMove([x, y], [x + 2 * shiftX, y])); if ( ( - (color == 'w' && x >= V.size.x - 2) || - (color == 'b' && x <= 2) + (color == 'w' && x == V.size.x - 2) || + (color == 'b' && x == 1) ) && this.board[x + 3 * shiftX][y] == V.EMPTY