forked from RSzyg/superDefiner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
95 lines (81 loc) · 2.29 KB
/
app.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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
var path = require('path');
var express = require('express');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(80, () => {
console.log("Server listening at 80");
});
app.get('/', (req, res) => {
res.sendFile(path.resolve(__dirname + '/index.html'));
});
app.use(express.static(path.resolve(__dirname, './dist/')));//静态资源加载
var Roles = {};
// var Goods = {};
var playerNum = 0;
// var GoodsNum = 0;
var MapData = {
width: 2000,
height: 1600,
blockHeight: 40,
blockWidth: 40
}
io.on('connection', (socket) => {
var newRole = undefined;
socket.emit('init', JSON.stringify(MapData));
socket.on('load',() => {
if (newRole) return;
newRole = {
id: socket.id,
height: 70,
jumpPower: 12,
moveStep: 4,
width: 40,
x: 120,
y: 1120
};
var allDatas = {
id: socket.id,
allDatas: Roles
};
// var goodsData = {
// goodsData: Goods
// };
Roles[socket.id] = newRole;
++playerNum;
console.log(playerNum);
socket.emit('createRole', JSON.stringify(allDatas));
socket.broadcast.emit('addRole', JSON.stringify(newRole));
// socket.emit("createGoods", JSON.stringify(goodsData));
})
socket.on('move', (data) => {
const datas = JSON.parse(data);
const allDatas = {
x: datas.x,
y: datas.y,
id: socket.id
};
socket.broadcast.emit("roleMove", JSON.stringify(allDatas));
})
// socket.on('Goods', (data) => {
// const datas = JSON.parse(data);
// const allDatas = {
// id: GoodsNum,
// type: datas.type,
// fillstyle: datas.fillstyle,
// x: datas.x,
// y: datas.y,
// };
// Goods[GoodsNum] = allDatas;
// socket.broadcast.emit("placeGoods", allDatas);
// GoodsNum += 2;
// })
socket.on('disconnect', () => {
if (newRole) {
delete Roles[socket.id];
socket.broadcast.emit("leave", JSON.stringify(socket.id));
--playerNum;
console.log(playerNum);
}
})
});