<template lang="pug">
-.row
- .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- BaseGame(:game="game" :vr="vr" ref="basegame"
- @newmove="processMove" @gameover="gameOver")
+BaseGame(:game="game" :vr="vr" ref="basegame"
+ @newmove="processMove" @gameover="gameOver")
</template>
<script>
this.compWorker.onmessage = e => {
let compMove = e.data;
if (!compMove)
+ {
+ this.compThink = false;
+ this.$emit("game-stopped"); //no more moves: mate or stalemate
return; //after game ends, no more moves, nothing to do
+ }
if (!Array.isArray(compMove))
compMove = [compMove]; //to deal with MarseilleRules
// Small delay for the bot to appear "more human"
const delay = Math.max(500-(Date.now()-this.timeStart), 0);
setTimeout(() => {
+ if (this.currentUrl != document.location.href)
+ return; //page change
// NOTE: Dark and 2-moves are incompatible
const animate = (this.gameInfo.vname != "Dark");
const animDelay = (animate ? 250 : 0);
let players = [{name:"Myself"},{name:"Computer"}];
if (mycolor == "b")
players = players.reverse();
+ this.currentUrl = document.location.href; //to avoid playing outside page
// NOTE: fen and fenStart are redundant in game object
this.game = Object.assign({},
this.gameInfo,