/**
|
|
* Main server file which handles users
|
|
*
|
|
* @author Jeffery Russell
|
|
* 2-22-18
|
|
*/
|
|
|
|
var app = require('express')();
|
|
var http = require('http').Server(app);
|
|
var io = require('socket.io')(http);
|
|
|
|
var PORT = 3000;
|
|
|
|
var players = {};
|
|
|
|
|
|
var sockets = {};
|
|
|
|
var blocks = [];
|
|
|
|
|
|
var Player = function()
|
|
{
|
|
var name;
|
|
|
|
var x = 350;
|
|
var y = 350;
|
|
|
|
var upB= false;
|
|
var downB = false;
|
|
var leftB = false;
|
|
var rightB = false;
|
|
};
|
|
|
|
|
|
var blocks = function(xx, yy, ownerName)
|
|
{
|
|
var x = xx;
|
|
var y = yy;
|
|
var owner = ownerName;
|
|
|
|
//1 up
|
|
//2 left
|
|
//3 right
|
|
//4 down
|
|
var direction;
|
|
};
|
|
|
|
|
|
var update = function(command, object)
|
|
{
|
|
Object.keys(sockets).forEach(function(key)
|
|
{
|
|
console.log(players[key]);
|
|
sockets[key].emit(command, object);
|
|
});
|
|
};
|
|
|
|
|
|
io.on('connection', function(socket)
|
|
{
|
|
var p = new Player();
|
|
|
|
console.log("user connected");
|
|
|
|
var initialState = new Object();
|
|
initialState.players = players;
|
|
initialState.blocks = blocks;
|
|
|
|
socket.emit('connected', initialState);
|
|
|
|
socket.on('keyDown', function(data)
|
|
{
|
|
console.log("keydown");
|
|
|
|
if(data.direction == 38)
|
|
{
|
|
//up
|
|
p.upB = true;
|
|
}
|
|
else if (data.direction == 40)
|
|
{
|
|
//down
|
|
p.downB = true;
|
|
}
|
|
else if (data.direction == 39)
|
|
{
|
|
//right
|
|
p.leftR = true;
|
|
}
|
|
else if (data.direction == 37)
|
|
{
|
|
//left
|
|
p.leftB = true;
|
|
}
|
|
else if (data.direction == 32)
|
|
{
|
|
//space
|
|
}
|
|
|
|
var object = new Object();
|
|
object.name = p.name;
|
|
object.player = p;
|
|
|
|
update("updateClient", object);
|
|
});
|
|
|
|
socket.on('keyUp', function(data)
|
|
{
|
|
console.log("keyUp");
|
|
|
|
if(data.direction == 38)
|
|
{
|
|
//up
|
|
p.upB = false;
|
|
}
|
|
else if (data.direction == 40)
|
|
{
|
|
//down
|
|
p.downB = false;
|
|
}
|
|
else if (data.direction == 39)
|
|
{
|
|
//right
|
|
p.rightB = false;
|
|
}
|
|
else if (data.direction == 37)
|
|
{
|
|
//left
|
|
p.leftB = false;
|
|
}
|
|
});
|
|
|
|
socket.on('die', function(data)
|
|
{
|
|
players.remove(p);
|
|
});
|
|
|
|
|
|
socket.on('disconnect', function()
|
|
{
|
|
console.log("user disconnected");
|
|
});
|
|
|
|
socket.on('register', function(data)
|
|
{
|
|
console.log(data);
|
|
p.name = data;
|
|
players[data] = p;
|
|
sockets[data] = socket;
|
|
p.x = 300;
|
|
p.y = 300;
|
|
});
|
|
});
|
|
|
|
http.listen(PORT, function()
|
|
{
|
|
console.log('listening on *:3000');
|
|
});
|