|
@ -1,8 +1,6 @@ |
|
|
var app = require('express')(); |
|
|
|
|
|
var http = require('http').Server(app); |
|
|
|
|
|
var io = require('socket.io')(http); |
|
|
|
|
|
|
|
|
|
|
|
const port = 3000; |
|
|
|
|
|
|
|
|
//list of all the rooms
|
|
|
|
|
|
var rooms = []; |
|
|
|
|
|
|
|
|
var room = function(capacityP, roomN) |
|
|
var room = function(capacityP, roomN) |
|
|
{ |
|
|
{ |
|
@ -15,27 +13,54 @@ var room = function(capacityP, roomN) |
|
|
//list of words used in the game
|
|
|
//list of words used in the game
|
|
|
this.words = []; |
|
|
this.words = []; |
|
|
|
|
|
|
|
|
//list of clients sockets -- so we can push requests to them
|
|
|
|
|
|
|
|
|
//list players -- so we can push requests to them
|
|
|
this.users = []; |
|
|
this.users = []; |
|
|
|
|
|
|
|
|
//increments when rounds pass
|
|
|
//increments when rounds pass
|
|
|
this.currentRoom = 0; |
|
|
this.currentRoom = 0; |
|
|
|
|
|
|
|
|
|
|
|
// the password of the room -- null if no password
|
|
|
|
|
|
this.password = null; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* adds a user to a room |
|
|
* adds a user to a room |
|
|
* @param socket |
|
|
|
|
|
|
|
|
* @param p |
|
|
|
|
|
* return 0 if they could join |
|
|
|
|
|
*/ |
|
|
|
|
|
this.addUser = function(player) |
|
|
|
|
|
{ |
|
|
|
|
|
//check if room is not full
|
|
|
|
|
|
if(this.users.length != this.capacity) |
|
|
|
|
|
{ |
|
|
|
|
|
this.users.push(player) |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* |
|
|
|
|
|
* @param p |
|
|
*/ |
|
|
*/ |
|
|
this.addUser = function(socket) |
|
|
|
|
|
|
|
|
this.removeUser = function(p) |
|
|
{ |
|
|
{ |
|
|
|
|
|
this.users.remove(p); |
|
|
|
|
|
|
|
|
|
|
|
//if room is empty remove the room from rooms list
|
|
|
|
|
|
rooms.remove(this); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var player = function(name) |
|
|
|
|
|
|
|
|
var player = function(s) |
|
|
{ |
|
|
{ |
|
|
//name of the user
|
|
|
//name of the user
|
|
|
this.name = name; |
|
|
|
|
|
|
|
|
this.name = null; |
|
|
|
|
|
|
|
|
|
|
|
//players socket
|
|
|
|
|
|
this.socket = s; |
|
|
|
|
|
|
|
|
//score of the player
|
|
|
//score of the player
|
|
|
this.score = 0; |
|
|
this.score = 0; |
|
@ -48,19 +73,68 @@ var player = function(name) |
|
|
this.sumbission = null; |
|
|
this.sumbission = null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//list of all the rooms
|
|
|
|
|
|
var rooms = []; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var app = require('express')(); |
|
|
|
|
|
var http = require('http').Server(app); |
|
|
|
|
|
var io = require('socket.io')(http); |
|
|
|
|
|
|
|
|
|
|
|
const port = 3000; |
|
|
|
|
|
|
|
|
|
|
|
const utils = 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) |
|
|
{ |
|
|
{ |
|
|
|
|
|
var player = new player(socket); |
|
|
|
|
|
|
|
|
console.log('A user connected'); |
|
|
console.log('A user connected'); |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
*Register user nickname/handle (register) Client => Server |
|
|
|
|
|
*/ |
|
|
|
|
|
socket.on('register', function(data) { |
|
|
|
|
|
console.log("Register event called"); |
|
|
|
|
|
console.log(data); |
|
|
|
|
|
console.log(" "); |
|
|
|
|
|
|
|
|
|
|
|
//checks for user name in use
|
|
|
|
|
|
if(utils.userAvailable(data, rooms)) |
|
|
|
|
|
{ |
|
|
|
|
|
player.name = data; |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
socket.emit('registerFailed', 'User name taken'); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
socket.on('clientEvent', function(data) { |
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
*Create Room (createRoom) Client => Server |
|
|
|
|
|
* data {password: , capacity: } |
|
|
|
|
|
*/ |
|
|
|
|
|
socket.on('createRoom', function(data) { |
|
|
|
|
|
console.log("create room event called"); |
|
|
console.log(data); |
|
|
console.log(data); |
|
|
|
|
|
console.log(" "); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* |
|
|
|
|
|
*/ |
|
|
|
|
|
socket.on('joinRoom', function(data) { |
|
|
|
|
|
console.log("join room event called"); |
|
|
|
|
|
console.log(data); |
|
|
|
|
|
console.log(" "); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
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 this piece of code executed
|
|
|
socket.on('disconnect', function () { |
|
|
socket.on('disconnect', function () { |
|
|