|  | @@ -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);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -});
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 |