if (V.HasEnpassant) {
const epSq =
parsedFen.enpassant != "-"
- ? V.SquareToCoords(parsedFen.enpassant)
+ ? this.getEpSquare(parsedFen.enpassant)
: undefined;
this.epSquares = [epSq];
}
const oppCol = V.GetOppCol(c);
let moves = [];
let i = 0;
+ // King, then rook:
const finalSquares = [
[2, 3],
[V.size.y - 2, V.size.y - 3]
- ]; //king, then rook
+ ];
castlingCheck: for (
let castleSide = 0;
castleSide < 2;
play(move) {
// DEBUG:
- // if (!this.states) this.states = [];
- // const stateFen = this.getBaseFen() + this.getTurnFen() + this.getFlagsFen();
- // this.states.push(stateFen);
+// if (!this.states) this.states = [];
+// const stateFen = this.getBaseFen() + this.getTurnFen() + this.getFlagsFen();
+// this.states.push(stateFen);
if (V.HasFlags) move.flags = JSON.stringify(this.aggregateFlags()); //save flags (for undo)
if (V.HasEnpassant) this.epSquares.push(this.getEpSquare(move));
this.unupdateVariables(move);
// DEBUG:
- // const stateFen = this.getBaseFen() + this.getTurnFen() + this.getFlagsFen();
- // if (stateFen != this.states[this.states.length-1]) debugger;
- // this.states.pop();
+// const stateFen = this.getBaseFen() + this.getTurnFen() + this.getFlagsFen();
+// if (stateFen != this.states[this.states.length-1]) debugger;
+// this.states.pop();
}
///////////////