X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FJanggi.js;h=aecc8fe2fd859784bf865794b88609c04add57e4;hb=b2e8c34e0158f512741d67b8a1c25425e0b8747e;hp=895e23ff06ce136ffbd2fcf3b8767a8873ae401e;hpb=ac4e2cabce7a0faeceaa646d31721161bd4a8cf4;p=vchess.git diff --git a/client/src/variants/Janggi.js b/client/src/variants/Janggi.js index 895e23ff..aecc8fe2 100644 --- a/client/src/variants/Janggi.js +++ b/client/src/variants/Janggi.js @@ -35,10 +35,6 @@ export class JanggiRules extends ChessRules { return false; } - static get LoseOnRepetition() { - return true; - } - static get ELEPHANT() { return "e"; } @@ -56,7 +52,7 @@ export class JanggiRules extends ChessRules { } getPpath(b) { - return "Jiangqi/" + b; + return "Janggi/" + b; } static get size() { @@ -110,9 +106,14 @@ export class JanggiRules extends ChessRules { // TODO: next "if" is mutually exclusive with the block above if (this.movesCount <= 1) { const firstRank = (this.movesCount == 0 ? 9 : 0); - const [initFile, destFile] = (this.subTurn == 1 ? [1, 2] : [7, 6]); - // Only option is knight / elephant swap: - if (x == firstRank && y == initFile) { + const initDestFile = new Map([[1, 2], [7, 6]]); + // Only option is knight --> elephant swap: + if ( + x == firstRank && + !!initDestFile.get(y) && + this.getPiece(x, y) == V.KNIGHT + ) { + const destFile = initDestFile.get(y); moves.push( new Move({ appear: [