Simplify Monster + Doublemove2. Smoother example games
[vchess.git] / client / src / variants / Teleport.js
index f5422c7..6cf14a8 100644 (file)
@@ -3,27 +3,9 @@ import { randInt } from "@/utils/alea";
 
 export class TeleportRules extends ChessRules {
   hoverHighlight(x, y) {
-    if (this.subTurn == 1 || this.board[x][y] != V.EMPTY)
-      return false;
-    // Only highlight if the move is legal
-    const color = this.turn;
-    const tMove = new Move({
-      appear: [
-        new PiPo({
-          x: x,
-          y: y,
-          c: color,
-          // The dropped piece nature has no importance:
-          p: V.KNIGHT
-        })
-      ],
-      vanish: [],
-      start: { x: -1, y: -1 }
-    });
-    this.play(tMove);
-    const moveOk = !this.underCheck(color);
-    this.undo(tMove);
-    return moveOk;
+    // Testing move validity results in an infinite update loop.
+    // TODO: find a way to test validity anyway.
+    return (this.subTurn == 2 && this.board[x][y] == V.EMPTY);
   }
 
   setOtherVariables(fen) {
@@ -329,8 +311,6 @@ export class TeleportRules extends ChessRules {
             (color == 'w' && mvEval > m.eval) ||
             (color == 'b' && mvEval < m.eval)
           ) {
-            // TODO: if many second moves have the same eval, only the
-            // first is kept. Could be randomized.
             m.eval = mvEval;
             m.next = m2;
           }