if handler in gameclients.keys(): #remove from game gamename = gameclients[handler] #if a player remove returns true, game is empty, end it if games[gamename].remove_player(clients[handler]): #remove button from game lobby.remove_game(gamename) del games[gamename] else: #update other's boards to reflect missing player msg = {'type':'update', 'board':{'players':games[gamename].getasdict('players')}, 'state':games[gamename]._started} broadcastGame(gamename, msg, handler) if not games[gamename]._started: if not lobby.has(gamename): lobby.add_button(gamename) del gameclients[handler] #add to lobby and send initial lobby message lobbyclients.append(handler) lobbymsg = {'type':'init', 'lobby':lobby.to_list()} broadcastLobby(lobbymsg) else: #FOR HANLDER IN LOBBY if handler in lobbyclients: #lobby.update returns either "Create Game" or "Game# X" update = lobby.update(event) #CREATE GAME GASE