X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FBaseGame.vue;h=287521816237370181e2d14af5f636e23c9cca87;hp=8285c0ce0b7c0bc34ae7bd36e9ed92cb722a8966;hb=37cdcbf303d3c2e57b388a1abc9f853ba68a55cd;hpb=1c9f093dad69e4c7b6d2b42cb5e0bd3bc7224ec9 diff --git a/client/src/components/BaseGame.vue b/client/src/components/BaseGame.vue index 8285c0ce..28752181 100644 --- a/client/src/components/BaseGame.vue +++ b/client/src/components/BaseGame.vue @@ -9,8 +9,8 @@ Board(:vr="vr" :last-move="lastMove" :analyze="analyze" :user-color="mycolor" :orientation="orientation" :vname="vname" @play-move="play") .button-group - button(@click="play") Play - button(@click="undo") Undo + button(@click="() => play()") Play + button(@click="() => undo()") Undo button(@click="flip") Flip button(@click="gotoBegin") GotoBegin button(@click="gotoEnd") GotoEnd @@ -51,6 +51,18 @@ export default { lastMove: null, }; }, + watch: { + // fenStart changes when a new game starts + fenStart: function() { + // Reset all variables + this.endgameMessage = ""; + this.orientation = this.mycolor; + this.score = "*"; + this.moves = []; + this.cursor = -1; + this.lastMove = null; + }, + }, computed: { showMoves: function() { return true; @@ -223,12 +235,12 @@ export default { this.moves.pop(); }, gotoMove: function(index) { - this.vr = new V(this.moves[index].fen); + this.vr.re_init(this.moves[index].fen); this.cursor = index; this.lastMove = this.moves[index]; }, gotoBegin: function() { - this.vr = new V(this.fenStart); + this.vr.re_init(this.fenStart); this.cursor = -1; this.lastMove = null; },