|
@@ -131,20 +131,28 @@ io.sockets.on('connection', function (socket) {
|
|
|
});
|
|
|
});
|
|
|
|
|
|
+ socket.on('resign', function(data) {
|
|
|
+ cancelGame('opponent-resigned', socket);
|
|
|
+ });
|
|
|
+
|
|
|
socket.on('disconnect', function () {
|
|
|
- for (token in games) {
|
|
|
- var game = games[token];
|
|
|
+ cancelGame('opponent-disconnected', socket);
|
|
|
+ });
|
|
|
+});
|
|
|
|
|
|
- for (j in game.players) {
|
|
|
- var player = game.players[j];
|
|
|
+function cancelGame(event, socket) {
|
|
|
+ for (var token in games) {
|
|
|
+ var game = games[token];
|
|
|
|
|
|
- if (player.socket == socket) {
|
|
|
- var opponent = game.players[Math.abs(j - 1)];
|
|
|
+ for (var j in game.players) {
|
|
|
+ var player = game.players[j];
|
|
|
|
|
|
- delete games[token];
|
|
|
- opponent.socket.emit('opponent-disconnected');
|
|
|
- }
|
|
|
+ if (player.socket == socket) {
|
|
|
+ var opponent = game.players[Math.abs(j - 1)];
|
|
|
+
|
|
|
+ delete games[token];
|
|
|
+ opponent.socket.emit(event);
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
-});
|
|
|
+ }
|
|
|
+}
|