X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FCwda.js;h=a07672a1eedecaea5ed755bf5383e7b0107a4cc9;hb=902378e6276422d38b45f7d79282c2462f1124b1;hp=c0d36edde1c5285785122379d9479afba3ac37b2;hpb=4313762da3237b04f204e121a20cab3ba7bb5dd2;p=vchess.git diff --git a/client/src/variants/Cwda.js b/client/src/variants/Cwda.js index c0d36edd..a07672a1 100644 --- a/client/src/variants/Cwda.js +++ b/client/src/variants/Cwda.js @@ -304,13 +304,9 @@ export class CwdaRules extends ChessRules { } getPotentialN_knightMoves(sq) { - const backward = (this.turn == 'w' ? 1 : -1); - const kingSteps = [ - [0, -1], [0, 1], [backward, -1], [backward, 0], [backward, 1] - ]; return ( this.getSlideNJumpMoves(sq, V.steps.$n, 1).concat( - this.getSlideNJumpMoves(sq, kingSteps, 1)) + this.getSlideNJumpMoves(sq, V.steps.f, 1)) ); } @@ -445,13 +441,9 @@ export class CwdaRules extends ChessRules { } isAttackedByN_knight(sq, color) { - const backward = (color == 'w' ? -1 : 1); - const kingSteps = [ - [0, -1], [0, 1], [backward, -1], [backward, 0], [backward, 1] - ]; return ( - this.isAttackedBySlideNJump(sq, color, V.N_KNIGHT, V.steps.$n) || - this.isAttackedBySlideNJump(sq, color, V.N_KNIGHT, kingSteps, 1) + this.isAttackedBySlideNJump(sq, color, V.N_KNIGHT, V.steps.$n, 1) || + this.isAttackedBySlideNJump(sq, color, V.N_KNIGHT, V.steps.f, 1) ); } @@ -514,6 +506,20 @@ export class CwdaRules extends ChessRules { ); } + // [HACK] So that the function above works also on Fide army: + isAttackedByF_rook(sq, color) { + return super.isAttackedByRook(sq, color); + } + isAttackedByF_knight(sq, color) { + return super.isAttackedByKnight(sq, color); + } + isAttackedByF_bishop(sq, color) { + return super.isAttackedByBishop(sq, color); + } + isAttackedByF_queen(sq, color) { + return super.isAttackedByQueen(sq, color); + } + static get VALUES() { return Object.assign( {