X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fvariants%2FUltima.js;fp=public%2Fjavascripts%2Fvariants%2FUltima.js;h=7f4a7ebed86790c9909c989eb873c83b65b83300;hb=2d7194bd9c976f444e43e5dc0a725823b6472eb9;hp=05fba2f54afbfa38db9e12b9b872e61e99598de8;hpb=1a788978e3682ab54b77af3edfe38e0b371edbc4;p=vchess.git diff --git a/public/javascripts/variants/Ultima.js b/public/javascripts/variants/Ultima.js index 05fba2f5..7f4a7ebe 100644 --- a/public/javascripts/variants/Ultima.js +++ b/public/javascripts/variants/Ultima.js @@ -1,5 +1,9 @@ class UltimaRules extends ChessRules { + static get HasFlags { return false; } + + static get HasEnpassant { return false; } + static getPpath(b) { if (b[1] == "m") //'m' for Immobilizer (I is too similar to 1) @@ -7,16 +11,13 @@ class UltimaRules extends ChessRules return b; //usual piece } - static get PIECES() { - return ChessRules.PIECES.concat([V.IMMOBILIZER]); - } - - static IsGoodFlags(flags) + static get PIECES() { - return true; //anything is good: no flags + return ChessRules.PIECES.concat([V.IMMOBILIZER]); } - initVariables(fen) + // No castling, but checks, so keep track of kings + setOtherVariables(fen) { this.kingPos = {'w':[-1,-1], 'b':[-1,-1]}; const fenParts = fen.split(" "); @@ -42,13 +43,6 @@ class UltimaRules extends ChessRules k++; } } - this.epSquares = []; //no en-passant here - } - - setFlags(fenflags) - { - // TODO: for compatibility? - this.castleFlags = {"w":[false,false], "b":[false,false]}; } static get IMMOBILIZER() { return 'm'; } @@ -544,7 +538,9 @@ class UltimaRules extends ChessRules } } - static get VALUES() { //TODO: totally experimental! + static get VALUES() + { + // TODO: totally experimental! return { 'p': 1, 'r': 2, @@ -608,19 +604,13 @@ class UltimaRules extends ChessRules return pieces["b"].join("") + "/pppppppp/8/8/8/8/PPPPPPPP/" + pieces["w"].join("").toUpperCase() + - " 0000 w"; //TODO: flags?! - } - - getFlagsFen() - { - return "0000"; //TODO: or "-" ? + " w"; } getNotation(move) { - const initialSquare = - String.fromCharCode(97 + move.start.y) + (V.size.x-move.start.x); - const finalSquare = String.fromCharCode(97 + move.end.y) + (V.size.x-move.end.x); + const initialSquare = V.CoordsToSquare(move.start); + const finalSquare = V.CoordsToSquare(move.end); let notation = undefined; if (move.appear[0].p == V.PAWN) {