+
@@ -175,8 +194,11 @@ Vue.component('my-game', {
this.conn.addEventListener('message', socketMessageListener);
this.conn.addEventListener('close', socketCloseListener);
};
- this.conn.onmessage = socketMessageListener;
- this.conn.onclose = socketCloseListener;
+ if (!!this.conn)
+ {
+ this.conn.onmessage = socketMessageListener;
+ this.conn.onclose = socketCloseListener;
+ }
// Computer moves web worker logic: (TODO: also for observers in HH games)
this.compWorker.postMessage(["scripts",variant.name]);
@@ -318,20 +340,20 @@ Vue.component('my-game', {
this.compWorker.postMessage(["askmove"]);
},
animateMove: function(move) {
- let startSquare = document.getElementById(this.getSquareId(move.start));
- let endSquare = document.getElementById(this.getSquareId(move.end));
+ let startSquare = document.getElementById(getSquareId(move.start));
+ let endSquare = document.getElementById(getSquareId(move.end));
let rectStart = startSquare.getBoundingClientRect();
let rectEnd = endSquare.getBoundingClientRect();
let translation = {x:rectEnd.x-rectStart.x, y:rectEnd.y-rectStart.y};
let movingPiece =
- document.querySelector("#" + this.getSquareId(move.start) + " > img.piece");
+ document.querySelector("#" + getSquareId(move.start) + " > img.piece");
// HACK for animation (with positive translate, image slides "under background")
// Possible improvement: just alter squares on the piece's way...
squares = document.getElementsByClassName("board");
for (let i=0; i {});
if (this.mode == "human")
{
updateStorage(move); //after our moves and opponent moves
- if (this.vr.turn == this.userColor)
+ if (this.vr.turn == this.mycolor)
this.conn.send(JSON.stringify({code:"newmove", move:move, oppid:this.oppid}));
}
else if (this.mode == "computer")
@@ -400,7 +422,7 @@ Vue.component('my-game', {
this.showScoreMsg(score);
// TODO: notify end of game (give score)
}
- else if (this.mode == "computer" && this.vr.turn != this.userColor)
+ else if (this.mode == "computer" && this.vr.turn != this.mycolor)
this.playComputerMove();
// https://vuejs.org/v2/guide/list.html#Caveats (also for undo)
if (navigate)
@@ -419,7 +441,7 @@ Vue.component('my-game', {
this.lastMove = (this.cursor > 0 ? this.moves[this.cursor-1] : undefined);
if (navigate)
this.$children[0].$forceUpdate(); //TODO!?
- if (this.sound == 2)
+ if (this.settings.sound == 2)
new Audio("/sounds/undo.mp3").play().catch(err => {});
this.incheck = this.vr.getCheckSquares(this.vr.turn);
if (!navigate && this.mode == "analyze")