X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fbase_rules.js;h=37e756e9d141f8018e29103b5ac3e9ffc98b6abe;hb=0d5335de5c94d780e03ac0aa3279b731c69455cc;hp=448604a46e27233ad8d2e3d73be438f8a5458f01;hpb=d54f6261c9e30f4eabb402ad301dd5c5e40fb656;p=vchess.git diff --git a/client/src/base_rules.js b/client/src/base_rules.js index 448604a4..37e756e9 100644 --- a/client/src/base_rules.js +++ b/client/src/base_rules.js @@ -85,15 +85,6 @@ export const ChessRules = class ChessRules { return V.CanFlip; } - // Some variants require turn indicator - // (generally when analysis or flip is diabled) - static get ShowTurn() { - return !V.CanAnalyze || V.ShowMoves != "all" || !V.CanFlip; - } - get showTurn() { - return V.ShowTurn; - } - static get IMAGE_EXTENSION() { // All pieces should be in the SVG format return ".svg"; @@ -233,9 +224,11 @@ export const ChessRules = class ChessRules { const s = move.start, e = move.end; if ( - Math.abs(s.x - e.x) == 2 && s.y == e.y && - move.appear[0].p == V.PAWN + Math.abs(s.x - e.x) == 2 && + // Next conditions for variants like Atomic or Rifle, Recycle... + (move.appear.length > 0 && move.appear[0].p == V.PAWN) && + (move.vanish.length > 0 && move.vanish[0].p == V.PAWN) ) { return { x: (s.x + e.x) / 2, @@ -950,6 +943,7 @@ export const ChessRules = class ChessRules { } // Stop at the first move found + // TODO: not really, it explores all moves from a square but one would suffice. atLeastOneMove() { const color = this.turn; for (let i = 0; i < V.size.x; i++) {