Small fixes
authorBenjamin Auder <benjamin.auder@somewhere>
Mon, 24 Feb 2020 15:58:49 +0000 (16:58 +0100)
committerBenjamin Auder <benjamin.auder@somewhere>
Mon, 24 Feb 2020 15:58:49 +0000 (16:58 +0100)
client/src/base_rules.js
client/src/components/BaseGame.vue
client/src/views/Game.vue

index 7949d7f..85f63a2 100644 (file)
@@ -357,9 +357,9 @@ export const ChessRules = class ChessRules {
       for (let indexInRow = 0; indexInRow < rows[i].length; indexInRow++) {
         const character = rows[i][indexInRow];
         const num = parseInt(character);
+        // If num is a number, just shift j:
         if (!isNaN(num)) j += num;
-        //just shift j
-        //something at position i,j
+        // Else: something at position i,j
         else board[i][j++] = V.fen2board(character);
       }
     }
index 07f6bba..dc1ec67 100644 (file)
@@ -104,35 +104,32 @@ export default {
       cursor: -1, //index of the move just played
       lastMove: null,
       firstMoveNumber: 0, //for printing
-      incheck: [], //for Board
-      V: null // TODO: need "local" V to trigger re-computation of computed properties ?
-            // --> le passer depuis CompGame ou Game comme une property ?!
+      incheck: [] //for Board
     };
   },
   watch: {
     // game initial FEN changes when a new game starts
-    
-    // TODO: this watcher is obsolete ?
-
     "game.fenStart": function() {
       this.re_setVariables();
     },
   },
   computed: {
     showMoves: function() {
-      return this.game.score != "*" || (window.V && V.ShowMoves == "all");
+      return this.game.score != "*" || (this.vr && this.vr.ShowMoves == "all");
     },
     showTurn: function() {
-      return this.game.score == '*' && window.V && V.ShowMoves != "all";
+      return this.game.score == '*' && this.vr && this.vr.ShowMoves != "all";
     },
     turn: function() {
-      return this.st.tr[(this.vr.turn == 'w' ? "White" : "Black") + " to move"];
+      return this.vr
+        ? this.st.tr[(this.vr.turn == 'w' ? "White" : "Black") + " to move"]
+        : "";
     },
     canAnalyze: function() {
-      return this.game.mode != "analyze" && window.V && V.CanAnalyze;
+      return this.game.mode != "analyze" && this.vr && this.vr.CanAnalyze;
     },
     allowDownloadPGN: function() {
-      return this.game.score != "*" || (window.V && V.ShowMoves == "all");
+      return this.game.score != "*" || (this.vr && this.vr.ShowMoves == "all");
     }
   },
   created: function() {
index 851c6d7..51e0634 100644 (file)
@@ -469,7 +469,9 @@ export default {
             const flags = V.ParseFen(game.fen).flags; //may be undefined
             let dtLastMove = 0;
             for (let midx = game.moves.length - 1; midx >= 0; midx--) {
-              vr_tmp.undo(Object.assign({flags:flags}, game.moves[midx].squares));
+              // NOTE: flags could be wrong, but since our only concern is turn,
+              // this should be enough. (TODO?)
+              vr_tmp.undo(Object.assign({flags:JSON.stringify(flags)}, game.moves[midx].squares));
               if (vr_tmp.turn == mycolor) {
                 dtLastMove = game.moves[midx].played;
                 break;