Fix Ultima when no moves are available
authorBenjamin Auder <benjamin.auder@somewhere>
Wed, 12 Dec 2018 17:36:50 +0000 (18:36 +0100)
committerBenjamin Auder <benjamin.auder@somewhere>
Wed, 12 Dec 2018 17:36:50 +0000 (18:36 +0100)
TODO
public/javascripts/variants/Ultima.js

diff --git a/TODO b/TODO
index f8465c6..07cef48 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,3 +1,2 @@
 Full detection of repeated positions (including turn)
-Debug HalfChess
-Implement UltimaChess
+In UltimaChess, consider these rules modifications: http://www.inference.org.uk/mackay/ultima/ultima.html
index 1db3691..7f9531e 100644 (file)
@@ -368,12 +368,6 @@ class UltimaRules extends ChessRules
                        V.steps[V.ROOK].concat(V.steps[V.BISHOP]), "oneStep");
        }
 
-       // TODO: verify this assertion
-       atLeastOneMove()
-       {
-               return true; //always at least one possible move
-       }
-
        underCheck(move)
        {
                return false; //there is no check
@@ -440,7 +434,6 @@ class UltimaRules extends ChessRules
                        return "1/2";
 
                const color = this.turn;
-               // TODO: do we need "atLeastOneMove()"?
                if (this.atLeastOneMove() && this.kingPos[color][0] >= 0)
                        return "*";
 
@@ -449,7 +442,7 @@ class UltimaRules extends ChessRules
 
        checkGameEnd()
        {
-               // No valid move: our king disappeared
+               // Stalemate, or our king disappeared
                return this.turn == "w" ? "0-1" : "1-0";
        }