}
getStunnedFen() {
- return (
- Object.keys(this.stunned)
- .map(square => square + this.stunned[square])
- .join(",")
- );
+ const squares = Object.keys(this.stunned);
+ if (squares.length == 0) return "-";
+ return squares.map(square => square + this.stunned[square]).join(",");
}
// Base GenRandInitFen() is fine because en-passant indicator will
this.INIT_COL_KING["w"] = k;
break;
default: {
- const num = parseInt(fenRows[i].charAt(j));
+ const num = parseInt(fenRows[i].charAt(j), 10);
if (!isNaN(num)) k += num - 1;
}
}
.map(s => {
return {
square: s.substr(0, 2),
- state: parseInt(s[2])
+ state: parseInt(s[2], 10)
};
});
}
m.appear[0].x = i;
m.appear[0].y = j;
// Is it a pawn on last rank?
- if ((color == 'w' && i == 0) || (color == 'b' && i == 7)) {
+ if (
+ m.appear[0].p == V.PAWN &&
+ ((color == 'w' && i == 0) || (color == 'b' && i == 7))
+ ) {
m.appear[0].p = V.ROOK;
for (let ppiece of [V.KNIGHT, V.BISHOP, V.QUEEN]) {
let mp = JSON.parse(JSON.stringify(m));