| 
																	
																	
																	
																 | 
																@ -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) | 
																 | 
																 | 
																var room = function(capacityP, pass, owner) | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																    //max capacity of room -- default is 4 for now
 | 
																 | 
																 | 
																    //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 | 
																 | 
																 | 
																     * @param p | 
															
														
														
													
														
															
																 | 
																 | 
																     */ | 
																 | 
																 | 
																     */ | 
															
														
														
													
														
															
																 | 
																 | 
																    this.removeUser = function(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() | 
																 | 
																 | 
																    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) | 
																 | 
																 | 
																    this.canJoin = function(p) | 
															
														
														
													
														
															
																 | 
																 | 
																    { | 
																 | 
																 | 
																    { | 
															
														
														
													
														
															
																 | 
																 | 
																        if(this.password == null) | 
																 | 
																 | 
																        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) | 
																 | 
																 | 
																var player = function(s) | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																    //name of the user
 | 
																 | 
																 | 
																    //name of the user
 | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -101,8 +118,16 @@ var player = function(s) | 
															
														
														
													
														
															
																 | 
																 | 
																    this.room = null; | 
																 | 
																 | 
																    this.room = null; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    this.sumbission = 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 = {}; | 
																 | 
																 | 
																var players = {}; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -114,6 +139,8 @@ const port = 3000; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																const serverUtils = require('./serverUtils.js'); | 
																 | 
																 | 
																const serverUtils = require('./serverUtils.js'); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																//Whenever someone connects this gets executed
 | 
																 | 
																 | 
																//Whenever someone connects this gets executed
 | 
															
														
														
													
														
															
																 | 
																 | 
																io.on('connection', function(socket) | 
																 | 
																 | 
																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) { | 
																 | 
																 | 
																    socket.on('joinRoom', function(data) { | 
															
														
														
													
														
															
																 | 
																 | 
																        console.log("join room event called"); | 
																 | 
																 | 
																        console.log("join room event called"); | 
															
														
														
													
														
															
																 | 
																 | 
																        console.log(data); | 
																 | 
																 | 
																        console.log(data); | 
															
														
														
													
														
															
																 | 
																 | 
																        console.log("  "); | 
																 | 
																 | 
																        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 | 
																 | 
																 | 
																        else | 
															
														
														
													
														
															
																 | 
																 | 
																        { | 
																 | 
																 | 
																        { | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -175,13 +203,16 @@ io.on('connection', function(socket) | 
															
														
														
													
														
															
																 | 
																 | 
																        } | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																    }); | 
																 | 
																 | 
																    }); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    /** | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																     * data -- literally a string | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																     */ | 
															
														
														
													
														
															
																 | 
																 | 
																    socket.on('submitWord', function(data) { | 
																 | 
																 | 
																    socket.on('submitWord', function(data) { | 
															
														
														
													
														
															
																 | 
																 | 
																        console.log("submitWord called"); | 
																 | 
																 | 
																        console.log("submitWord called"); | 
															
														
														
													
														
															
																 | 
																 | 
																        console.log(data); | 
																 | 
																 | 
																        console.log(data); | 
															
														
														
													
														
															
																 | 
																 | 
																        console.log("  "); | 
																 | 
																 | 
																        console.log("  "); | 
															
														
														
													
														
															
																 | 
																 | 
																    }); | 
																 | 
																 | 
																    }); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    //Whenever someone disconnects this piece of code executed
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    //Whenever someone disconnects
 | 
															
														
														
													
														
															
																 | 
																 | 
																    socket.on('disconnect', function () { | 
																 | 
																 | 
																    socket.on('disconnect', function () { | 
															
														
														
													
														
															
																 | 
																 | 
																        console.log('A user disconnected'); | 
																 | 
																 | 
																        console.log('A user disconnected'); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -196,6 +227,8 @@ io.on('connection', function(socket) | 
															
														
														
													
														
															
																 | 
																 | 
																            player.room.removeUser(player); | 
																 | 
																 | 
																            player.room.removeUser(player); | 
															
														
														
													
														
															
																 | 
																 | 
																        } | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        players[player.name] = null; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    }); | 
																 | 
																 | 
																    }); | 
															
														
														
													
														
															
																 | 
																 | 
																}); | 
																 | 
																 | 
																}); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
 |