X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fvariants%2FAntiking.js;h=66eb9f0a890f699b91806e191a19832445d8e9d6;hb=b955c65b942d09d24b5c3bed0d755d4f2f8f71f1;hp=ac25c736c91299aa82a9ea0cf712d0d6f5ae6e3b;hpb=818ede16c09c2f5650d7a6b7b5ea42d6dd1a0c30;p=vchess.git diff --git a/public/javascripts/variants/Antiking.js b/public/javascripts/variants/Antiking.js index ac25c736..66eb9f0a 100644 --- a/public/javascripts/variants/Antiking.js +++ b/public/javascripts/variants/Antiking.js @@ -1,6 +1,5 @@ -class AntikingRules +class AntikingRules extends ChessRules { - // Path to pieces static getPpath(b) { return b[1]=='a' ? "Antiking/"+b : b; @@ -8,155 +7,178 @@ class AntikingRules static get ANTIKING() { return 'a'; } - canTake(color1, color2, [x,y]) + static get PIECES() { - const piece = this.getPiece(x,y); - return (piece != "a" && color1 != color2) || (piece == "a" && color1 == color2); + return ChessRules.PIECES.concat([V.ANTIKING]); + } + + setOtherVariables(fen) + { + super.setOtherVariables(fen); + this.antikingPos = {'w':[-1,-1], 'b':[-1,-1]}; + const rows = V.ParseFen(fen).position.split("/"); + for (let i=0; i0?antikingPos["w"]:"") + + "A" + (antikingPos["w"]<7?7-antikingPos["w"]:""); + const ranks23_white = (antikingPos["b"]>0?antikingPos["b"]:"") + "a" + + (antikingPos["b"]<7?7-antikingPos["b"]:"") + "/PPPPPPPP"; + return pieces["b"].join("") + "/" + ranks23_black + + "/8/8/" + + ranks23_white + "/" + pieces["w"].join("").toUpperCase() + + " w 1111 -"; } }