X-Git-Url: https://git.auder.net/assets/current/gitweb.js?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FShogi.js;h=1b2ba03a4c4f13a475065889936e7c74c583a9d4;hb=53814a101f5ca4e43939f9423d9c6469b158f55e;hp=082d93917c85a438fc271b736a57066b3063aa9c;hpb=e2f204eda8630746cb951889da01241b1e5f5733;p=vchess.git diff --git a/client/src/variants/Shogi.js b/client/src/variants/Shogi.js index 082d9391..1b2ba03a 100644 --- a/client/src/variants/Shogi.js +++ b/client/src/variants/Shogi.js @@ -11,6 +11,10 @@ export class ShogiRules extends ChessRules { return false; } + static get Monochrome() { + return true; + } + static IsGoodFen(fen) { if (!ChessRules.IsGoodFen(fen)) return false; const fenParsed = V.ParseFen(fen); @@ -372,6 +376,18 @@ export class ShogiRules extends ChessRules { ); } + getPotentialLanceMoves(sq) { + const forward = (this.turn == 'w' ? -1 : 1); + return this.getSlideNJumpMoves( + sq, + [[forward, 0]], + { + promote: V.P_LANCE, + force: true + } + ); + } + getPotentialRookMoves(sq) { return this.getSlideNJumpMoves( sq, V.steps[V.ROOK], { promote: V.P_ROOK }); @@ -382,12 +398,6 @@ export class ShogiRules extends ChessRules { sq, V.steps[V.BISHOP], { promote: V.P_BISHOP }); } - getPotentialLanceMoves(sq) { - const forward = (this.turn == 'w' ? -1 : 1); - return this.getSlideNJumpMoves( - sq, [[forward, 0]], { promote: V.P_LANCE }); - } - getPotentialDragonMoves(sq) { return ( this.getSlideNJumpMoves(sq, V.steps[V.ROOK]).concat(