X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FUpsidedown.js;h=3149daeae057326a05542b943bae8746daadd155;hb=HEAD;hp=44dab7f0d7c7200272d63bee021673b6c9723dec;hpb=7ba4a5bc5b64e19a1e7f26aa232d5c50770d07ad;p=vchess.git diff --git a/client/src/variants/Upsidedown.js b/client/src/variants/Upsidedown.js index 44dab7f0..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,23 +12,13 @@ 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(randomness) { - if (!randomness) randomness = 2; - if (randomness == 0) + static GenRandInitFen(options) { + if (options.randomness == 0) return "RNBQKBNR/PPPPPPPP/8/8/8/8/pppppppp/rnbqkbnr w 0"; let pieces = { w: new Array(8), b: new Array(8) }; for (let c of ["w", "b"]) { - if (c == 'b' && randomness == 1) { + if (c == 'b' && options.randomness == 1) { pieces['b'] = pieces['w']; break; } @@ -79,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; } + };