X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FComputerGame.vue;h=91689229c3a3981162b8353aa9d6094afac6f008;hb=15c406ab55cd3965fe806eb094938bcf61d64e65;hp=605b3b14618aa41445abbae89e5da694337363a9;hpb=e6ca903027ba7c4867393ac8fe8c58b5fa6e0efe;p=vchess.git diff --git a/client/src/components/ComputerGame.vue b/client/src/components/ComputerGame.vue index 605b3b14..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; @@ -70,12 +74,6 @@ export default { game.fen = game.fenStart; if (this.gameInfo.mode == "versus") CompgameStorage.add(game); } - -// TODO: debug Hiddenqueen -//game.fen = "rbnqbknr/pppptppp/8/8/8/8/TPPPPPPP/RBNQBKNR w 0 ahah -"; -//game.fenStart = "rbnqbknr/pppptppp/8/8/8/8/TPPPPPPP/RBNQBKNR w 0 ahah -"; -//game.mycolor = 'w'; - if (!game.mycolor) game.mycolor = (Math.random() < 0.5 ? "w" : "b"); this.compWorker.postMessage(["init", game.fen]); this.vr = new V(game.fen); @@ -125,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"); }