return super.getFen() + " " + this.getCapturedFen();
}
+ getFenForRepeat() {
+ return super.getFenForRepeat() + "_" + this.getCapturedFen();
+ }
+
getCapturedFen() {
let counts = [...Array(14).fill(0)];
let i = 0;
return 2;
}
- static GenRandInitFen() {
+ static GenRandInitFen(randomness) {
+ if (randomness == 0) {
+ // No castling in the official initial setup
+ return "r8r/1nbqkmcbn1/pppppppppp/10/10/10/10/PPPPPPPPPP/1NBQKMCBN1/R8R " +
+ "w 0 0000 - 00000000000000";
+ }
+
let pieces = { w: new Array(10), b: new Array(10) };
// Shuffle pieces on first and last rank
for (let c of ["w", "b"]) {
+ if (c == 'b' && randomness == 1) {
+ pieces['b'] = pieces['w'];
+ break;
+ }
+
let positions = ArrayFun.range(10);
// Get random squares for bishops