X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FCircular.js;h=5468dc5432644719fab3f1e6e46f21e7d7659f08;hp=d6b431f6f29a0777c99ce7dde6fed8931918cd00;hb=68e19a449db7a12e0a168e99cd750d985c983ba1;hpb=11589e7c4bb1b69473588d133db8b6d1d37b8fee diff --git a/client/src/variants/Circular.js b/client/src/variants/Circular.js index d6b431f6..5468dc54 100644 --- a/client/src/variants/Circular.js +++ b/client/src/variants/Circular.js @@ -180,25 +180,23 @@ export const VariantRules = class CircularRules extends ChessRules { }); } - isAttackedByPawn([x, y], colors) { - const pawnShift = 1; - const attackerRow = V.ComputeX(x + pawnShift); - for (let c of colors) { - for (let i of [-1, 1]) { - if ( - y + i >= 0 && - y + i < V.size.y && - this.getPiece(attackerRow, y + i) == V.PAWN && - this.getColor(attackerRow, y + i) == c - ) { - return true; - } + isAttackedByPawn([x, y], color) { + // pawn shift is always 1 (all pawns go the same way) + const attackerRow = V.ComputeX(x + 1); + for (let i of [-1, 1]) { + if ( + y + i >= 0 && + y + i < V.size.y && + this.getPiece(attackerRow, y + i) == V.PAWN && + this.getColor(attackerRow, y + i) == color + ) { + return true; } } return false; } - isAttackedBySlideNJump([x, y], colors, piece, steps, oneStep) { + isAttackedBySlideNJump([x, y], color, piece, steps, oneStep) { for (let step of steps) { let rx = V.ComputeX(x + step[0]), ry = y + step[1]; @@ -208,8 +206,8 @@ export const VariantRules = class CircularRules extends ChessRules { } if ( V.OnBoard(rx, ry) && - this.getPiece(rx, ry) === piece && - colors.includes(this.getColor(rx, ry)) + this.getPiece(rx, ry) == piece && + this.getColor(rx, ry) == color ) { return true; }