projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Chakart beta :)
[vchess.git]
/
client
/
src
/
components
/
BaseGame.vue
diff --git
a/client/src/components/BaseGame.vue
b/client/src/components/BaseGame.vue
index
e309c5d
..
dc78b2a
100644
(file)
--- a/
client/src/components/BaseGame.vue
+++ b/
client/src/components/BaseGame.vue
@@
-55,7
+55,7
@@
div#baseGame
@showrules="showRules"
@analyze="toggleAnalyze"
@goto-move="gotoMove"
@showrules="showRules"
@analyze="toggleAnalyze"
@goto-move="gotoMove"
- @re
set-arrows="resetArrows
"
+ @re
draw-board="redrawBoard
"
)
.clearer
</template>
)
.clearer
</template>
@@
-121,13
+121,15
@@
export default {
// TODO: is it OK to pass "computed" as properties?
// Also, some are seemingly not recomputed when vr is initialized.
showMoves: function() {
// TODO: is it OK to pass "computed" as properties?
// Also, some are seemingly not recomputed when vr is initialized.
showMoves: function() {
- return this.game.score != "*"
- ? "all"
- : (!!this.vr ? this.vr.showMoves : "none");
+ return (
+ !!this.game.score && this.game.score != "*"
+ ? "all"
+ : (!!this.vr ? this.vr.showMoves : "none")
+ );
},
showTurn: function() {
return (
},
showTurn: function() {
return (
- this.game.score == '*' &&
+
!!this.game.score &&
this.game.score == '*' &&
!!this.vr &&
(
this.vr.showMoves != "all" ||
!!this.vr &&
(
this.vr.showMoves != "all" ||
@@
-138,7
+140,7
@@
export default {
},
canAnalyze: function() {
return (
},
canAnalyze: function() {
return (
- this.game.mode != "analyze" &&
+
!!this.game.mode &&
this.game.mode != "analyze" &&
!!this.vr && this.vr.canAnalyze
);
},
!!this.vr && this.vr.canAnalyze
);
},
@@
-147,8
+149,8
@@
export default {
},
allowDownloadPGN: function() {
return (
},
allowDownloadPGN: function() {
return (
-
this.game.score != "*"
||
- (!!this.vr &&
this.vr.showMoves == "all"
)
+
(!!this.game.score && this.game.score != "*")
||
+ (!!this.vr &&
!this.vr.someHiddenMoves
)
);
}
},
);
}
},
@@
-200,9
+202,8
@@
export default {
if (e.deltaY < 0) this.undo();
else if (e.deltaY > 0) this.play();
},
if (e.deltaY < 0) this.undo();
else if (e.deltaY > 0) this.play();
},
- resetArrows: function() {
- // TODO: make arrows scale with board, and remove this
- this.$refs["board"].cancelResetArrows();
+ redrawBoard: function() {
+ this.$refs["board"].re_setDrawings();
},
showRules: function() {
// The button is here only on Game page:
},
showRules: function() {
// The button is here only on Game page:
@@
-278,12
+279,18
@@
export default {
},
toggleAnalyze: function() {
// Freeze while choices are shown (and autoplay has priority)
},
toggleAnalyze: function() {
// Freeze while choices are shown (and autoplay has priority)
- if (this.$refs["board"].choices.length > 0 || this.autoplay) return;
+ if (
+ this.inPlay ||
+ this.$refs["board"].choices.length > 0 ||
+ this.autoplay
+ ) {
+ return;
+ }
if (this.mode != "analyze") {
// Enter analyze mode:
if (this.mode != "analyze") {
// Enter analyze mode:
- if (this.inMultimove) this.cancelCurrentMultimove();
this.gameMode = this.mode; //was not 'analyze'
this.mode = "analyze";
this.gameMode = this.mode; //was not 'analyze'
this.mode = "analyze";
+ if (this.inMultimove) this.cancelCurrentMultimove();
this.gameCursor = this.cursor;
this.gameMoves = JSON.parse(JSON.stringify(this.moves));
document.getElementById("analyzeBtn").classList.add("active");
this.gameCursor = this.cursor;
this.gameMoves = JSON.parse(JSON.stringify(this.moves));
document.getElementById("analyzeBtn").classList.add("active");
@@
-462,7
+469,7
@@
export default {
// To play a received move, cursor must be at the end of the game:
this.gotoEnd();
}
// To play a received move, cursor must be at the end of the game:
this.gotoEnd();
}
- // The board may show some
the
possible moves: (TODO: bad solution)
+ // The board may show some possible moves: (TODO: bad solution)
this.$refs["board"].resetCurrentAttempt();
const playSubmove = (smove) => {
smove.notation = this.vr.getNotation(smove);
this.$refs["board"].resetCurrentAttempt();
const playSubmove = (smove) => {
smove.notation = this.vr.getNotation(smove);
@@
-507,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);