Skip to content

Commit

Permalink
implemented room destructor
Browse files Browse the repository at this point in the history
  • Loading branch information
minhyeong-joe committed Aug 7, 2020
1 parent 2a5c688 commit 94e3b5f
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 14 deletions.
19 changes: 7 additions & 12 deletions models/room.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,4 @@
const rooms = [
{
name: "room1",
isPlaying: false,
password: null,
survived: [],
readyToVote: [],
votes: {},
answer: null,
spy: null
}
];
let rooms = [];

// create room
const createRoom = (roomName, password) => {
Expand All @@ -27,6 +16,11 @@ const createRoom = (roomName, password) => {
return room;
}

// remove room
const removeRoom = roomName => {
rooms = rooms.filter(room => room.name != roomName);
}

// get all rooms
const getAllRooms = () => {
return rooms;
Expand Down Expand Up @@ -119,6 +113,7 @@ const getSpy = roomName => {

module.exports = {
createRoom,
removeRoom,
getAllRooms,
startGame,
endGame,
Expand Down
1 change: 0 additions & 1 deletion public/scripts/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ document.addEventListener('DOMContentLoaded', () => {

// generate chat messages
const renderChatMessage = (sessionId, data) => {
console.log(data);
const div = document.createElement('div');
div.classList.add('message');
div.innerHTML = "";
Expand Down
8 changes: 7 additions & 1 deletion server.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const io = socketio(server);

const message = require("./models/message");
const { getAllUsers, userJoin, getCurrentUser, userLeave, getRoomUsers } = require('./models/user');
const { createRoom, getAllRooms, startGame, endGame, getReadyToVote, addReadyToVote, resetVotes, getSurvived, killSurvivor, addVote, getMostVoted, getTotalVotes, getAnswer, getSpy } = require('./models/room');
const { createRoom, removeRoom, getAllRooms, startGame, endGame, getReadyToVote, addReadyToVote, resetVotes, getSurvived, killSurvivor, addVote, getMostVoted, getTotalVotes, getAnswer, getSpy } = require('./models/room');
const { getAllWords, getRandomWord, getRandomSpy } = require('./models/game');

const PORT = process.env.PORT || 80;
Expand Down Expand Up @@ -202,8 +202,14 @@ io.on('connection', socket => {
// tell client game is over
io.to(user.room).emit('message', message(null, bot, `Spy Won!\n${spy.username} is the spy`));
io.to(user.room).emit('endGame');
return;
}
}
// destroy room if no one is in the room
if (getRoomUsers(user.room).length <= 0) {
removeRoom(user.room);
io.to('Public Area').emit('roomsChange', getAllRooms());
}
}
});
})
Expand Down

0 comments on commit 94e3b5f

Please sign in to comment.