From c0d907379e73857dd2c9cbd550be36bfb6a182d4 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 28 Feb 2021 20:49:19 -0700 Subject: [PATCH] Rename and implement randomize teams event. --- server/src/events/RandomizeTeam.ts | 31 --------------------- server/src/events/RandomizeTeams.ts | 43 +++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 31 deletions(-) delete mode 100644 server/src/events/RandomizeTeam.ts create mode 100644 server/src/events/RandomizeTeams.ts diff --git a/server/src/events/RandomizeTeam.ts b/server/src/events/RandomizeTeam.ts deleted file mode 100644 index 7cb5326..0000000 --- a/server/src/events/RandomizeTeam.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { games, log } from '../main'; -import { Server, Socket } from 'socket.io'; - -export default (io: Server, socket: Socket, data: RandomizeTeam) => { - try { - socket.emit(`RandomizeTeam`, { - status: 501, - message: `Not Implemented Yet`, - source: `RandomizeTeam`, - }); - - // Assert game exists - if (!games[data.game_code]) { - log.debug(`Can't find game with code: ${data.game_code}`); - socket.emit(`RandomizedTeams`, { - status: 404, - message: `Game with code ${data.game_code} could not be found`, - source: `RandomizeTeams` - }); - return; - }; - } - catch (err) { - log.prettyError(err); - socket.emit(`RandomizeTeam`, { - status: 500, - message: `${err.name}: ${err.message}`, - source: `RandomizeTeam`, - }); - }; -}; \ No newline at end of file diff --git a/server/src/events/RandomizeTeams.ts b/server/src/events/RandomizeTeams.ts new file mode 100644 index 0000000..77ba9ef --- /dev/null +++ b/server/src/events/RandomizeTeams.ts @@ -0,0 +1,43 @@ +import { games, log } from '../main'; +import { Server, Socket } from 'socket.io'; + +export default (io: Server, socket: Socket, data: RandomizeTeams) => { + try { + + // Assert game exists + if (!games[data.game_code]) { + log.debug(`Can't find game with code: ${data.game_code}`); + socket.emit(`RandomizedTeams`, { + status: 404, + message: `Game with code ${data.game_code} could not be found`, + source: `RandomizeTeams` + }); + return; + }; + let game = games[data.game_code]; + + // Randomly assign each player to a team (only on mediums, let players + // pick which of them is the spirit) + for (var player of game.players) { + let new_team: 1|2 = Math.floor(Math.random() * 2) + 1 as 1|2; + player.team = new_team; + player.role = `guesser`; + game.log.debug(`Set ${player.name} to a medium on team ${player.team}`); + }; + + game.log.info(`Randomized all players`); + // Send the new player list to all players + io.to(game.id).send(`RandomizedTeams`, { + status: 200, + players: game.playerData + }); + } + catch (err) { + log.prettyError(err); + socket.emit(`RandomizedTeams`, { + status: 500, + message: `${err.name}: ${err.message}`, + source: `RandomizeTeams`, + }); + }; +}; \ No newline at end of file