this.castleFlags[c][flagIdx] = false;
}
else if (move.end.x == oppFirstRank //we took opponent rook?
- && this.INIT_COL_ROOK[c].includes(move.end.y))
+ && this.INIT_COL_ROOK[oppCol].includes(move.end.y))
{
const flagIdx = (move.end.y == this.INIT_COL_ROOK[oppCol][0] ? 0 : 1);
this.castleFlags[oppCol][flagIdx] = false;
play(move, ingame)
{
- console.log("AVANT " + this.getNotation(move) + " " + this.board[1][5]);
if (!!ingame)
move.notation = this.getNotation(move);
this.moves.pop();
this.unupdateVariables(move);
this.parseFlags(JSON.parse(move.flags));
- console.log("APRES " + this.getNotation(move) + " " + this.board[1][5]);
}
//////////////
// Context: just before move is played, turn hasn't changed
getNotation(move)
{
- if (move.appear.length == 2)
+ if (move.appear.length == 2 && move.appear[0].p == VariantRules.KING)
{
// Castle
if (move.end.y < move.start.y)
{
// Pawn move
let notation = "";
- if (move.vanish.length > 1)
+ if (move.vanish.length > move.appear.length)
{
// Capture
let startColumn = String.fromCharCode(97 + move.start.y);