From a156b39d17f350bc598d890144bacd0606c4c6e1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Jakse?= Date: Sun, 5 Apr 2020 10:35:53 +0200 Subject: [PATCH] command joinGame is not needed anymore --- trivabble-server.js | 39 +++++++++++++++++---------------------- trivabble.js | 4 ++-- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/trivabble-server.js b/trivabble-server.js index 784f796..f5dc09c 100644 --- a/trivabble-server.js +++ b/trivabble-server.js @@ -418,30 +418,30 @@ function countTiles(rack) { return count; } -function handleCommand(cmd, gameNumber, playerName, response) { - var game = games[gameNumber]; +function joinGame(gameNumber, game, playerName) { + if (!gameNumber) { + gameNumber = newGameId(); + } - if (!game && (cmd.cmd !== "joinGame")) { - response.write("{\"error\":1,\"reason\":\"Missing or bad game number\"}"); - return; + if (!game) { + game = games[gameNumber] = new Game(); } + game.playerJoined(playerName); + + return {gameNumber, game}; +} + +function handleCommand(cmd, gameNumber, playerName, response) { + var game = games[gameNumber]; + + ({gameNumber, game} = joinGame(gameNumber, game, playerName)); game.lastUpdated = new Date(); var rack = null; switch (cmd.cmd) { case "joinGame": - if (!gameNumber) { - gameNumber = newGameId(); - } - - if (!game) { - game = games[gameNumber] = new Game(); - } - - game.playerJoined(playerName); - response.write( JSON.stringify({ "error": 0, @@ -659,17 +659,12 @@ function handleCommand(cmd, gameNumber, playerName, response) { function handleCommands(cmds, responseAndIsES) { if (!cmds.cmds || !cmds.cmds.length) { - var game = games[cmds.gameNumber]; - - if (!game) { - writeResponse(responseAndIsES, "{\"error\":1,\"reason\":\"Missing or bad game number\"}", true); - return; - } + var {gameNumber, game} = joinGame(cmds.gameNumber, game, cmds.playerName); writeResponse(responseAndIsES, JSON.stringify({ "playerName": cmds.playerName, - "gameNumber": cmds.gameNumber, + "gameNumber": gameNumber, "letterValues": game.letterValues, "rack": game.getPlayerRack(cmds.playerName), "board": game.board, diff --git a/trivabble.js b/trivabble.js index 7960f78..8f1761d 100644 --- a/trivabble.js +++ b/trivabble.js @@ -717,7 +717,7 @@ return; } - if (!pollingReady && ((data.cmds && data.cmds.length) && data.cmds[0].cmd !== "joinGame")) { + if (!pollingReady && (data.cmds && data.cmds.length)) { sendCmds(); setTimeout(send.bind(null, data), POLLING_DELAY); return; @@ -895,7 +895,7 @@ if (number) { localStorage.trivabbleGameNumber = number; } - sendCmds([{cmd:"joinGame"}]); + sendCmds(); } var audioTileLoaded = false, audioMsgLoaded = false, tilesSound, msgSound; -- 2.30.2