-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
71 lines (57 loc) · 2.03 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
var express = require('express')
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
//resources server
app.use(express.static(__dirname + '/www'));
server.listen(process.env.PORT || 1266, function() {
var port = server.address().port;
console.log('Server running on port %s', port);
});
var players = []; //list of all the players on the server
io.on('connection', function(socket) {
var currentPlayer; //stores the player being referenced by socket
console.log('user connected');
socket.on('movePlayer', function(data) {
//console.log('playerData', data.x);
//console.log(data.x);
//OBSELETE - -- - - - - -- - - --MAJOR FLAW WITH THIS, it sets it back to original after moving, unless the physical player is moving
players.forEach(function(player, index, players) {
if (player.id == data.id) {
players[index].x = data.x;
players[index].y = data.y;
players[index].speed = data.speed;
players[index].dir = data.dir;
//console.log('setting index ' + index + ' x pos to ' + data.x);
}
});
//DON"T USE THIS because player is moved locally
//socket.emit('movePlayer', {x: data.x, y: data.y});
//socket.broadcast.emit('playerData', {id: data.id, x: data.x, y: data.y});
});
socket.on('sync', function() {
//sync the game with the server
socket.emit('playerData', players);
});
socket.on('joinGame', function(player) {
currentPlayer = player;
//send the list of current players to the new player
socket.emit('addPlayers', players);
//send new player to everybody else
socket.broadcast.emit('addPlayers', [player]);
//ad new player to the list
players.push(player);
console.log(players);
});
socket.on('disconnect', function() {
/*for (var i = players.length-1; i >= 0; i--) {
if (players[i].id == socketID) {
players.splice(i, 1);
}
}*/
var i = players.indexOf(currentPlayer);
players.splice(i, 1);
console.log(currentPlayer.id + ' left.');
socket.broadcast.emit('leaveGame', currentPlayer.id);
});
});