diff --git a/googletrendsgame/server/server.js b/googletrendsgame/server/server.js index 12a6717..d60ec16 100644 --- a/googletrendsgame/server/server.js +++ b/googletrendsgame/server/server.js @@ -1,7 +1,11 @@ -//list of all the rooms -var rooms = {}; +/** + * Object used for storing rooms + * @param capacityP -- the number of people that can be in room + * @param pass -- the room password -- null if none + * @param owner -- the person who is creating the room + */ var room = function(capacityP, pass, owner) { //max capacity of room -- default is 4 for now @@ -39,7 +43,8 @@ var room = function(capacityP, pass, owner) } /** - * + * Removes a specific user from the room and adjusts the size of the array + * if the array is empty, the room closes * @param p */ this.removeUser = function(p) @@ -67,11 +72,20 @@ var room = function(capacityP, pass, owner) } } + /** + * creates json to send in the 'roomUpdate' socket event + */ this.generateRoomUpdate() { } + /** + * Whether or not a user can join this room -- checks for number of people are + * already in the room and the password + * @param p + * @returns {boolean} + */ this.canJoin = function(p) { if(this.password == null) @@ -86,6 +100,9 @@ var room = function(capacityP, pass, owner) } +//list of all the rooms +var rooms = {}; + var player = function(s) { //name of the user @@ -101,8 +118,16 @@ var player = function(s) this.room = null; this.sumbission = null; -} + /** + * generate the json object used in 'roomUpdate' socket io event + */ + this.genJASON = function() + { + + } +} +//list of all players --accessed using names like a dic var players = {}; @@ -114,6 +139,8 @@ const port = 3000; const serverUtils = require('./serverUtils.js'); + + //Whenever someone connects this gets executed io.on('connection', function(socket) { @@ -158,16 +185,17 @@ io.on('connection', function(socket) }); /** - * + * Room Selection (joinRoom) Client => Server + * data {roomName: , password: } */ socket.on('joinRoom', function(data) { console.log("join room event called"); console.log(data); console.log(" "); - if(rooms[data.name].canJoin(data.password)) + if(rooms[data.roomName].canJoin(data.password)) { - rooms[data.name].addUser(player); + rooms[data.roomName].addUser(player); } else { @@ -175,13 +203,16 @@ io.on('connection', function(socket) } }); + /** + * data -- literally a string + */ socket.on('submitWord', function(data) { console.log("submitWord called"); console.log(data); console.log(" "); }); - //Whenever someone disconnects this piece of code executed + //Whenever someone disconnects socket.on('disconnect', function () { console.log('A user disconnected'); @@ -196,6 +227,8 @@ io.on('connection', function(socket) player.room.removeUser(player); } + players[player.name] = null; + }); }); diff --git a/googletrendsgame/server/utils.js b/googletrendsgame/server/utils.js index f647cc8..fa2633d 100644 --- a/googletrendsgame/server/utils.js +++ b/googletrendsgame/server/utils.js @@ -12,5 +12,15 @@ module.exports= getRandomWord : function() { return ''; + }, + + /** + * returns a specific amount of words -- unique + * @param num + * @returns {Array} + */ + getRandomWords : function(num) + { + return []; } }; \ No newline at end of file