#controls
button(@click="gotoBegin()") <<
button(@click="undo()") <
- button(@click="flip()") ⇅
+ button(v-if="canFlip" @click="flip()") ⇅
button(@click="play()") >
button(@click="gotoEnd()") >>
#belowControls
| {{ st.tr["Rules"] }}
#movesList
MoveList(
- v-if="showMoves"
+ v-if="showMoves != 'none'"
+ :show="showMoves"
:score="game.score"
:message="game.scoreMsg"
:firstNum="firstMoveNumber"
},
computed: {
showMoves: function() {
- return this.game.score != "*" || (window.V && V.ShowMoves == "all");
+ return this.game.score != "*"
+ ? "all"
+ : (this.vr ? this.vr.showMoves : "none");
},
showTurn: function() {
- return this.game.score == '*' && window.V && V.ShowMoves != "all";
+ return (
+ this.game.score == '*' &&
+ this.vr &&
+ (this.vr.showMoves != "all" || !this.vr.canFlip)
+ );
},
turn: function() {
- return this.st.tr[(this.vr.turn == 'w' ? "White" : "Black") + " to move"];
+ if (!this.vr)
+ return "";
+ if (this.vr.showMoves != "all")
+ return this.st.tr[(this.vr.turn == 'w' ? "White" : "Black") + " to move"]
+ // Cannot flip: racing king or circular chess
+ return this.vr.movesCount == 0 && this.game.mycolor == "w"
+ ? this.st.tr["It's your turn!"]
+ : "";
},
canAnalyze: function() {
- return this.game.mode != "analyze" && window.V && V.CanAnalyze;
+ return this.game.mode != "analyze" && this.vr && this.vr.canAnalyze;
+ },
+ canFlip: function() {
+ return this.vr && this.vr.canFlip;
},
allowDownloadPGN: function() {
- return this.game.score != "*" || (window.V && V.ShowMoves == "all");
+ return this.game.score != "*" || (this.vr && this.vr.showMoves == "all");
}
},
created: function() {
this.vr.re_init(this.moves[index].fen);
this.cursor = index;
this.lastMove = this.moves[index];
+ this.incheck = this.vr.getCheckSquares(this.vr.turn);
},
gotoBegin: function() {
if (this.cursor == -1) return;
this.cursor = -1;
this.lastMove = null;
}
+ this.incheck = this.vr.getCheckSquares(this.vr.turn);
},
gotoEnd: function() {
if (this.cursor == this.moves.length - 1) return;
#controls
margin: 0 auto
+ text-align: center
button
display: inline-block
width: 20%