X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FUpsidedown.js;h=3149daeae057326a05542b943bae8746daadd155;hb=HEAD;hp=538fb4a896f3f733990cdf86c3cd603d3be2ca4d;hpb=6808d7a16ec1e761c6a2dffec2281c96953e4d89;p=vchess.git diff --git a/client/src/variants/Upsidedown.js b/client/src/variants/Upsidedown.js index 538fb4a8..3149daea 100644 --- a/client/src/variants/Upsidedown.js +++ b/client/src/variants/Upsidedown.js @@ -2,7 +2,8 @@ import { ChessRules } from "@/base_rules"; import { randInt } from "@/utils/alea"; import { ArrayFun } from "@/utils/array"; -export const VariantRules = class UpsidedownRules extends ChessRules { +export class UpsidedownRules extends ChessRules { + static get HasFlags() { return false; } @@ -11,18 +12,17 @@ export const VariantRules = class UpsidedownRules extends ChessRules { return false; } - getPotentialKingMoves(sq) { - // No castle - return this.getSlideNJumpMoves( - sq, - V.steps[V.ROOK].concat(V.steps[V.BISHOP]), - "oneStep" - ); - } + static GenRandInitFen(options) { + if (options.randomness == 0) + return "RNBQKBNR/PPPPPPPP/8/8/8/8/pppppppp/rnbqkbnr w 0"; - static GenRandInitFen() { let pieces = { w: new Array(8), b: new Array(8) }; for (let c of ["w", "b"]) { + if (c == 'b' && options.randomness == 1) { + pieces['b'] = pieces['w']; + break; + } + let positions = ArrayFun.range(8); let randIndex = randInt(8); @@ -70,7 +70,13 @@ export const VariantRules = class UpsidedownRules extends ChessRules { pieces["w"].join("").toUpperCase() + "/PPPPPPPP/8/8/8/8/pppppppp/" + pieces["b"].join("") + + // No castle, no en-passant: " w 0" - ); //no castle, no en-passant + ); + } + + static get SEARCH_DEPTH() { + return 2; } + };