X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FBaseGame.vue;h=b5a82dfbfda16cbcc9fb462f560fb233ce6807ea;hb=21baf44462799a80c4b1cd772de8c3c4fa0b3d37;hp=4a40a3a522338bb1ea4e30eefe81d396a43d7205;hpb=d4036efea5b57656478affd7d71f53dcea0f8017;p=vchess.git diff --git a/client/src/components/BaseGame.vue b/client/src/components/BaseGame.vue index 4a40a3a5..b5a82dfb 100644 --- a/client/src/components/BaseGame.vue +++ b/client/src/components/BaseGame.vue @@ -22,17 +22,8 @@ a#download(href="#") .button-group button#downloadBtn(@click="download") {{ st.tr["Download PGN"] }} - // TODO: Import game button copy game locally in IndexedDB //button Import game - - -// TODO: do not use localStorage for current game, but directly indexedDB -// update function is similar -// ==> retrieval functions must filter on score, and potential "imported" tag -// ==> this should allow several simultaneous games - - //MoveList(v-if="showMoves" :moves="moves" :cursor="cursor" @goto-move="gotoMove") @@ -94,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; @@ -257,8 +249,9 @@ export default { this.showEndgameMsg(score + " . " + message); } } - if (!this.analyze) + if (!this.analyze) { console.log("EMIT NEWMOVE"); this.$emit("newmove", move); //post-processing (e.g. computer play) + } }, undo: function(move) { const navigate = !move;