X-Git-Url: https://git.auder.net/?p=xogo.git;a=blobdiff_plain;f=variants%2FAlign4%2Fclass.js;h=b2683aa1e5ff6f0bb6d180ae872a0ea98c9ebe57;hp=b7b0c4a6fd43ed343d8baf3bbbbede78211d3f2f;hb=fc12475fd434835816796ece83d93341af6c1550;hpb=4cec374b0172e0888aa2fa33283ad72210be6e56 diff --git a/variants/Align4/class.js b/variants/Align4/class.js index b7b0c4a..b2683aa 100644 --- a/variants/Align4/class.js +++ b/variants/Align4/class.js @@ -26,23 +26,20 @@ export default class Align4Rules extends ChessRules { genRandInitFen(seed) { const baseFen = super.genRandInitFen(seed); - return "4k3/8" + baseFen.substring(17, 50) + " -"; //TODO: + flags 1188 + const fen = baseFen.replace("rnbqkbnr/pppppppp", "4k3/8"); + const fenParts = baseFen.split(" "); + let others = JSON.parse(fenParts[3]); + others["flags"] = others["flags"].substr(0, 2) + "88"; + return fenParts.slice(0, 3).join(" ") + " " + JSON.stringify(others); } - setOtherVariables(fenParsed) { - super.setOtherVariables(fenParsed); + initReserves() { this.reserve = { b: { p: 1 } }; } // Just do not update any reserve (infinite supply) updateReserve() {} - getCastleMoves([x, y]) { - if (this.GetColor(x, y) == 'b') - return []; - return super.getCastleMoves([x, y]); - } - getCurrentScore(move) { const score = super.getCurrentScore(move); if (score != "*")