Feature added: Exit the game when opponent resigns

This commit is contained in:
Moon Patel
2023-07-05 21:44:41 +05:30
parent 128e86ecb4
commit 189f35a232
5 changed files with 50 additions and 10 deletions
+1
View File
@@ -7,6 +7,7 @@ const SOCKET_EVENTS = {
CHESS_MOVE: "move",
CHESS_OPPONENT_MOVE: "opponent-move",
USER_JOINED_ROOM: "user-joined-room",
USER_RESIGNED: "user-resigned",
};
module.exports = {
+16 -2
View File
@@ -1,7 +1,16 @@
const socket = require("socket.io");
const { SOCKET_EVENTS } = require("./constants");
const { CHESS_MOVE, CHESS_OPPONENT_MOVE, CONNECTION, JOIN_ROOM, JOIN_ROOM_ERROR, JOIN_ROOM_SUCCESS, ROOM_FULL } =
SOCKET_EVENTS;
const {
CHESS_MOVE,
CHESS_OPPONENT_MOVE,
CONNECTION,
JOIN_ROOM,
JOIN_ROOM_ERROR,
JOIN_ROOM_SUCCESS,
ROOM_FULL,
USER_JOINED_ROOM,
USER_RESIGNED,
} = SOCKET_EVENTS;
// roomID => { timeLimit,gameHistory , players:[{username: {color}}] }
let activeRooms = new Map();
@@ -63,6 +72,7 @@ function socketIOServerInit(server) {
io.to(roomID).emit("new user joined the room");
console.log(data, "joined");
let room = getRoom(roomID);
io.to(roomID).emit(USER_JOINED_ROOM, data.username);
socket.emit(result, room.gameHistory); // room joined successfully
} else {
socket.emit(result); // room is full
@@ -78,6 +88,10 @@ function socketIOServerInit(server) {
room.gameHistory.push(moveData);
socket.to(roomID).emit(CHESS_OPPONENT_MOVE, moveData);
});
socket.on(USER_RESIGNED, (roomID, username) => {
socket.to(roomID).emit(USER_RESIGNED, username);
});
});
}