import string | |
import random | |
# Utilities | |
ALPHABET = string.ascii_lowercase + string.digits | |
ID_LENGTH = 8 | |
AVAILABLE_NAMES = ["Jack", "Jill", "Bob", "Courtney", "Fizz", "Mallory"] | |
def generate_game_id(): | |
"""Generates a unique game id.""" | |
alphabet = string.ascii_lowercase + string.digits | |
id_length = 8 | |
return ''.join(random.choices(alphabet, k=id_length)) # Using this instead of uuid for shorter game ids | |
def random_names(number_of_samples: int, human_name: str = None) -> list[str]: | |
"""Returns a list of random names, excluding the one of the human player (if provided)""" | |
if human_name and human_name in AVAILABLE_NAMES: | |
AVAILABLE_NAMES.remove(human_name) | |
return random.sample(AVAILABLE_NAMES, number_of_samples) | |
def random_index(number_of_players: int) -> int: | |
return random.randint(0, number_of_players - 1) |