return b;
}
- // TODO: maybe changes could be done to this method to show "empty"
- // instead of a piece to not use a pocket piece...
-// getPPpath(b) { }
-
static IsGoodFen(fen) {
if (!ChessRules.IsGoodFen(fen)) return false;
const fenParsed = V.ParseFen(fen);
setFlags(fenflags) {
super.setFlags(fenflags); //castleFlags
this.pieceFlags = {
- w: [...Array(8)], //pawns can move 2 squares?
+ w: [...Array(8)], //pieces can generate Hawk or Elephant?
b: [...Array(8)]
};
const flags = fenflags.substr(4); //skip first 4 letters, for castle
}
shift = (m.appear[0].p == V.NOTHING ? 1 : 0);
if (
- m.appear.length >= 2 &&
+ m.appear.length >= 2 + shift &&
m.vanish.length == 2 &&
![m.appear[shift].y, m.appear[shift+1].y].includes(m.vanish[1].y)
) {
}
this.updateCastleFlags(move, piece);
- const oppCol = V.GetOppCol(color);
+ const oppCol = this.turn;
const firstRank = (color == 'w' ? 7 : 0);
const oppFirstRank = 7 - firstRank;
// Does this move turn off a piece init square flag?