// 6) Check promoted array
if (!fenParsed.promoted)
return false;
- fenpromoted = fenParsed.promoted;
- if (fenpromoted == "-")
+ if (fenParsed.promoted == "-")
return true; //no promoted piece on board
- const squares = fenpromoted.split(",");
+ const squares = fenParsed.promoted.split(",");
for (let square of squares)
{
const c = V.SquareToCoords(square);
return Object.assign(
ChessRules.ParseFen(fen),
{
- reserve: fenParts[4],
- promoted: fenParts[5],
+ reserve: fenParts[5],
+ promoted: fenParts[6],
}
);
}
getReserveFen()
{
- let counts = _.map(_.range(10), 0);
- for (let i=0; i<V.PIECES.length; i++)
+ let counts = new Array(10);
+ for (let i=0; i<V.PIECES.length-1; i++) //-1: no king reserve
{
counts[i] = this.reserve["w"][V.PIECES[i]];
counts[5+i] = this.reserve["b"][V.PIECES[i]];
super.updateVariables(move);
if (move.vanish.length == 2 && move.appear.length == 2)
return; //skip castle
- const color = this.turn;
+ const color = move.appear[0].c;
if (move.vanish.length == 0)
{
this.reserve[color][move.appear[0].p]--;
return "@" + V.CoordsToSquare(move.end);
}
}
-
-const VariantRules = CrazyhouseRules;