X-Git-Url: https://git.auder.net/variants/Checkered/complete_rules.html?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FUpsidedown.js;h=e82420047facfc8ceb6c5bd5b1adc601542ac2d0;hb=c583ef1c1dfd19aee88b22c2175202fbdf4dc1c0;hp=538fb4a896f3f733990cdf86c3cd603d3be2ca4d;hpb=6808d7a16ec1e761c6a2dffec2281c96953e4d89;p=vchess.git diff --git a/client/src/variants/Upsidedown.js b/client/src/variants/Upsidedown.js index 538fb4a8..e8242004 100644 --- a/client/src/variants/Upsidedown.js +++ b/client/src/variants/Upsidedown.js @@ -7,22 +7,25 @@ export const VariantRules = class UpsidedownRules extends ChessRules { return false; } - static get HasEnpassant() { + static get HasCastle() { return false; } - getPotentialKingMoves(sq) { - // No castle - return this.getSlideNJumpMoves( - sq, - V.steps[V.ROOK].concat(V.steps[V.BISHOP]), - "oneStep" - ); + static get HasEnpassant() { + return false; } - static GenRandInitFen() { + static GenRandInitFen(randomness) { + if (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) { + pieces['b'] = pieces['w']; + break; + } + let positions = ArrayFun.range(8); let randIndex = randInt(8); @@ -73,4 +76,8 @@ export const VariantRules = class UpsidedownRules extends ChessRules { " w 0" ); //no castle, no en-passant } + + static get SEARCH_DEPTH() { + return 2; + } };