X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FComputerGame.vue;h=91689229c3a3981162b8353aa9d6094afac6f008;hb=15c406ab55cd3965fe806eb094938bcf61d64e65;hp=72e4f5e3bdc32020bc1b6321cae6b820221d6228;hpb=30010f33fc5581e35ca9486ff6e0ccb1270239d1;p=vchess.git diff --git a/client/src/components/ComputerGame.vue b/client/src/components/ComputerGame.vue index 72e4f5e3..91689229 100644 --- a/client/src/components/ComputerGame.vue +++ b/client/src/components/ComputerGame.vue @@ -44,10 +44,14 @@ export default { setTimeout(() => { if (this.currentUrl != document.location.href) return; //page change self.$refs["basegame"].play(compMove, "received"); - const animationLength = + let animationLength = 0; + const mvArray = (Array.isArray(compMove) ? compMove : [compMove]); + const realLength = + mvArray.filter(m => m.start.x >= 0 && !m.end.noHighlight).length; + if (realLength >= 1) // 250 = length of animation, 500 = delay between sub-moves // TODO: a callback would be cleaner. - 250 + (Array.isArray(compMove) ? (compMove.length - 1) * 750 : 0); + animationLength = 250 + (realLength - 1) * 750; setTimeout( () => { self.compThink = false; @@ -61,7 +65,7 @@ export default { methods: { launchGame: function(game) { this.compWorker.postMessage(["scripts", this.gameInfo.vname]); - if (!game || !V.IsGoodFen(game.fen)) { + if (!game) { game = { vname: this.gameInfo.vname, fenStart: V.GenRandInitFen(this.st.settings.randomness), @@ -119,7 +123,7 @@ export default { }, gameOver: function(score) { this.game.score = score; - this.game.scoreMsg = getScoreMessage(score); + this.game.scoreMsg = getScoreMessage(score, V.ReverseColors); // If comp is thinking, let him finish: if (!this.compThink) this.$emit("game-stopped"); }