예제 #1
0
				
			if handler in lobbyclients:
				lobbyclients.remove(handler)
			
			del clients[handler]
			
		elif event == 'join':
			#generate Name and Color
			name = generate_name()
			color = generate_color()
			#generate new player and add to client list
			newPlayer = Player(name, color)
			clients[handler] = newPlayer
			#add to lobby and send initial lobby message
			lobbyclients.append(handler)
			lobbymsg = {'type':'init', 'lobby':lobby.to_list(), 'yourname':name}
			handler.do_send(lobbymsg)
			
		#INPUT EVENTS
		#an escape input will apply to anyone in a game, sending them back to the lobby	
		elif event == 'escapepress':
			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