projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
A few fixes (for updateCastleFlags()) + add Madhouse and Pocketknight variants
[vchess.git]
/
client
/
src
/
components
/
BaseGame.vue
diff --git
a/client/src/components/BaseGame.vue
b/client/src/components/BaseGame.vue
index
79f089e
..
87d18ab
100644
(file)
--- a/
client/src/components/BaseGame.vue
+++ b/
client/src/components/BaseGame.vue
@@
-51,6
+51,7
@@
div#baseGame
:firstNum="firstMoveNumber"
:moves="moves"
:cursor="cursor"
:firstNum="firstMoveNumber"
:moves="moves"
:cursor="cursor"
+ :vname="game.vname"
@download="download"
@showrules="showRules"
@analyze="toggleAnalyze"
@download="download"
@showrules="showRules"
@analyze="toggleAnalyze"
@@
-86,6
+87,7
@@
export default {
endgameMessage: "",
orientation: "w",
mode: "",
endgameMessage: "",
orientation: "w",
mode: "",
+ gameMode: "",
score: "*", //'*' means 'unfinished'
moves: [],
cursor: -1, //index of the move just played
score: "*", //'*' means 'unfinished'
moves: [],
cursor: -1, //index of the move just played
@@
-140,7
+142,7
@@
export default {
},
canAnalyze: function() {
return (
},
canAnalyze: function() {
return (
-
!!this.game.mode && this.game.mode != "analyze"
&&
+
(!this.game.mode || this.game.mode != "analyze")
&&
!!this.vr && this.vr.canAnalyze
);
},
!!this.vr && this.vr.canAnalyze
);
},
@@
-250,12
+252,10
@@
export default {
const checkSquares = this.vr.getCheckSquares();
if (checkSquares.length > 0) m.notation += "+";
if (idxM == Lm - 1) m.fen = this.vr.getFen();
const checkSquares = this.vr.getCheckSquares();
if (checkSquares.length > 0) m.notation += "+";
if (idxM == Lm - 1) m.fen = this.vr.getFen();
- if (idx == L - 1 && idxM == Lm - 1) {
- this.incheck = checkSquares;
- this.score = this.vr.getCurrentScore();
- if (["1-0", "0-1"].includes(this.score)) m.notation += "#";
- }
+ if (idx == L - 1 && idxM == Lm - 1) this.incheck = checkSquares;
});
});
+ this.score = this.vr.getCurrentScore();
+ if (["1-0", "0-1"].includes(this.score)) m.notation += "#";
});
}
if (firstMoveColor == "b") {
});
}
if (firstMoveColor == "b") {
@@
-288,16
+288,16
@@
export default {
}
if (this.mode != "analyze") {
// Enter analyze mode:
}
if (this.mode != "analyze") {
// Enter analyze mode:
+ this.gameMode = this.mode; //was not 'analyze'
this.mode = "analyze";
if (this.inMultimove) this.cancelCurrentMultimove();
this.mode = "analyze";
if (this.inMultimove) this.cancelCurrentMultimove();
- this.gameMode = this.mode; //was not 'analyze'
this.gameCursor = this.cursor;
this.gameMoves = JSON.parse(JSON.stringify(this.moves));
document.getElementById("analyzeBtn").classList.add("active");
}
else {
// Exit analyze mode:
this.gameCursor = this.cursor;
this.gameMoves = JSON.parse(JSON.stringify(this.moves));
document.getElementById("analyzeBtn").classList.add("active");
}
else {
// Exit analyze mode:
- this.mode = this.gameMode
;
+ this.mode = this.gameMode;
this.cursor = this.gameCursor;
this.moves = this.gameMoves;
let fen = this.game.fenStart;
this.cursor = this.gameCursor;
this.moves = this.gameMoves;
let fen = this.game.fenStart;
@@
-463,11
+463,11
@@
export default {
this.stackToPlay.unshift(move);
return;
}
this.stackToPlay.unshift(move);
return;
}
- this.inPlay = true;
if (this.mode == "analyze") this.toggleAnalyze();
if (this.cursor < this.moves.length - 1)
// To play a received move, cursor must be at the end of the game:
this.gotoEnd();
if (this.mode == "analyze") this.toggleAnalyze();
if (this.cursor < this.moves.length - 1)
// To play a received move, cursor must be at the end of the game:
this.gotoEnd();
+ this.inPlay = true;
}
// The board may show some possible moves: (TODO: bad solution)
this.$refs["board"].resetCurrentAttempt();
}
// The board may show some possible moves: (TODO: bad solution)
this.$refs["board"].resetCurrentAttempt();
@@
-514,8
+514,9
@@
export default {
(function executeMove() {
const smove = move[moveIdx++];
// NOTE: condition "smove.start.x >= 0" required for Dynamo,
(function executeMove() {
const smove = move[moveIdx++];
// NOTE: condition "smove.start.x >= 0" required for Dynamo,
- // because second move may be empty.
- if (animate && smove.start.x >= 0) {
+ // because second move may be empty. noHighlight condition
+ // is used at least for Chakart.
+ if (animate && smove.start.x >= 0 && !smove.end.noHighlight) {
self.animateMove(smove, () => {
playSubmove(smove);
if (moveIdx < move.length) setTimeout(executeMove, 500);
self.animateMove(smove, () => {
playSubmove(smove);
if (moveIdx < move.length) setTimeout(executeMove, 500);