for (let indexInRow = 0; indexInRow < rows[i].length; indexInRow++) {
const character = rows[i][indexInRow];
const num = parseInt(character);
+ // If num is a number, just shift j:
if (!isNaN(num)) j += num;
- //just shift j
- //something at position i,j
+ // Else: something at position i,j
else board[i][j++] = V.fen2board(character);
}
}
cursor: -1, //index of the move just played
lastMove: null,
firstMoveNumber: 0, //for printing
- incheck: [], //for Board
- V: null // TODO: need "local" V to trigger re-computation of computed properties ?
- // --> le passer depuis CompGame ou Game comme une property ?!
+ incheck: [] //for Board
};
},
watch: {
// game initial FEN changes when a new game starts
-
- // TODO: this watcher is obsolete ?
-
"game.fenStart": function() {
this.re_setVariables();
},
},
computed: {
showMoves: function() {
- return this.game.score != "*" || (window.V && V.ShowMoves == "all");
+ return this.game.score != "*" || (this.vr && this.vr.ShowMoves == "all");
},
showTurn: function() {
- return this.game.score == '*' && window.V && V.ShowMoves != "all";
+ return this.game.score == '*' && this.vr && this.vr.ShowMoves != "all";
},
turn: function() {
- return this.st.tr[(this.vr.turn == 'w' ? "White" : "Black") + " to move"];
+ return this.vr
+ ? this.st.tr[(this.vr.turn == 'w' ? "White" : "Black") + " to move"]
+ : "";
},
canAnalyze: function() {
- return this.game.mode != "analyze" && window.V && V.CanAnalyze;
+ return this.game.mode != "analyze" && this.vr && this.vr.CanAnalyze;
},
allowDownloadPGN: function() {
- return this.game.score != "*" || (window.V && V.ShowMoves == "all");
+ return this.game.score != "*" || (this.vr && this.vr.ShowMoves == "all");
}
},
created: function() {
const flags = V.ParseFen(game.fen).flags; //may be undefined
let dtLastMove = 0;
for (let midx = game.moves.length - 1; midx >= 0; midx--) {
- vr_tmp.undo(Object.assign({flags:flags}, game.moves[midx].squares));
+ // NOTE: flags could be wrong, but since our only concern is turn,
+ // this should be enough. (TODO?)
+ vr_tmp.undo(Object.assign({flags:JSON.stringify(flags)}, game.moves[midx].squares));
if (vr_tmp.turn == mycolor) {
dtLastMove = game.moves[midx].played;
break;