}
getFenForRepeat() {
- return (
- this.getBaseFen() + "_" +
- this.getTurnFen() + "_" +
- this.getFlagsFen() + "_" +
- this.getEnpassantFen() + "_" +
- this.getCapturedFen()
- );
+ return super.getFenForRepeat() + "_" + this.getCapturedFen();
}
getCapturedFen() {
);
}
- updateVariables(move) {
- super.updateVariables(move);
+ postPlay(move) {
+ super.postPlay(move);
if (move.vanish.length == 2 && move.appear.length == 1) {
// Capture: update this.captured
this.captured[move.vanish[1].c][move.vanish[1].p]++;
}
}
- unupdateVariables(move) {
- super.unupdateVariables(move);
+ postUndo(move) {
+ super.postUndo(move);
if (move.vanish.length == 2 && move.appear.length == 1)
this.captured[move.vanish[1].c][move.vanish[1].p]--;
if (move.vanish[0].p != move.appear[0].p)
static GenRandInitFen(randomness) {
if (randomness == 0) {
- return "rnbqkmcbnr/pppppppppp/10/10/10/10/10/10/PPPPPPPPPP/RNBQKMCBNR " +
- "w 0 1111 - 00000000000000";
+ // No castling in the official initial setup
+ return "r8r/1nbqkmcbn1/pppppppppp/10/10/10/10/PPPPPPPPPP/1NBQKMCBN1/R8R " +
+ "w 0 zzzz - 00000000000000";
}
let pieces = { w: new Array(10), b: new Array(10) };