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;
};
},
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;
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);
},
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");
}