From fa74f6247c0360fe49140c4d5f515a05c600499e Mon Sep 17 00:00:00 2001 From: Benjamin Auder <benjamin.auder@somewhere> Date: Wed, 22 Apr 2020 15:09:37 +0200 Subject: [PATCH] Fix Gridolina isAttacked() --- TODO | 4 ++++ client/src/variants/Chakart.js | 2 +- client/src/variants/Gridolina.js | 20 ++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 886aaf38..3c6a3ac6 100644 --- a/TODO +++ b/TODO @@ -10,6 +10,10 @@ https://www.chessvariants.com/crossover.dir/koopachess.html --> Can a stunned piece capture? Maybe not. ...recover? After 5 moves? Never? + Chakart :) +Name ? +you need to win all the pawns to win the game +kings are not royal + https://www.chessvariants.com/diffmove.dir/checkers.html --> "Forward" in 1974 by Hans Multhopp diff --git a/client/src/variants/Chakart.js b/client/src/variants/Chakart.js index a1caed45..8c0a837d 100644 --- a/client/src/variants/Chakart.js +++ b/client/src/variants/Chakart.js @@ -32,7 +32,7 @@ export class ChakartRules extends ChessRules { // dessus une pièce immédiatement adjacente (en atterissant juste derrière). } - // Coups en 2 temps (si pose) + // Coups en 2 temps (si pose possible) getPotentialRookMoves(sq) { //Donkey : tour // pose une banane (optionnel) sur une case adjacente (diagonale) à celle d'arrivée diff --git a/client/src/variants/Gridolina.js b/client/src/variants/Gridolina.js index fd43be3f..797190cd 100644 --- a/client/src/variants/Gridolina.js +++ b/client/src/variants/Gridolina.js @@ -34,4 +34,24 @@ export class GridolinaRules extends BerolinaRules { }) ); } + + isAttackedBySlideNJump([x, y], color, piece, steps, oneStep) { + for (let step of steps) { + let rx = x + step[0], + ry = y + step[1]; + while (V.OnBoard(rx, ry) && this.board[rx][ry] == V.EMPTY && !oneStep) { + rx += step[0]; + ry += step[1]; + } + if ( + V.OnBoard(rx, ry) && + this.getPiece(rx, ry) == piece && + this.getColor(rx, ry) == color && + V.OnDifferentGrids([x, y], [rx, ry]) + ) { + return true; + } + } + return false; + } }; -- 2.44.0