projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Corr games: almost there. Then remote games + abort/resign/draw/message
[vchess.git]
/
client
/
src
/
components
/
BaseGame.vue
diff --git
a/client/src/components/BaseGame.vue
b/client/src/components/BaseGame.vue
index
4a40a3a
..
19aaf15
100644
(file)
--- a/
client/src/components/BaseGame.vue
+++ b/
client/src/components/BaseGame.vue
@@
-22,17
+22,8
@@
a#download(href="#")
.button-group
button#downloadBtn(@click="download") {{ st.tr["Download PGN"] }}
a#download(href="#")
.button-group
button#downloadBtn(@click="download") {{ st.tr["Download PGN"] }}
-
// TODO: Import game button copy game locally in IndexedDB
//button Import game
// TODO: Import game button copy game locally in IndexedDB
//button Import game
-
-
-// TODO: do not use localStorage for current game, but directly indexedDB
-// update function is similar
-// ==> retrieval functions must filter on score, and potential "imported" tag
-// ==> this should allow several simultaneous games
-
-
//MoveList(v-if="showMoves"
:moves="moves" :cursor="cursor" @goto-move="gotoMove")
</template>
//MoveList(v-if="showMoves"
:moves="moves" :cursor="cursor" @goto-move="gotoMove")
</template>
@@
-94,13
+85,14
@@
export default {
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)
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.moves.forEach(move => {
// NOTE: this is doing manually what play() function below achieve,
// but in a lighter "fast-forward" way
this.moves.forEach(move => {
// NOTE: this is doing manually what play() function below achieve,
// but in a lighter "fast-forward" way
- move.color =
this.vr
.turn;
- move.notation =
this.vr
.getNotation(move);
-
this.vr
.play(move);
- move.fen =
this.vr
.getFen();
+ move.color =
vr_tmp
.turn;
+ move.notation =
vr_tmp
.getNotation(move);
+
vr_tmp
.play(move);
+ move.fen =
vr_tmp
.getFen();
});
const L = this.moves.length;
this.cursor = L-1;
});
const L = this.moves.length;
this.cursor = L-1;
@@
-243,10
+235,12
@@
export default {
this.moves = this.moves.slice(0,this.cursor).concat([move]);
}
}
this.moves = this.moves.slice(0,this.cursor).concat([move]);
}
}
- // Is opponent in check? (TODO: generalize, find all check squares)
+ if (!this.analyze)
+ this.$emit("newmove", move); //post-processing (e.g. computer play)
+ // Is opponent in check?
this.incheck = this.vr.getCheckSquares(this.vr.turn);
const score = this.vr.getCurrentScore();
this.incheck = this.vr.getCheckSquares(this.vr.turn);
const score = this.vr.getCurrentScore();
- if (score != "*")
//TODO: generalize score for 3 or 4 players
+ if (score != "*")
{
if (!this.analyze)
this.endGame(score);
{
if (!this.analyze)
this.endGame(score);
@@
-257,8
+251,6
@@
export default {
this.showEndgameMsg(score + " . " + message);
}
}
this.showEndgameMsg(score + " . " + message);
}
}
- if (!this.analyze)
- this.$emit("newmove", move); //post-processing (e.g. computer play)
},
undo: function(move) {
const navigate = !move;
},
undo: function(move) {
const navigate = !move;