X-Git-Url: https://git.auder.net/images/pieces/current/gitweb.js?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FRules.vue;h=a8edf8f526550c97178b8bbc115a5ce82485793a;hb=b91392511d5df54b0e3cd5fcf439471cc6767804;hp=f864e9e4927a480b20b89a00371756c37ccb3a06;hpb=866842c3c310524c034922870234120ed2a16cbf;p=vchess.git diff --git a/client/src/views/Rules.vue b/client/src/views/Rules.vue index f864e9e4..a8edf8f5 100644 --- a/client/src/views/Rules.vue +++ b/client/src/views/Rules.vue @@ -24,6 +24,8 @@ main @click="gotoAnalyze()" ) | {{ st.tr["Analyse"] }} + .row + .col-sm-12.col-md-8.col-md-offset-2.col-lg-6.col-lg-offset-3 div( v-show="display=='rules'" v-html="content" @@ -40,6 +42,7 @@ main import ComputerGame from "@/components/ComputerGame.vue"; import { store } from "@/store"; import { getDiagram } from "@/utils/printDiagram"; +import { CompgameStorage } from "@/utils/compgameStorage"; export default { name: "my-rules", components: { @@ -54,8 +57,8 @@ export default { gameInfo: { vname: "", mode: "versus", - fen: "" - } + }, + V: null, }; }, watch: { @@ -69,7 +72,7 @@ export default { }, computed: { showAnalyzeBtn: function() { - return (this.display=='rules' && (!window.V || V.CanAnalyse)); + return (this.display=='rules' && (!this.V || this.V.CanAnalyze)); }, content: function() { if (!this.gameInfo.vname) return ""; //variant not set yet @@ -110,7 +113,7 @@ export default { }, re_setVariant: async function(vname) { const vModule = await import("@/variants/" + vname + ".js"); - window.V = vModule.VariantRules; + this.V = window.V = vModule.VariantRules; this.gameInfo.vname = vname; }, startGame: function(mode) { @@ -118,15 +121,24 @@ export default { this.gameInProgress = true; this.display = "computer"; this.gameInfo.mode = mode; - this.$set(this.gameInfo, "fen", V.GenRandInitFen()); + if (this.gameInfo.mode == "versus") { + CompgameStorage.get(this.gameInfo.vname, (game) => { + // NOTE: game might be null + this.$refs["compgame"].launchGame(game); + }); + } else { + this.$refs["compgame"].launchGame(); + } }, - // user is willing to stop the game: + // user wants to stop the game: stopGame: function() { this.$refs["compgame"].gameOver("?", "Undetermined result"); }, // The game is effectively stopped: gameStopped: function() { this.gameInProgress = false; + if (this.gameInfo.mode == "versus") + CompgameStorage.remove(this.gameInfo.vname); }, gotoAnalyze: function() { this.$router.push(