X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=variants%2FAntiking1%2Fclass.js;h=4ef66f2a817569021dd7abadd28be7290d4eb354;hb=HEAD;hp=9b8af78ecd41905b98d7f8d92da77c33419d6628;hpb=f3e90e30b6e7ff416afe288bc9dd865e5daf9860;p=xogo.git diff --git a/variants/Antiking1/class.js b/variants/Antiking1/class.js index 9b8af78..c625e89 100644 --- a/variants/Antiking1/class.js +++ b/variants/Antiking1/class.js @@ -1,5 +1,6 @@ import ChessRules from "/base_rules.js"; import AbstractAntikingRules from "/variants/_Antiking/class.js"; +import BerolinaPawnSpec from "/variants/_Berolina/pawnSpec.js"; export default class Antiking1Rules extends AbstractAntikingRules { @@ -11,45 +12,36 @@ export default class Antiking1Rules extends AbstractAntikingRules { } pieces(color, x, y) { - const pawnShift = (color == "w" ? -1 : 1); let res = super.pieces(color, x, y); - res['p'].moves = [ - { - steps: [[pawnShift, 1], [pawnShift, -1]], - range: 1 - } - ]; - res['p'].attack = [ - { - steps: [[pawnShift, 0]], - range: 1 - } - ]; + res['p'] = BerolinaPawnSpec(color); //no 2-squares moves return res; } - genRandInitFen() { + genRandInitBaseFen() { // Always deterministic setup - return ( - '2prbkqA/2p1nnbr/2pppppp/8/8/PPPPPP2/RBNN1P2/aQKBRP2 w 0 ' + - '{"flags":"KAka"}' - ); + return { + fen: "2prbkqA/2p1nnbr/2pppppp/8/8/PPPPPP2/RBNN1P2/aQKBRP2", + o: {"flags": "KAka"} + }; } // (Anti)King flags at 1 (true) if they can knight-jump - setFlags(fenFlags) { + setFlags(fenflags) { this.kingFlags = { w: {}, b: {} }; - for (let i=0; i Object.keys(this.kingFlags[c])) + Array.prototype.concat.apply([], + ['w', 'b'].map(c => { + const res = Object.keys(this.kingFlags[c]).join(""); + return (c == 'w' ? res.toUpperCase() : res); + }) ).join("") ); }