this.cards = el}>
+ {
game && game.state === "active" &&
- <>
+ <>
In hand
diff --git a/server/routes/games.js b/server/routes/games.js
index cdb7a7f..96062db 100755
--- a/server/routes/games.js
+++ b/server/routes/games.js
@@ -97,34 +97,40 @@ for (let i = 0; i < 5; i++) {
const games = {};
const roll = (game, session) => {
- let message;
+ let message, error;
const player = session.player,
name = session.name ? session.name : "Unnamed";
switch (game.state) {
case "lobby":
- return `Rolling dice in the lobby is not allowed!`;
+ error = `Rolling dice in the lobby is not allowed!`;
case "game-order":
if (player.order) {
- return `Player ${name} already rolled for order.`;
+ error = `Player ${name} already rolled for order.`;
+ break;
}
+
game.dice = [ Math.ceil(Math.random() * 6) ];
player.order = game.dice[0];
message = `${name} rolled ${game.dice[0]} for play order.`;
- game.chat.push({ date: Date.now(), message: message });
break;
case "active":
game.dice = [ Math.ceil(Math.random() * 6), Math.ceil(Math.random() * 6) ];
message = `${name} rolled ${game.dice[0] + game.dice[1]}.`;
- game.chat.push({ date: Date.now(), message: message });
- return;
+ break;
default:
- return `Invalid game state (${game.state}) in roll.`;
+ error = `Invalid game state (${game.state}) in roll.`;
+ break;
}
+
+ if (!error && message) {
+ game.chat.push({ from: session.color, date: Date.now(), message: message });
+ }
+ return error;
};
const getPlayer = (game, color) => {