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;
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);
// 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