Make guessing phase while hearing
All checks were successful
Publish Docker image / Push Docker image to Docker Hub (push) Successful in 1m55s

This commit is contained in:
2025-03-01 15:57:31 +01:00
parent 33a1715adc
commit 2fb5af4171
4 changed files with 78 additions and 11 deletions

View File

@ -26,7 +26,7 @@ const initializeGameState = (roomId) => {
roundStartTime: null,
phaseTimeLimit: {
composing: 30,
guessing: 30
guessing: 10
},
lastFrequency: 440,
};
@ -55,11 +55,14 @@ const startNewRound = async (roomId) => {
gameState.currentComposer = determineNextComposer(roomId, gameState, users);
const success = await selectSongAndOptions(gameState);
if (!success) return false;
users.forEach(user => {
gameState.roles[user.id] = user.id === gameState.currentComposer ? 'composer' : 'guesser';
});
return await selectSongAndOptions(gameState);
return true;
};
const determineNextComposer = (roomId, gameState, users) => {

View File

@ -55,18 +55,22 @@ module.exports = (io) => (socket) => {
const roles = gameController.getRoles(roomId);
const selectedSong = gameController.getSelectedSong(roomId);
const timeLeft = gameController.getTimeRemaining(roomId);
const songOptions = gameController.getSongOptions(roomId);
io.to(roomId).emit('roles-assigned', roles);
Object.entries(roles).forEach(([userId, role]) => {
if (role === 'composer') {
io.to(userId).emit('song-selected', selectedSong);
} else {
io.to(userId).emit('song-options', { songOptions });
}
});
io.to(roomId).emit('round-started', {
round: gameController.getRoundResults(roomId).round,
timeRemaining: timeLeft
timeRemaining: timeLeft,
phase: 'composing'
});
startPhaseTimer(roomId);
@ -84,7 +88,8 @@ module.exports = (io) => (socket) => {
io.to(roomId).emit('phase-changed', {
phase: 'guessing',
timeRemaining: timeLeft
timeRemaining: timeLeft,
message: 'Time to submit your final answer!'
});
Object.entries(roles).forEach(([userId, role]) => {