X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FParachute.js;h=631301c959f34f1caba4fb6ce51383ea74e4ac26;hb=7e8a7ea1cb66adb4a987badfb0a3c2f99a21bd0a;hp=86b1ce84f5fedb2b6195b73cc0ea374ae4f9ef07;hpb=94b9fcef82470199f97b216fd53e6e57a13295c4;p=vchess.git diff --git a/client/src/variants/Parachute.js b/client/src/variants/Parachute.js index 86b1ce84..631301c9 100644 --- a/client/src/variants/Parachute.js +++ b/client/src/variants/Parachute.js @@ -1,6 +1,7 @@ import { ChessRules, PiPo, Move } from "@/base_rules"; export class ParachuteRules extends ChessRules { + static get HasFlags() { return false; } @@ -23,7 +24,7 @@ export class ParachuteRules extends ChessRules { for (let i = 0; i < row.length; i++) { if (V.PIECES.includes(row[i].toLowerCase())) sumElts++; else { - const num = parseInt(row[i]); + const num = parseInt(row[i], 10); if (isNaN(num)) return false; sumElts += num; } @@ -65,24 +66,25 @@ export class ParachuteRules extends ChessRules { setOtherVariables(fen) { super.setOtherVariables(fen); - const fenParsed = V.ParseFen(fen); // Also init reserves (used by the interface to show landable pieces) + const reserve = + V.ParseFen(fen).reserve.split("").map(x => parseInt(x, 10)); this.reserve = { w: { - [V.PAWN]: parseInt(fenParsed.reserve[0]), - [V.ROOK]: parseInt(fenParsed.reserve[1]), - [V.KNIGHT]: parseInt(fenParsed.reserve[2]), - [V.BISHOP]: parseInt(fenParsed.reserve[3]), - [V.QUEEN]: parseInt(fenParsed.reserve[4]), - [V.KING]: parseInt(fenParsed.reserve[5]) + [V.PAWN]: reserve[0], + [V.ROOK]: reserve[1], + [V.KNIGHT]: reserve[2], + [V.BISHOP]: reserve[3], + [V.QUEEN]: reserve[4], + [V.KING]: reserve[5] }, b: { - [V.PAWN]: parseInt(fenParsed.reserve[6]), - [V.ROOK]: parseInt(fenParsed.reserve[7]), - [V.KNIGHT]: parseInt(fenParsed.reserve[8]), - [V.BISHOP]: parseInt(fenParsed.reserve[9]), - [V.QUEEN]: parseInt(fenParsed.reserve[10]), - [V.KING]: parseInt(fenParsed.reserve[11]) + [V.PAWN]: reserve[6], + [V.ROOK]: reserve[7], + [V.KNIGHT]: reserve[8], + [V.BISHOP]: reserve[9], + [V.QUEEN]: reserve[10], + [V.KING]: reserve[11] } }; } @@ -233,4 +235,5 @@ export class ParachuteRules extends ChessRules { move.appear[0].p != V.PAWN ? move.appear[0].p.toUpperCase() : ""; return piece + "@" + V.CoordsToSquare(move.end); } + };