X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FGame.vue;h=923e9400ac73f6f8656918bf48e53d59b0ee7529;hb=411d23cd80a2dbf53d21008976d34e7f450154bf;hp=f00dc92b298efc8ab91e3c958daf7a3260e28b38;hpb=dce792f64ab0a311d348a6eb05c440dd1b170bd3;p=vchess.git diff --git a/client/src/views/Game.vue b/client/src/views/Game.vue index f00dc92b..923e9400 100644 --- a/client/src/views/Game.vue +++ b/client/src/views/Game.vue @@ -61,7 +61,7 @@ export default { rid: "" }, game: { }, //passed to BaseGame - oppConnected: false, + oppConnected: false, //TODO: use for styling corrMsg: "", //to send offline messages in corr games virtualClocks: [0, 0], //initialized with true game.clocks vr: null, //"variant rules" object initialized from FEN @@ -152,18 +152,21 @@ export default { case "pong": //received if we sent a ping (game still alive on our side) { this.oppConnected = true; - // Send our "last state" informations to opponent(s) - const L = this.game.moves.length; - this.st.conn.send(JSON.stringify({ - code: "lastate", - target: this.game.oppid, - gameId: this.gameRef.id, - lastMove: (L>0 ? this.game.moves[L-1] : undefined), - score: this.game.score, - movesCount: L, - drawOffer: this.drawOffer, - clocks: this.game.clocks, - })); + if (this.game.type == "live") //corr games are always complete + { + // Send our "last state" informations to opponent(s) + const L = this.game.moves.length; + this.st.conn.send(JSON.stringify({ + code: "lastate", + target: this.game.oppid, + gameId: this.gameRef.id, + lastMove: (L>0 ? this.game.moves[L-1] : undefined), + score: this.game.score, + movesCount: L, + drawOffer: this.drawOffer, + clocks: this.game.clocks, + })); + } break; } case "lastate": //got opponent infos about last move @@ -319,7 +322,12 @@ export default { // TODO: compute clocks + initime } const tc = extractTime(game.timeControl); - const myIdx = game.players.findIndex(p => p.sid == this.st.user.sid); + // TODO: this is not really beautiful (uid on corr players...) + if (gtype == "corr" && game.players[0].color == "b") + [ game.players[0], game.players[1] ] = [ game.players[1], game.players[0] ]; + const myIdx = game.players.findIndex(p => { + return p.sid == this.st.user.sid || p.uid == this.st.user.id; + }); if (game.clocks[0] < 0) //game unstarted { game.clocks = [tc.mainTime, tc.mainTime];