this.lastMove = move;
if (this.st.settings.sound == 2)
new Audio("/sounds/move.mp3").play().catch(err => {});
+ if (!this.analyze)
+ this.$emit("newmove", move); //post-processing (e.g. computer play)
if (!navigate)
{
move.fen = this.vr.getFen();
this.moves = this.moves.slice(0,this.cursor).concat([move]);
}
}
- // Is opponent in check? (TODO: generalize, find all check squares)
+ // Is opponent in check?
this.incheck = this.vr.getCheckSquares(this.vr.turn);
const score = this.vr.getCurrentScore();
- if (score != "*") //TODO: generalize score for 3 or 4 players
+ if (score != "*")
{
if (!this.analyze)
this.endGame(score);
this.showEndgameMsg(score + " . " + message);
}
}
- if (!this.analyze)
- this.$emit("newmove", move); //post-processing (e.g. computer play)
},
undo: function(move) {
const navigate = !move;
});
const myTurn = (currentTurn == this.game.mycolor);
let clockUpdate = setInterval(() => {
- if (countdown <= 0 || this.vr.turn != currentTurn)
+ if (countdown <= 0 || this.vr.turn != currentTurn || this.game.score != "*")
{
clearInterval(clockUpdate);
if (countdown <= 0 && myTurn)
game.initime[0] = Date.now();
if (myIdx >= 0) //I play in this game
{
- GameStorage.update(game.gameId,
+ GameStorage.update(game.id,
{
clocks: game.clocks,
initime: game.initime,
const vModule = await import("@/variants/" + vname + ".js");
window.V = vModule.VariantRules;
this.vr = new V(game.fen);
+
+
+
+//TODO: people, on connect, search for opponent.......
+console.log(myIdx + " " + game.players[1-myIdx].sid); //otherwise this is undefined:
+
+
+
this.game = Object.assign({},
game,
// NOTE: assign mycolor here, since BaseGame could also bs VS computer
// TODO: this update function should also work for corr games
gameOver: function(score) {
this.game.mode = "analyze";
+ this.game.score = score;
GameStorage.update(this.gameRef.id, { score: score });
},
},
else
{
this.infoMessage = "New game started: " +
- "<a href='/game/" + data.gameInfo.gameId + "'>" +
- "/game/" + data.gameInfo.gameId + "</a>";
+ "<a href='#/game/" + data.gameInfo.gameId + "'>" +
+ "#/game/" + data.gameInfo.gameId + "</a>";
let modalBox = document.getElementById("modalInfo");
modalBox.checked = true;
setTimeout(() => { modalBox.checked = false; }, 3000);