X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fvariants%2FExtinction.js;h=2b0aecaa09b51794c8c89859c5d6fb078a74206e;hb=0b7d99ecbb5dedc02cd96c457b5fc2962db9b297;hp=f0ebeabba1e71b86133387679f47bdece6b7ed04;hpb=18f9c763d17110b75489f721bf155bb88ac6c5c1;p=vchess.git diff --git a/public/javascripts/variants/Extinction.js b/public/javascripts/variants/Extinction.js index f0ebeabb..2b0aecaa 100644 --- a/public/javascripts/variants/Extinction.js +++ b/public/javascripts/variants/Extinction.js @@ -3,7 +3,6 @@ class ExtinctionRules extends ChessRules initVariables(fen) { super.initVariables(fen); - const V = VariantRules; this.material = { "w": @@ -32,10 +31,8 @@ class ExtinctionRules extends ChessRules let moves = super.getPotentialPawnMoves([x,y]); // Add potential promotions into king const color = this.turn; - const V = VariantRules; - const [sizeX,sizeY] = V.size; const shift = (color == "w" ? -1 : 1); - const lastRank = (color == "w" ? 0 : sizeX-1); + const lastRank = (color == "w" ? 0 : V.size.x-1); if (x+shift == lastRank) { @@ -43,13 +40,13 @@ class ExtinctionRules extends ChessRules if (this.board[x+shift][y] == V.EMPTY) moves.push(this.getBasicMove([x,y], [x+shift,y], {c:color,p:V.KING})); // Captures - if (y>0 && this.canTake([x,y], [x+shift,y-1]) - && this.board[x+shift][y-1] != V.EMPTY) + if (y>0 && this.board[x+shift][y-1] != V.EMPTY + && this.canTake([x,y], [x+shift,y-1])) { moves.push(this.getBasicMove([x,y], [x+shift,y-1], {c:color,p:V.KING})); } - if (y { return this.material[color][p] == 0; })) { // Very negative (resp. positive) if white (reps. black) pieces set is incomplete - return (color=="w"?-1:1) * VariantRules.INFINITY; + return (color=="w"?-1:1) * V.INFINITY; } return super.evalPosition(); }