| {{ st.tr["Rules"] }}
#movesList
MoveList(
- v-if="showMoves != 'none'"
:show="showMoves"
:score="game.score"
:message="game.scoreMsg"
})();
};
const afterMove = (smove, initurn) => {
- if (this.st.settings.sound == 2)
- new Audio("/sounds/move.mp3").play().catch(() => {});
if (this.vr.turn != initurn) {
// Turn has changed: move is complete
+ if (!smove.fen) {
+ // NOTE: only FEN of last sub-move is required (thus setting it here)
+ smove.fen = this.vr.getFen();
+ this.emitFenIfAnalyze();
+ }
this.inMultimove = false;
const score = this.vr.getCurrentScore();
if (score != "*") {
const message = getScoreMessage(score);
if (!navigate && this.game.mode != "analyze")
this.$emit("gameover", score, message);
- // Just show score on screen (allow undo)
- else this.showEndgameMsg(score + " . " + this.st.tr[message]);
+ else if (this.game.mode == "analyze")
+ // Just show score on screen (allow undo)
+ this.showEndgameMsg(score + " . " + this.st.tr[message]);
}
if (!navigate && this.game.mode != "analyze") {
const L = this.moves.length;
if (received && this.cursor < this.moves.length - 1)
this.gotoEnd();
playMove();
- this.lastMove.fen = this.vr.getFen();
- this.emitFenIfAnalyze();
},
cancelCurrentMultimove: function() {
- // Cancel current multi-move
const L = this.moves.length;
let move = this.moves[L-1];
if (!Array.isArray(move)) move = [move];
if (light) this.cursor--;
else {
this.positionCursorTo(this.cursor - 1);
- if (this.st.settings.sound == 2)
- new Audio("/sounds/undo.mp3").play().catch(() => {});
this.incheck = this.vr.getCheckSquares(this.vr.turn);
this.emitFenIfAnalyze();
}