From 8477e53d8e78606e4c4e4bf91c77b1011aab583c Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Thu, 20 Feb 2020 02:17:04 +0100 Subject: [PATCH] Fixes --- client/src/base_rules.js | 2 +- client/src/components/BaseGame.vue | 29 +-- client/src/components/ComputerGame.vue | 6 +- client/src/components/GameList.vue | 72 ++++---- client/src/components/MoveList.vue | 234 +++++++++++-------------- client/src/translations/en.js | 10 +- client/src/translations/es.js | 10 +- client/src/translations/fr.js | 11 +- client/src/utils/gameStorage.js | 83 ++++----- client/src/variants/Dark.js | 2 +- client/src/views/Game.vue | 91 +++++----- client/src/views/Hall.vue | 42 +++-- server/routes/challenges.js | 2 +- server/sockets.js | 7 +- 14 files changed, 275 insertions(+), 326 deletions(-) diff --git a/client/src/base_rules.js b/client/src/base_rules.js index 5ebe4997..295b4cd3 100644 --- a/client/src/base_rules.js +++ b/client/src/base_rules.js @@ -43,7 +43,7 @@ export const ChessRules = class ChessRules { } // Some variants cannot have analyse mode - static get CanAnalyse() { + static get CanAnalyze() { return true; } diff --git a/client/src/components/BaseGame.vue b/client/src/components/BaseGame.vue index 07d62cf7..c52f94c8 100644 --- a/client/src/components/BaseGame.vue +++ b/client/src/components/BaseGame.vue @@ -112,14 +112,6 @@ export default { "game.fenStart": function() { this.re_setVariables(); }, - // Received a new move to play: - "game.moveToPlay": function(move) { - if (move) this.play(move, "receive"); - }, - // ...Or to undo (corr game, move not validated) - "game.moveToUndo": function(move) { - if (move) this.undo(move); - } }, computed: { showMoves: function() { @@ -225,26 +217,21 @@ export default { }, re_setVariables: function() { this.endgameMessage = ""; - this.orientation = this.game.mycolor || "w"; //default orientation for observed games + // "w": default orientation for observed games + this.orientation = this.game.mycolor || "w"; this.moves = JSON.parse(JSON.stringify(this.game.moves || [])); - // 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.firstMoveNumber = Math.floor( - V.ParseFen(this.game.fenStart).movesCount / 2 - ); + // Post-processing: decorate each move with color, notation and FEN + let vr_tmp = new V(this.game.fenStart); + const parsedFen = V.ParseFen(this.game.fenStart); + const firstMoveColor = parsedFen.turn; + this.firstMoveNumber = Math.floor(parsedFen.movesCount / 2); this.moves.forEach(move => { - // NOTE: this is doing manually what play() function below achieve, - // but in a lighter "fast-forward" way move.color = vr_tmp.turn; move.notation = vr_tmp.getNotation(move); vr_tmp.play(move); move.fen = vr_tmp.getFen(); }); - if ( - (this.moves.length > 0 && this.moves[0].color == "b") || - (this.moves.length == 0 && vr_tmp.turn == "b") - ) { + if (firstMoveColor == "b") { // 'end' is required for Board component to check lastMove for e.p. this.moves.unshift({ color: "w", diff --git a/client/src/components/ComputerGame.vue b/client/src/components/ComputerGame.vue index 0d566a81..b1d2b370 100644 --- a/client/src/components/ComputerGame.vue +++ b/client/src/components/ComputerGame.vue @@ -1,5 +1,6 @@