X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FHorde.js;h=a54b50924519fe148ca056804058e64d5785963c;hb=HEAD;hp=6305c412a5b1ebde239b8e8f669a677ed9a49c76;hpb=5a187b07e221493931cf089bf85ef6db41d8b775;p=vchess.git diff --git a/client/src/variants/Horde.js b/client/src/variants/Horde.js index 6305c412..a54b5092 100644 --- a/client/src/variants/Horde.js +++ b/client/src/variants/Horde.js @@ -1,6 +1,19 @@ import { ChessRules } from "@/base_rules"; export class HordeRules extends ChessRules { + + static get Options() { + return { + check: [ + { + label: "Random", + defaut: false, + variable: "random" + } + ] + }; + } + static get HasFlags() { return false; } @@ -24,7 +37,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; } @@ -35,9 +48,9 @@ export class HordeRules extends ChessRules { return true; } - static GenRandInitFen(randomness) { - if (randomness == 2) randomness--; - const fen = ChessRules.GenRandInitFen(randomness); + static GenRandInitFen(options) { + const fen = + ChessRules.GenRandInitFen({ randomness: (options.random ? 1 : 0) }); return ( // 20 first chars are 3 rows + 3 slashes fen.substr(0, 20) @@ -51,8 +64,8 @@ export class HordeRules extends ChessRules { return super.filterValid(moves); } - getCheckSquares(color) { - if (color == 'w') return []; + getCheckSquares() { + if (this.turn == 'w') return []; return ( this.underCheck('b') ? [JSON.parse(JSON.stringify(this.kingPos['b']))] @@ -80,4 +93,5 @@ export class HordeRules extends ChessRules { // From black side, just run usual checks: return super.getCurrentScore(); } + };