X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FComputerGame.vue;fp=client%2Fsrc%2Fcomponents%2FComputerGame.vue;h=83b4e023af99c4a164e1560c9cdd435f5865d11c;hb=5aa14a21484cf36838b5541afe2ee76b6d5c274b;hp=5782ba6a788d2e8b2621a381af21d6172645d6ee;hpb=aae89b49a846b2c101d74db7dff9151392d6db34;p=vchess.git diff --git a/client/src/components/ComputerGame.vue b/client/src/components/ComputerGame.vue index 5782ba6a..83b4e023 100644 --- a/client/src/components/ComputerGame.vue +++ b/client/src/components/ComputerGame.vue @@ -3,7 +3,6 @@ BaseGame( ref="basegame" :game="game" @newmove="processMove" - @gameover="gameOver" ) @@ -11,6 +10,7 @@ BaseGame( import BaseGame from "@/components/BaseGame.vue"; import { store } from "@/store"; import { CompgameStorage } from "@/utils/compgameStorage"; +import { getScoreMessage } from "@/utils/scoring"; import { playMove, getFilteredMove } from "@/utils/playUndo"; import Worker from "worker-loader!@/playCompMove"; export default { @@ -85,11 +85,13 @@ export default { this.compThink = true; this.compWorker.postMessage(["askmove"]); }, - processMove: function(move) { + processMove: function(move, scoreObj) { playMove(move, this.vr); - // This move could have ended the game: if this is the case, - // the game is already removed from storage (if mode == 'versus') - if (this.game.score != "*") return; + // This move could have ended the game: + if (scoreObj.score != "*") { + this.gameOver(scoreObj.score); + return; + } // Send the move to web worker (including his own moves) this.compWorker.postMessage(["newmove", move]); if (this.gameInfo.mode == "auto" || this.vr.turn != this.game.mycolor) @@ -102,10 +104,11 @@ export default { }); } }, - gameOver: function(score, scoreMsg) { + gameOver: function(score) { this.game.score = score; - this.game.scoreMsg = scoreMsg; - if (!this.compThink) this.$emit("game-stopped"); //otherwise wait for comp + this.game.scoreMsg = getScoreMessage(score); + // If comp is thinking, let him finish: + if (!this.compThink) this.$emit("game-stopped"); } } };