Fix turn when player disconnect
All checks were successful
gitea/minesweeper-backend/pipeline/head This commit looks good

This commit is contained in:
Jose134 2025-01-22 18:02:14 +01:00
parent 08cf12ad99
commit e1c0ae1953

View File

@ -54,7 +54,13 @@ const playerRoomMap = new Map();
const handleDisconnect = (socket, playerRoomMap) => { const handleDisconnect = (socket, playerRoomMap) => {
const playerRoom = playerRoomMap.get(socket.id); const playerRoom = playerRoomMap.get(socket.id);
if (playerRoom) { if (playerRoom) {
if (playerRoom.currentPlayer === socket.id) {
playerRoom.currentPlayer = getNextPlayer(playerRoom.players, socket.id);
}
playerRoom.players = playerRoom.players.filter(user => user.socketId !== socket.id); playerRoom.players = playerRoom.players.filter(user => user.socketId !== socket.id);
if (checkLoseCondition(playerRoom.players)) {
playerRoom.gameState = "lost";
}
io.to(playerRoom.id).emit('roomUserLeft', buildRoomView(playerRoom)); io.to(playerRoom.id).emit('roomUserLeft', buildRoomView(playerRoom));
} }
playerRoomMap.delete(socket.id); playerRoomMap.delete(socket.id);