1
0

resetGame fixes for new games

Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
This commit is contained in:
James Ketrenos 2022-02-28 00:01:49 -08:00
parent eee064ed57
commit 89ad5ac1dd
4 changed files with 28 additions and 16 deletions

View File

@ -15,7 +15,7 @@ const Board = ({ table, game }) => {
const [transform, setTransform] = useState(1);
const
const
hexRatio = 1.1547,
tileWidth = 67,
tileHalfWidth = tileWidth * 0.5,

View File

@ -7,7 +7,6 @@
top: 0;
justify-content: center;
align-items: center;
background: rgba(0,0,0,0.5);
z-index: 1000;
}

View File

@ -7,7 +7,6 @@
top: 0;
justify-content: center;
align-items: center;
background: rgba(0,0,0,0.5);
z-index: 1000;
}

View File

@ -2687,6 +2687,7 @@ const resetGame = (game) => {
console.log(`Reseting ${game.id}`);
Object.assign(game, {
startTime: Date.now(),
state: 'lobby',
turn: 0,
sheep: 19,
@ -2699,7 +2700,13 @@ const resetGame = (game) => {
roads: []
},
developmentCards: [],
chat: [],
turn: {},
pipOrder: game.pipOrder,
borderOrder: game.borderOrder,
tileOrder: game.tileOrder,
signature: game.signature,
players: game.players
});
delete game.longestRoad;
@ -2707,7 +2714,12 @@ const resetGame = (game) => {
delete game.longestRoadLength;
delete game.winner;
delete game.longestRoad;
/* Reset all player data */
for (let color in game.players) {
clearPlayer(game.players[color]);
}
/* Populate the game corner and road placement data as cleared */
for (let i = 0; i < layout.corners.length; i++) {
game.placements.corners[i] = {
@ -2745,11 +2757,6 @@ const resetGame = (game) => {
shuffle(game.developmentCards);
/* Reset all player data */
for (let color in game.players) {
clearPlayer(game.players[color]);
}
/* Ensure sessions are connected to player objects */
for (let key in game.sessions) {
const session = game.sessions[key];
@ -2786,21 +2793,28 @@ const createGame = (id) => {
}
const game = {
id: id
id: id,
developmentCards: [],
players: {
O: newPlayer(),
R: newPlayer(),
B: newPlayer(),
W: newPlayer()
}
};
console.log(`New game created with Beginner's Layout: ${game.id}`);
addChatMessage(game, null,
`New game created with Beginner's Layout: ${game.id}`);
[ "pips", "borders", "tiles" ].forEach((field) => {
game[field] = staticData[field]
});
setBeginnerGame(game);
resetGame(game);
console.log(`New game created with Beginner's Layout: ${game.id}`);
addChatMessage(game, null,
`New game created with Beginner's Layout: ${game.id}`);
games[game.id] = game;
setBeginnerGame(game);
return game;
};
@ -2845,7 +2859,7 @@ const setBeginnerGame = (game) => {
game.signature = gameSignature(game);
}
const shuffleBoard = (game, beginnersGame) => {
const shuffleBoard = (game) => {
pickRobber(game);
const seq = [];