.card.smallpad.small-modal.text-center
label.modal-close(for="modalEog")
h3#eogMessage.section {{ endgameMessage }}
.card.smallpad.small-modal.text-center
label.modal-close(for="modalEog")
h3#eogMessage.section {{ endgameMessage }}
Board(:vr="vr" :last-move="lastMove" :analyze="game.mode=='analyze'"
:user-color="game.mycolor" :orientation="orientation"
:vname="game.vname" @play-move="play")
Board(:vr="vr" :last-move="lastMove" :analyze="game.mode=='analyze'"
:user-color="game.mycolor" :orientation="orientation"
:vname="game.vname" @play-move="play")
button(@click="download") {{ st.tr["Download PGN"] }}
button(v-if="game.mode!='analyze'" @click="analyzePosition")
| {{ st.tr["Analyze"] }}
button(@click="download") {{ st.tr["Download PGN"] }}
button(v-if="game.mode!='analyze'" @click="analyzePosition")
| {{ st.tr["Analyze"] }}
// Post-processing: decorate each move with color + current FEN:
// (to be able to jump to any position quickly)
let vr_tmp = new V(this.game.fenStart); //vr is already at end of game
// Post-processing: decorate each move with color + current FEN:
// (to be able to jump to any position quickly)
let vr_tmp = new V(this.game.fenStart); //vr is already at end of game
this.moves.forEach(move => {
// NOTE: this is doing manually what play() function below achieve,
// but in a lighter "fast-forward" way
this.moves.forEach(move => {
// NOTE: this is doing manually what play() function below achieve,
// but in a lighter "fast-forward" way
this.$emit("newmove", move); //post-processing (e.g. computer play)
// Is opponent in check?
this.incheck = this.vr.getCheckSquares(this.vr.turn);
this.$emit("newmove", move); //post-processing (e.g. computer play)
// Is opponent in check?
this.incheck = this.vr.getCheckSquares(this.vr.turn);