X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FComputerGame.vue;h=b212d0fdf4e90641683eb57f95a749e6aca58655;hp=fbf2d8e75c87e7e37331859e2886fdd2df8cb740;hb=eb2d61de8d569470fa329a484efe9bab420b2b82;hpb=c11afcdfa8678a27ea6c0822f6d3fef83967701b diff --git a/client/src/components/ComputerGame.vue b/client/src/components/ComputerGame.vue index fbf2d8e7..b212d0fd 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; @@ -59,12 +63,12 @@ export default { }; }, methods: { - launchGame: function(game) { + launchGame: function(game, options) { this.compWorker.postMessage(["scripts", this.gameInfo.vname]); if (!game) { game = { vname: this.gameInfo.vname, - fenStart: V.GenRandInitFen(this.st.settings.randomness), + fenStart: V.GenRandInitFen(options), moves: [] }; game.fen = game.fenStart;