This repository was archived by the owner on Feb 6, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
89 lines (77 loc) · 2.65 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
var express = require('express'),
app = module.exports = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
player = require("./player"),
conf = {
//port: process.env.PORT,
port: 8081,
analyticssiteid: 'UA-XXXXXXXX-X',
maxAge: 31557600000,
app: {
version: 'dev'
},
jslib: {
yui: {
version: '3.7.2'
}
}
},
playerId = "";
app.use(function(err, req, res, next) {
console.error(err.stack);
res.send(500, 'Something broke!');
});
app.use(express.static(__dirname + '/static', {
maxAge: conf.maxAge
}));
app.use(express.cookieParser('TabletFoosball'));
app.use(express.session());
app.engine('.html', require('ejs').__express);
app.set('view engine', 'html');
// Routes
app.get('/', function(req, res) {
playerId = player.init(req);
res.render('index', {
title: 'TabletFoosball',
app_version: conf.app.version,
app_name: 'index',
description: 'A fooball game for touch devices. Play table football, also known as fussball, foosball or kicker, on your favourite touch device.',
author: 'Marco Egli, Felix Nyffenegger, Martin Bichsel',
analyticssiteid: conf.analyticssiteid,
jslib_yui_version: conf.jslib.yui.version
});
});
app.get('/game', function(req, res) {
playerId = player.init(req);
res.render('game', {
title: 'TabletFoosball - GAME',
app_version: conf.app.version,
app_name: 'game',
description: 'A fooball game for touch devices. Play table football, also known as fussball, foosball or kicker, on your favourite touch device.',
author: 'Marco Egli, Felix Nyffenegger, Martin Bichsel',
analyticssiteid: conf.analyticssiteid,
jslib_yui_version: conf.jslib.yui.version
});
});
app.get('/*', function(req, res) {
console.log(req);
res.send(404, 'Not Found!');
});
server.listen(conf.port);
console.log('application listening on port:' + conf.port);
// Socket.io Handling
io.sockets.on('connection', function(socket) {
socket.on('initEvent', function(data) {
console.log(data);
socket.set('playerId', playerId, function() {});
});
socket.on('clickEvent', function(data) {
socket.get('playerId', function(err, playerId) {
console.log('clickEvent by player: ', playerId);
data.sender = playerId;
console.log(data);
socket.broadcast.emit('clickEvent', data);
});
});
});