diff --git a/public/index.html b/public/index.html index 11b19403fcf453978867c3adb7422e4bac0db358..0b0a41de4d7dd0a18ab3a6fb8057a82da3c7825e 100644 --- a/public/index.html +++ b/public/index.html @@ -65,6 +65,7 @@ function joinRoom(roomNum) { const name = nameInput.value.trim(); + if (document.querySelectorAll('.player-count')[roomNum].textContent == "2") return alert('Full room'); if (!name) return alert('Please enter a name'); window.location.href = `/room${roomNum}?name=${encodeURIComponent(name)}`; } diff --git a/public/room.html b/public/room.html index 9d174cd5eef4b14dadee9ef686c5cc81e32a5a37..6a0f7af41fbc775ad13b5cf5dc66a2bfb7d46967 100644 --- a/public/room.html +++ b/public/room.html @@ -40,12 +40,15 @@ }); socket.on('startGame', ({ board, currentPlayer }) => { + const messages = document.getElementById('messages'); + messages.innerHTML += `<div><strong>Game starting</strong></div>`; drawBoard(board); + }); - socket.on('endGame', () => { + socket.on('stopGame', () => { const messages = document.getElementById('messages'); - messages.innerHTML += `<div></div>`; + messages.innerHTML += `<div><strong>Game Finish</strong></div>`; }); socket.on('updateGame', ({ board, currentPlayer, winner }) => { @@ -62,6 +65,7 @@ function sendMessage() { const message = document.getElementById('messageInput').value; socket.emit('chatMessage', message); + console.log("message sent"); document.getElementById('messageInput').value = ''; } diff --git a/server.js b/server.js index 7eec9bdae0f31c43fd13996299af2cd7917fd761..a307c3f75874d5936d45673a0c95e102073ed3eb 100644 --- a/server.js +++ b/server.js @@ -50,7 +50,7 @@ io.on('connection', (socket) => { let stopGame = (room, roomId) => { console.log("Not enough players in room " + roomId + ", game stops."); - io.to(roomId).emit('stopGame') + io.to(roomId).emit('stopGame'); }; let startGame = (room, roomId) => { @@ -71,6 +71,7 @@ io.on('connection', (socket) => { stopGame(currentRoom, currentRoom.id); } console.log("Player " + playerName + " leaved room " + currentRoom.id + "."); + socket.leave(currentRoom.id); currentRoom = null; io.emit('updateRooms', rooms); } @@ -96,6 +97,8 @@ io.on('connection', (socket) => { }); io.emit('updateRooms', rooms); + socket.join(roomId); + io.to(roomId).emit('updatePlayers', room.players); if (room.players.length === 2) { startGame(room, roomId); @@ -138,9 +141,9 @@ io.on('connection', (socket) => { socket.on('chatMessage', (message) => { if (!currentRoom) { - console.log("TEST " + currentRoom); return; } + console.log("Message "+message+" in room "+currentRoom.id+" from "+playerName); io.to(currentRoom.id).emit('message', { name: playerName, message @@ -148,6 +151,7 @@ io.on('connection', (socket) => { }); socket.on('disconnect', () => { + console.log("Player "+playerName+" disconnected"); leaveRooms(); }); }); diff --git a/test b/test new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391