Example #1
0
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)))