X-Git-Url: https://git.auder.net/js/rpsls.js?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FComputerGame.vue;h=f611167da0896cab35010f7a4fc7aa27a51f4638;hb=bc0b9205e41c5db0552e4ccf060b945342e36ed0;hp=44bfb6a6259333be28465b69618ebaaf8f81ac67;hpb=07052665845283c65b50a76537669d0602ba436b;p=vchess.git diff --git a/client/src/components/ComputerGame.vue b/client/src/components/ComputerGame.vue index 44bfb6a6..f611167d 100644 --- a/client/src/components/ComputerGame.vue +++ b/client/src/components/ComputerGame.vue @@ -43,8 +43,12 @@ export default { let self = this; setTimeout(() => { if (this.currentUrl != document.location.href) return; //page change - // NOTE: BaseGame::play() will trigger processMove() here self.$refs["basegame"].play(compMove, "received"); + const animationLength = + // 250 = length of animation, 500 = delay between sub-moves + // TODO: a callback would be cleaner. + 250 + (Array.isArray(compMove) ? (compMove.length - 1) * 750 : 0); + setTimeout(() => self.processMove(compMove), animationLength); self.compThink = false; if (self.game.score != "*") // User action @@ -89,6 +93,7 @@ export default { processMove: function(move, scoreObj) { playMove(move, this.vr); // This move could have ended the game: + if (!scoreObj) scoreObj = { score: this.vr.getCurrentScore() }; if (scoreObj.score != "*") { this.gameOver(scoreObj.score); return;