Ejemplo n.º 1
0
def game_state0(player):
    player.game_number = database.get_game_number()
    database.player_ready(player.number, player.game_number)
    display_text.display_text("Waiting for more players to connect", window, 500, 500)
    if database.are_players_ready(player.game_number):
        database.next_game_state(player.game_number, player.game_state)
    player.game_state = database.get_game_state(player.game_number)
def fetch_question():
    """Display fetch_question function

    Parameters
    ----------
    None

    Returns
    -------
    Dict
        Response_obj dict
    """
    succeed = False
    while not succeed:
        # Garbage collect before our GET request
        gc.collect()
        # Perform a GET on the DATA_SOURCE and instantiate into a response object
        display_text('Fetching Question')
        print('Fetching Question')
        try:
            # Create our response and DATA objects
            response = requests.get(QUESTION_URL)
            response_obj = response.json()
            response.close()
            succeed = True
            return response_obj
        except OSError as e:
            print(e)
            display_text('OS Error. Retrying')
            time.sleep(2)

        # Garbage collect after our GET request
        gc.collect()
Ejemplo n.º 3
0
def game_state1(player):
    global entered_text
    if player.leader and player.is_typing:
        display_text.display_text("Enter a question:", window, 150, 200)
        entered_text = player.enter_text(entered_text, 500, 500, window)
    elif player.leader and not player.is_typing:
        database.insert_user_input(player.number, entered_text, player.game_number)
        database.next_game_state(player.game_number, player.game_state)
    else:
        display_text.display_text("Waiting on input", window, pixel_width, pixel_height)

    player.game_state = database.get_game_state(player.game_number)
    if not player.leader:
        player.is_typing = True
Ejemplo n.º 4
0
def call_wifi():
    """Wifi connect function

    Parameters
    ----------
    None

    Returns
    -------
    None
    """
    try:
        # Setup wifi and connection
        print(wifi.radio.connect(secrets['ssid'], secrets['password']))
        print('ip', wifi.radio.ipv4_address)
        display_text("ip: {}".format(wifi.radio.ipv4_address))
        ipv4 = ipaddress.ip_address('8.8.8.8')
        ping_result = wifi.radio.ping(ipv4)
        print('ping', ping_result)
        display_text("ping: {}".format(ping_result))
    except:
        return False
Ejemplo n.º 5
0
def game_state2(player):
    global entered_text

    if player.leader:
        display_text.display_text("Waiting for responses", window, pixel_width, pixel_height)
        database.player_ready(player.number, player.game_number)
        if database.are_players_ready(player.game_number):
            database.next_game_state(player.game_number, player.game_state)
    elif not player.leader and player.is_typing:
        question = database.get_question(player.game_number)
        display_text.display_text("Respond to the following: " + str(question),
                                  window, 500, 350)
        entered_text = player.enter_text(entered_text, 150, 250, window)
    elif not player.leader and not player.is_typing:
        database.insert_user_input(player.number, entered_text, player.game_number)
        database.player_ready(player.number, player.game_number)
        display_text.display_text("Waiting on other players", window, 500, 500)
Ejemplo n.º 6
0
def game_state4(player):
    display_text.display_text("The winner is:", window, 500, 400)
    display_text.display_text(database.get_winner(player.game_number), window, 500, 475)
    if player.leader:
        display_text.display_text("Press any key to end game", window, 500, 650)
        temp = player.enter_text(entered_text, 500, 500, window)
Ejemplo n.º 7
0
def game_state3(player):
    global entered_text
    if player.leader and player.is_typing:
        display_text.display_text("Pick your favourite answer: [1], [2], or [3]", window, 500, 300)
        responses = database.get_inputs(player.game_number)
        display_text.display_text("1: " + responses[0], window, 500, 400)
        display_text.display_text("2: " + responses[1], window, 500, 450)
        display_text.display_text("3: " + responses[2], window, 500, 500)
        entered_text = player.enter_text(entered_text, 150, 300, window)
    elif player.leader and not player.is_typing:
        if entered_text == 1:
            winner = 1
        elif entered_text == 2:
            winner = 2
        elif entered_text == 3:
            winner = 3
        else:
            display_text.display_text("Invalid response, select again", window, 500, 500)
            player.is_typing = True
        if winner is not None:
            database.set_winner(player.game_number, winner + 1)
            database.next_game_state(player.game_number, player.game_state)
    else:
        display_text.display_text("Waiting on decision", window, 500, 500)
        database.player_ready(player.number, player.game_number)
    if database.are_players_ready(player.game_number):
        database.next_game_state(player.game_number, player.game_number)