X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fvariants%2FUltima.js;h=ac0cf9579142b761b1530537d67a00192c43c2f0;hb=e1cce11566b1fe6f0cfd85517617c1c0c6249761;hp=229910c2ec13fb9545413a7143c576944f93b14d;hpb=d62554ed2e2309126e42d5db87eddf50ce11aba0;p=vchess.git diff --git a/public/javascripts/variants/Ultima.js b/public/javascripts/variants/Ultima.js index 229910c2..ac0cf957 100644 --- a/public/javascripts/variants/Ultima.js +++ b/public/javascripts/variants/Ultima.js @@ -189,8 +189,8 @@ class UltimaRules extends ChessRules // Check piece-king rectangle (if any) corners for enemy pieces if (m.end.x == kp[0] || m.end.y == kp[1]) return; //"flat rectangle" - const corner1 = [Math.max(m.end.x,kp[0]), Math.min(m.end.y,kp[1])]; - const corner2 = [Math.min(m.end.x,kp[0]), Math.max(m.end.y,kp[1])]; + const corner1 = [m.end.x, kp[1]]; + const corner2 = [kp[0], m.end.y]; for (let [i,j] of [corner1,corner2]) { if (this.board[i][j] != VariantRules.EMPTY && this.getColor(i,j) == oppCol) @@ -386,9 +386,8 @@ class UltimaRules extends ChessRules { // Square (x,y) must be surroundable by two enemy pieces, // and one of them at least should be a pawn (moving). - const dirs = [ [1,0],[0,1],[1,1],[-1,1] ]; - const steps = VariantRules.steps[VariantRules.ROOK] - .concat(VariantRules.steps[VariantRules.BISHOP]); + const dirs = [ [1,0],[0,1] ]; + const steps = VariantRules.steps[VariantRules.ROOK]; const [sizeX,sizeY] = VariantRules.size; for (let dir of dirs) { @@ -417,6 +416,7 @@ class UltimaRules extends ChessRules j3 += step[1]; } if (i3>=0 && i3=0 && j3=0 && i=0 && j=0 && i=0 && j=0 && i=0 && j=0 && i=0 && j=0 && i=0 && j