import ChessRules from "/base_rules.js";
+import {FenUtil} from "/utils/setupPieces.js";
export default class BalaklavaRules extends ChessRules {
pieces(color, x, y) {
let res = super.pieces(color, x, y);
- const knightSpec = res['n'];
+ const knightSpecMoves = res['n'].both;
delete res['n'];
res['m'] = {
"class": "mammoth",
}
]
};
- ['p', 'r', 'b', 'm', 'q'].forEach(p => res[p].moves = knightSpec.moves);
+ ['p', 'r', 'b', 'm', 'q'].forEach(p => {
+ if (!res[p].moves)
+ res[p].moves = [];
+ Array.prototype.push.apply(res[p].moves, knightSpecMoves);
+ });
return res;
}
genRandInitBaseFen() {
- const baseFen = super.genRandInitBaseFen();
+ const s = FenUtil.setupPieces(
+ ['r', 'm', 'b', 'q', 'k', 'b', 'm', 'r'],
+ {
+ randomness: this.options["randomness"],
+ diffCol: ['b']
+ }
+ );
return {
- fen: baseFen.fen.replace(/n/g, 'm').replace(/N/g, 'M'),
- o: baseFen.o
+ fen: s.b.join("") + "/pppppppp/8/8/8/8/PPPPPPPP/" +
+ s.w.join("").toUpperCase(),
+ o: {flags: s.flags}
};
}