X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FHorde.js;h=c436811b0f457fb7e26fab88b44d1ecfc0adf607;hb=e50a802531b99829c533f22ecd21e359e7e1e049;hp=e61803b3d480664419134da6c880779caa5ed7e0;hpb=f9385686d9434c607cdaa55e41a0425269db0815;p=vchess.git diff --git a/client/src/variants/Horde.js b/client/src/variants/Horde.js index e61803b3..c436811b 100644 --- a/client/src/variants/Horde.js +++ b/client/src/variants/Horde.js @@ -24,7 +24,7 @@ export class HordeRules extends ChessRules { } sumElts++; } else { - const num = parseInt(row[i]); + const num = parseInt(row[i], 10); if (isNaN(num)) return false; sumElts += num; } @@ -39,13 +39,27 @@ export class HordeRules extends ChessRules { if (randomness == 2) randomness--; const fen = ChessRules.GenRandInitFen(randomness); return ( - // 27 first chars are 3 rows + 3 slashes - fen.substr(0, 27) + // 20 first chars are 3 rows + 3 slashes + fen.substr(0, 20) // En passant available, but no castle: .concat("1PP2PP1/PPPPPPPP/PPPPPPPP/PPPPPPPP/PPPPPPPP w 0 -") ); } + filterValid(moves) { + if (this.turn == 'w') return moves; + return super.filterValid(moves); + } + + getCheckSquares() { + if (this.turn == 'w') return []; + return ( + this.underCheck('b') + ? [JSON.parse(JSON.stringify(this.kingPos['b']))] + : [] + ); + } + getCurrentScore() { if (this.turn == 'w') { // Do I have any unit remaining? If not, I lost.