From: Benjamin Auder Date: Thu, 18 Mar 2021 22:37:50 +0000 (+0100) Subject: Fix Shinobi: no captain in hand X-Git-Url: https://git.auder.net/doc/html/assets/current/%7B%7B%20targetUrl%20%7D%7D?a=commitdiff_plain;h=5199c0d85710470f06e23572b360a87517dabf3c;p=vchess.git Fix Shinobi: no captain in hand --- diff --git a/client/src/variants/Shinobi.js b/client/src/variants/Shinobi.js index babf6e19..8afe6fc7 100644 --- a/client/src/variants/Shinobi.js +++ b/client/src/variants/Shinobi.js @@ -60,7 +60,7 @@ export class ShinobiRules extends ChessRules { if (!ChessRules.IsGoodFen(fen)) return false; const fenParsed = V.ParseFen(fen); // 5) Check reserve - if (!fenParsed.reserve || !fenParsed.reserve.match(/^[0-9]{6,6}$/)) + if (!fenParsed.reserve || !fenParsed.reserve.match(/^[0-9]{5,5}$/)) return false; return true; } @@ -73,12 +73,12 @@ export class ShinobiRules extends ChessRules { ); } - // In hand initially: captain, ninja, samurai + 2 x monk, horse, lance. + // In hand initially: ninja, samurai + 2 x monk, horse, lance. static GenRandInitFen(randomness) { const baseFen = ChessRules.GenRandInitFen(Math.min(randomness, 1)); return ( baseFen.substr(0, 35) + "3CK3 " + - "w 0 " + baseFen.substr(48, 2) + " - 111222" + "w 0 " + baseFen.substr(48, 2) + " - 11222" ); } @@ -101,12 +101,11 @@ export class ShinobiRules extends ChessRules { V.ParseFen(fen).reserve.split("").map(x => parseInt(x, 10)); this.reserve = { w: { - [V.CAPTAIN]: reserve[0], - [V.NINJA]: reserve[1], - [V.SAMURAI]: reserve[2], - [V.MONK]: reserve[3], - [V.HORSE]: reserve[4], - [V.LANCE]: reserve[5] + [V.NINJA]: reserve[0], + [V.SAMURAI]: reserve[1], + [V.MONK]: reserve[2], + [V.HORSE]: reserve[3], + [V.LANCE]: reserve[4] } }; } @@ -122,7 +121,7 @@ export class ShinobiRules extends ChessRules { } static get RESERVE_PIECES() { - return [V.CAPTAIN, V.NINJA, V.SAMURAI, V.MONK, V.HORSE, V.LANCE]; + return [V.NINJA, V.SAMURAI, V.MONK, V.HORSE, V.LANCE]; } getReserveMoves([x, y]) {