import { randInt } from "@/utils/alea";
export class SwapRules extends ChessRules {
+
setOtherVariables(fen) {
super.setOtherVariables(fen);
// Local stack of swaps
}
getPPpath(m) {
- if (m.vanish.length == 1) return super.getPPpath(m);
+ if (m.appear.length == 1) return super.getPPpath(m);
// Swap promotion:
return m.appear[1].c + m.appear[1].p;
}
const color = this.turn;
const piece = this.getPiece(x, y);
const addSmoves = (i, j) => {
- if (this.getPiece(i, j) != piece)
+ if (this.getPiece(i, j) != piece || this.getColor(i, j) != color)
Array.prototype.push.apply(moves, this.getSwapMoves([x, y], [i, j]));
};
switch (piece) {
// Swap
return "S" + V.CoordsToSquare(move.start) + V.CoordsToSquare(move.end);
}
+
};