X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FMadrasi.js;h=e16d78f564ebf9e7c76d772a796f0972fd9ad523;hb=89a6214b27561878670914a65902aa51682efe61;hp=54c1862bede629121975a761b72e660303699a32;hpb=107dc1bd5361e2538b1551bdcc37c1e90a444b83;p=vchess.git diff --git a/client/src/variants/Madrasi.js b/client/src/variants/Madrasi.js index 54c1862b..e16d78f5 100644 --- a/client/src/variants/Madrasi.js +++ b/client/src/variants/Madrasi.js @@ -1,8 +1,9 @@ import { ChessRules } from "@/base_rules"; export class MadrasiRules extends ChessRules { + isImmobilized(sq) { - const oppCol = V.GetOppCol(this.turn); + const oppCol = V.GetOppCol(this.getColor(sq[0], sq[1])); const piece = this.getPiece(sq[0], sq[1]); let steps = []; switch (piece) { @@ -24,8 +25,8 @@ export class MadrasiRules extends ChessRules { steps = V.steps[V.ROOK].concat(V.steps[V.BISHOP]); break; } - return super.isAttackedBySlideNJump( - sq, oppCol, piece, steps, [V.KING, V.PAWN, V.KNIGHT].includes(piece)) + const nbSteps = [V.KING, V.PAWN, V.KNIGHT].includes(piece) ? 1 : null; + return super.isAttackedBySlideNJump(sq, oppCol, piece, steps, nbSteps); } getPotentialMovesFrom([x, y]) { @@ -61,4 +62,5 @@ export class MadrasiRules extends ChessRules { // Connected kings paralyze each other return false; } + };