Fix bug with no random + prevent user from starting game + ENV vars

This commit is contained in:
Lucien Astié 2024-08-12 11:47:59 +02:00
parent f80ff9c60d
commit 1f3b6ec70a
6 changed files with 66 additions and 30 deletions

View file

@ -52,18 +52,30 @@ app.prepare().then(() => {
console.log("User connected " + socket.id)
socket.on('room_connect', (params) => {
// IF ROOM DOESN'T EXISTS
if(!Object.keys(active_rooms).includes(params.id)){
console.log("First person joined " + params.id + " ! " + params.name + " is owner.")
active_rooms[params.id] = { users: [{id: socket.id, name: params.name, avatar: params.avatar, browserId: params.browserId, connected: true, role: "owner", vote: ""}]}
active_rooms[params.id] = { gameStarted: false, users: [{id: socket.id, name: params.name, avatar: params.avatar, browserId: params.browserId, connected: true, role: "owner", vote: ""}]}
socket.emit("room_joined", {"room_users": active_rooms[params.id].users, role: "owner"})
} else {
}
// IF ROOM EXISTS
else {
let userIndexByBrowserId = findUserByBrowserId(params.id, params.browserId)
// IF USER ALREADY CONNECTED
if(userIndexByBrowserId != null) {
active_rooms[params.id].users[userIndexByBrowserId].connected = true
active_rooms[params.id].users[userIndexByBrowserId].id = socket.id
socket.emit("room_joined", {"room_users": active_rooms[params.id].users, role: active_rooms[params.id].users[userIndexByBrowserId].role})
socket.emit("start_game",{possibleChoice: active_rooms[params.id].possibleChoice, question: active_rooms[params.id].question, questionNbr: active_rooms[params.id].questionNbr, duration: 15})
} else {
if(active_rooms[params.id].gameStarted){
socket.emit("start_game",{possibleChoice: active_rooms[params.id].possibleChoice, question: active_rooms[params.id].question, questionNbr: active_rooms[params.id].questionNbr, duration: 15})
}
}
// IF USER DIDN'T CONNECT ONCE
else {
socket.to(params.id).emit("new_player",{"id": socket.id, "name": params.name, avatar: params.avatar, browserId: params.browserId, connected: true, role: "player"})
active_rooms[params.id].users.push({id: socket.id, name: params.name, avatar: params.avatar, browserId: params.browserId, connected: true, role: "player", vote: ""})
socket.emit("room_joined", {"room_users": active_rooms[params.id].users, role: "player"})
@ -78,6 +90,7 @@ app.prepare().then(() => {
active_rooms[params.roomId].questionNbr = 1
active_rooms[params.roomId].possibleChoice = params.possibleChoice
active_rooms[params.roomId].duration = params.duration
active_rooms[params.roomId].gameStarted = true
socket.to(params.roomId).emit("start_game",{possibleChoice: params.possibleChoice, question: params.question, questionNbr: 1, duration: params.duration})
})