Fix clocks update
authorBenjamin Auder <benjamin.auder@somewhere>
Tue, 25 Jun 2019 20:10:15 +0000 (22:10 +0200)
committerBenjamin Auder <benjamin.auder@somewhere>
Tue, 25 Jun 2019 20:10:15 +0000 (22:10 +0200)
client/src/components/BaseGame.vue
client/src/views/Game.vue

index 254741d..9f4b6df 100644 (file)
@@ -85,13 +85,14 @@ export default {
       this.moves = JSON.parse(JSON.stringify(this.game.moves || []));
       // Post-processing: decorate each move with color + current FEN:
       // (to be able to jump to any position quickly)
+      let vr_tmp = new V(this.game.fenStart); //vr is already at end of game
       this.moves.forEach(move => {
         // NOTE: this is doing manually what play() function below achieve,
         // but in a lighter "fast-forward" way
-        move.color = this.vr.turn;
-        move.notation = this.vr.getNotation(move);
-        this.vr.play(move);
-        move.fen = this.vr.getFen();
+        move.color = vr_tmp.turn;
+        move.notation = vr_tmp.getNotation(move);
+        vr_tmp.play(move);
+        move.fen = vr_tmp.getFen();
       });
       const L = this.moves.length;
       this.cursor = L-1;
index 9271f48..f8cf2a7 100644 (file)
@@ -66,22 +66,7 @@ export default {
       let countdown = newState[colorIdx] -
         (Date.now() - this.game.initime[colorIdx])/1000;
       const myTurn = (currentTurn == this.game.mycolor);
-
-console.log(this.vr.turn + " " + currentTurn + " " + this.vr.getFen());
-
       let clockUpdate = setInterval(() => {
-
-
-
-
-console.log(countdown);
-        console.log(this.vr.turn +" " + currentTurn + " " + this.vr.getFen());
-
-// TODO: incoherent state because vr is altered in BaseGame to replay game
-        // ==> should use a temporary vr ?
-
-
-
         if (countdown <= 0 || this.vr.turn != currentTurn)
         {
           clearInterval(clockUpdate);
@@ -392,7 +377,9 @@ console.log(countdown);
       // Also update current game object:
       this.game.moves.push(move);
       this.game.fen = move.fen;
-      this.game.clocks[colorIdx] += (!!addTime ? addTime : 0);
+      //TODO: just this.game.clocks[colorIdx] += (!!addTime ? addTime : 0);
+      this.$set(this.game.clocks, colorIdx,
+        this.game.clocks[colorIdx] + (!!addTime ? addTime : 0));
       this.game.initime[nextIdx] = Date.now();
     },
     // TODO: this update function should also work for corr games