'update'
authorBenjamin Auder <benjamin.auder@somewhere>
Wed, 12 Jun 2019 10:36:25 +0000 (12:36 +0200)
committerBenjamin Auder <benjamin.auder@somewhere>
Wed, 12 Jun 2019 10:36:25 +0000 (12:36 +0200)
client/src/utils/storage.js
client/src/views/Game.vue

index f5c3b25..ecafe20 100644 (file)
@@ -99,7 +99,7 @@ export const GameStorage =
       fen: o.fenStart,
       moves: [],
       clocks: [...Array(o.players.length)].fill(tc.mainTime),
-      started: [...Array(o.players.length)].fill(false),
+      initime: undefined,
       score: "*",
     };
 
@@ -123,7 +123,8 @@ export const GameStorage =
     {
       gameState.moves.push(o.move);
       gameState.fen = o.fen;
-      gameState.clocks[o.colorIdx] += (o.increment - o.elapsed);
+      if (!!o.elapsed) //NaN if first move in game
+        gameState.clocks[o.colorIdx] += (o.increment - o.elapsed);
     }
     if (!!o.initime) //just a flag (true)
       gameState.initime = Date.now();
@@ -168,7 +169,7 @@ export const GameStorage =
           callback({}); //everything's fine
         }
         transaction.onerror = function() {
-          callback({errmsg: "deleteGame failed: " + transaction.error});
+          callback({errmsg: "game removal failed: " + transaction.error});
         };
       }
       transaction.objectStore("games").delete(gameId);
index 920e9c8..7aa7aa5 100644 (file)
@@ -97,19 +97,8 @@ export default {
           // TODO: observer on dark games must see all board ? Or alternate ? (seems better)
           // ...or just see nothing as on buho21
           this.$refs["basegame"].play(
-            data.move, this.game.vname!="Dark" ? "animate" : null);
+            data.move, this.game.vname!="Dark" ? "animate" : null); //TODO: arg to know if opponent move (or comp) in case of dark variant...
           this.processMove(data.move);
-
-
-
-// TODO:
-// send filtered_move + elapsed time
-// receive same. (update clock) + update (our) initime if it's my turn
-// + update fen (using vr.getFen())
-
-
-
-
           break;
         case "pong": //received if we sent a ping (game still alive on our side)
           if (this.gameRef.id != data.gameId)
@@ -278,9 +267,9 @@ export default {
 //    }
     },
     // TODO: refactor this old "oppConnected" logic
-    oppConnected: function(uid) {
-      return this.opponents.some(o => o.id == uid && o.online);
-    },
+//    oppConnected: function(uid) {
+//      return this.opponents.some(o => o.id == uid && o.online);
+//    },
     // Post-process a move (which was just played)
     processMove: function(move) {
       if (!this.game.mycolor)
@@ -316,7 +305,7 @@ export default {
         fen: move.fen,
         elapsed: move.elapsed,
         increment: this.game.increment, //redundant but faster
-        initime: (this.vr.turn == this.game.mycolor), //it's my turn
+        initime: (this.vr.turn == this.game.mycolor), //is it my turn?
       });
     },
     // NOTE: this update function should also work for corr games