for i, client in enumerate(clients): print(client[NAME], end='') if not i == len(clients) - 1: print(', ', end='') else: print() # newline maze = random_maze(MAZE_WIDTH, server_config.MAP_COMPLEXITY, server_config.MAP_DENSITY, PLAYERS) game = GameState(maze) for id_, client in enumerate(clients): player = Player(maze.starting_locations[id_], client[NAME]) client['id'] = player.id client[PLAYER] = player game.add_player(player) init_player_data = [] for _, player in game.players.items(): init_player_data.append(player.serializable_init()) print("Sending maze data...") # Send the maze to all clients for client in clients: network.message.send_msg(client[SOCKET][0], str.encode(maze.as_json())) print("Assigning player numbers...") for client in clients: msg = dict([('id', client['id']), ('players', init_player_data)]) network.message.send_msg(client[SOCKET][0], str.encode(json.dumps(msg)))