Example #1
0
def HighScoreScreen(GetGameList, GetScoreList):

    # text and button initalization
    text_display = TextDisplay()
    button_display = ButtonDisplay()

    # get games and score list
    gamesList, getScoreList = GetGameList(), GetScoreList()

    running = True
    while running:
        click = False
        screen.fill((220, 220, 220))

        # create back and score viewing buttons
        back = button_display.add_button_to_screen(screen, 0, 0, 100, 50,
                                                   (177, 0, 0))

        # draw text for buttons
        text_display.add_to_screen(screen, 30, "Back", 33, 28, BLACK,
                                   "freesansbold.ttf")
        text_display.add_to_screen(screen, 30, "HighScore View",
                                   SCREEN_WIDTH / 2, 100, BLACK,
                                   "freesansbold.ttf")

        # draw text for scores of each game, repeat for each game
        width, height = 400, 150
        for game in getScoreList:
            text_display.add_to_screen(
                screen, 30, "GAME: " + game + ", USER: "******", SCORE: " +
                str(list((getScoreList[game]).values())[0]), width, height,
                BLACK, "freesansbold.ttf")
            height += 50

        events = pygame.event.get()
        for event in events:

            # Did the user hit a key?
            if event.type == KEYDOWN:
                # Was it the Escape key? If so, stop the loop.
                if event.key == K_ESCAPE:
                    return

            # Did the user click the window close button? If so, stop the loop.
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

            # if clicked, set click flag to true
            if event.type == MOUSEBUTTONDOWN:
                # Left click
                if event.button == 1:
                    click = True

            if event.type == KEYDOWN:
                if event.key == K_ESCAPE:
                    running = False

        # Cursor location
        mx, my = pygame.mouse.get_pos()

        # back pressed
        if back.collidepoint((mx, my)):
            if click:
                print("back button pressed")
                running = False
                return "back_button"

        pygame.display.update()
Example #2
0
BLACK = (0, 0, 0)
RED = (255, 0, 0)

# Create the screen object
# The size is determined by the constant SCREEN_WIDTH and SCREEN_HEIGHT
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))


'''INITIALIZE THE GAME'''
pygame.init()
pygame.font.init()
myfont = pygame.font.SysFont('arial', 30)
pygame.display.set_caption('3A04 Game Demo')

# Used for creating/displaying buttons and text
text_display = TextDisplay()
button_display = ButtonDisplay()

def displayError():
    text_display.add_to_screen(screen, 20, 'LOGIN FAILED', SCREEN_WIDTH / 2.05, (SCREEN_HEIGHT / 1.1),
                               RED, "arial")
    pygame.display.flip()

# Login
#def login( myfont, SCREEN_WIDTH, SCREEN_HEIGHT, screen, firebase_instance, db):
def loginScreen(login_func):
    # Logos
    logo_icon = pygame.image.load('../assets/readyplayerone.jpg')
    logo_icon = pygame.transform.scale(logo_icon, (351, 168))

    # create input boxes
Example #3
0
def registerScreen(register_func):

    # Logos
    logo_icon = pygame.image.load('../assets/readyplayerone.jpg')
    logo_icon = pygame.transform.scale(logo_icon, (351, 168))

    # Used for creating/displaying buttons and text
    text_display = TextDisplay()
    button_display = ButtonDisplay()

    # create input boxes
    username_box = InputBox(SCREEN_WIDTH / 2.8, SCREEN_HEIGHT / 2, screen)
    password_box = InputBox(SCREEN_WIDTH / 2.8, SCREEN_HEIGHT / 1.5, screen)
    clock = pygame.time.Clock()

    # background
    screen.fill((220, 220, 220))

    while True:

        # draw game logo
        screen.blit(logo_icon, (195, 70))

        # Draw buttons
        enter = button_display.add_button_to_screen(screen, SCREEN_WIDTH / 2.8,
                                                    SCREEN_HEIGHT / 1.3, 200,
                                                    50, (0, 120, 00))
        # Draw text
        text_display.add_to_screen(screen, 30, 'Register Screen',
                                   SCREEN_WIDTH / 2, SCREEN_HEIGHT / 20, BLACK,
                                   "arial")
        text_display.add_to_screen(screen, 30, 'Enter email',
                                   SCREEN_WIDTH / 2.1,
                                   (SCREEN_HEIGHT / 2) - 20, BLACK, "arial")
        text_display.add_to_screen(screen, 30, 'Enter password',
                                   SCREEN_WIDTH / 2.1,
                                   (SCREEN_HEIGHT / 2) + 72, BLACK, "arial")
        text_display.add_to_screen(screen, 30, 'Enter!', SCREEN_WIDTH / 2.1,
                                   (SCREEN_HEIGHT / 1.28) + 14, BLACK, "arial")

        # if made it past the previous functions, that means click is now false and the functions were terminated.
        click = False
        # Look at every event in the queue
        events = pygame.event.get()
        for event in events:
            # handle every event
            username_box.handle_event(event)
            password_box.handle_event(event)

            # Did the user hit a key?
            if event.type == KEYDOWN:
                # Was it the Escape key? If so, stop the loop.
                if event.key == K_ESCAPE:
                    return

            # Did the user click the window close button? If so, stop the loop.
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

            # if clicked, set click flag to true
            if event.type == MOUSEBUTTONDOWN:
                # Left click
                if event.button == 1:
                    click = True

        # draw input boxes
        username_box.draw(screen, (SCREEN_WIDTH / 2.8, SCREEN_HEIGHT / 2))
        password_box.draw(screen, (SCREEN_WIDTH / 2.8, SCREEN_HEIGHT / 1.5))

        # get cursor location
        mx, my = pygame.mouse.get_pos()
        if enter.collidepoint((mx, my)):
            if click:
                print("Registration username: "******"Registration password: "******"arial")
                    pygame.display.flip()

        pygame.display.flip()
        clock.tick(60)
Example #4
0
def pauseScreen():

    # Used for creating/displaying buttons and text
    text_display = TextDisplay()
    button_display = ButtonDisplay()

    # background
    screen.fill((220, 220, 220))

    while True:

        # draw game logo
        screen.blit(logo_icon, (195, 70))

        # Draw & create buttons
        quit = button_display.add_button_to_screen(screen, SCREEN_WIDTH / 1.9,
                                                   SCREEN_HEIGHT / 1.75, 200,
                                                   50, RED)
        resume = button_display.add_button_to_screen(screen,
                                                     SCREEN_WIDTH / 5.4,
                                                     SCREEN_HEIGHT / 1.75, 200,
                                                     50, (0, 128, 0))
        instructions = button_display.add_button_to_screen(
            screen, SCREEN_WIDTH / 2.8, (SCREEN_HEIGHT / 1.75) + 68, 200, 50,
            (255, 127, 80))

        # Draw text
        text_display.add_to_screen(screen, 30, 'GAME PAUSED',
                                   SCREEN_WIDTH / 2.15, SCREEN_HEIGHT / 20,
                                   BLACK, "arial")
        text_display.add_to_screen(screen, 30, 'Resume', SCREEN_WIDTH / 3.2,
                                   (SCREEN_HEIGHT / 1.75) + 18, BLACK, "arial")
        text_display.add_to_screen(screen, 30, 'Quit', SCREEN_WIDTH / 1.54,
                                   (SCREEN_HEIGHT / 1.75) + 18, BLACK, "arial")
        text_display.add_to_screen(screen, 30, 'Instructions',
                                   SCREEN_WIDTH / 2.08,
                                   (SCREEN_HEIGHT / 1.75) + 88, BLACK, "arial")

        # if made it past the previous functions, that means click is now false and the functions were terminated.
        click = False
        # Look at every event in the queue
        events = pygame.event.get()
        for event in events:

            # Did the user hit a key?
            if event.type == KEYDOWN:
                # Was it the Escape key? If so, stop the loop.
                if event.key == K_ESCAPE:
                    pygame.quit()
                    sys.exit()

            # Did the user click the window close button? If so, stop the loop.
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

            # if clicked, set click flag to true
            if event.type == MOUSEBUTTONDOWN:
                # Left click
                if event.button == 1:
                    click = True

        # get cursor location
        mx, my = pygame.mouse.get_pos()

        # if login button pressed
        if resume.collidepoint((mx, my)):
            if click:
                print("resume")
                return "resume"

        # if login button pressed
        elif instructions.collidepoint((mx, my)):
            if click:
                print("instruction")
                return "instruction"

        # if register button pressed
        elif quit.collidepoint((mx, my)):
            if click:
                print("quit")
                return "quit"

        pygame.display.update()


#if __name__ == '__main__':
#    pauseScreen()
Example #5
0
def GameSelectionScreen():

    # instantiate button logos, better to make class button images after!
    flappybird = pygame.image.load('../assets/flappybird.png')
    dodge = pygame.image.load('../assets/dodge.png')
    basketball = pygame.image.load('../assets/ball.png')
    fruitninja = pygame.image.load('../assets/fruitninja.png')
    spaceinvaders = pygame.image.load('../assets/spaceinvaders.png')

    # scale the images down
    flappybird = pygame.transform.scale(flappybird, (100, 100))
    dodge = pygame.transform.scale(dodge, (160, 100))
    basketball = pygame.transform.scale(basketball, (100, 100))
    fruitninja = pygame.transform.scale(fruitninja, (140, 140))
    spaceinvaders = pygame.transform.scale(spaceinvaders, (140, 140))

    # change their location
    flappybird_rect = flappybird.get_rect()
    flappybird_rect.x, flappybird_rect.y = 100, 200

    dodge_rect = dodge.get_rect()
    dodge_rect.x, dodge_rect.y = 300, 200

    basketball_rect = basketball.get_rect()
    basketball_rect.x, basketball_rect.y = 200, 370

    fruitninja_rect = fruitninja.get_rect()
    fruitninja_rect.x, fruitninja_rect.y = 600, 200

    spaceinvaders_rect = spaceinvaders.get_rect()
    spaceinvaders_rect.x, spaceinvaders_rect.y = 470, 370

    text_display = TextDisplay()
    button_display = ButtonDisplay()

    running = True
    while running:
        click = False
        screen.fill((220, 220, 220))

        # create back and score viewing buttons
        back = button_display.add_button_to_screen(screen, 0, 0, 100, 50,
                                                   (177, 0, 0))
        score_button = button_display.add_button_to_screen(
            screen, SCREEN_WIDTH - 100, 0, 100, 50, (255, 255, 0))

        # draw text
        text_display.add_to_screen(screen, 30, "Back", 33, 28, BLACK,
                                   "freesansbold.ttf")
        text_display.add_to_screen(screen, 30, "Score", SCREEN_WIDTH - 48, 28,
                                   BLACK, "freesansbold.ttf")
        text_display.add_to_screen(screen, 30, "Main Menu - Game Selection",
                                   SCREEN_WIDTH / 2, 100, BLACK,
                                   "freesansbold.ttf")

        # draw button logos
        screen.blit(flappybird, flappybird_rect)
        screen.blit(dodge, dodge_rect)
        screen.blit(basketball, basketball_rect)
        screen.blit(fruitninja, fruitninja_rect)
        screen.blit(spaceinvaders, spaceinvaders_rect)

        events = pygame.event.get()
        for event in events:

            # Did the user hit a key?
            if event.type == KEYDOWN:
                # Was it the Escape key? If so, stop the loop.
                if event.key == K_ESCAPE:
                    return

            # Did the user click the window close button? If so, stop the loop.
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

            # if clicked, set click flag to true
            if event.type == MOUSEBUTTONDOWN:
                # Left click
                if event.button == 1:
                    click = True

            if event.type == KEYDOWN:
                if event.key == K_ESCAPE:
                    running = False

        # Cursor location
        mx, my = pygame.mouse.get_pos()

        # back pressed
        if back.collidepoint((mx, my)):
            if click:
                print("back button pressed")
                running = False
                return "back_button"

        elif score_button.collidepoint((mx, my)):
            if click:
                print("score button pressed")
                return "score_button"

        # return name of game pressed to controller
        elif basketball_rect.collidepoint((mx, my)):
            if click:
                print("Basketball Shootout selected")
                return "BasketballShootOut"

        elif dodge_rect.collidepoint((mx, my)):
            if click:
                print("Dodge selected")
                return "Dodge"
        elif flappybird_rect.collidepoint((mx, my)):
            if click:
                print("FlappyBird selected")
                return "FlappyBird"
        elif fruitninja_rect.collidepoint((mx, my)):
            if click:
                print("fruitninja_rect selected")
                return "fruitninja"
        elif spaceinvaders_rect.collidepoint((mx, my)):
            if click:
                print("spaceinvaders_rect selected")
                return "SpaceInvaders"

        pygame.display.update()
Example #6
0
def button_choice():

    # Used for creating/displaying buttons and text
    text_display = TextDisplay()
    button_display = ButtonDisplay()

    # background
    screen.fill((220, 220, 220))

    while True:

        # draw game logo
        screen.blit(logo_icon, (195, 70))

        # Draw & create buttons
        register_button = button_display.add_button_to_screen(
            screen, SCREEN_WIDTH / 1.9, SCREEN_HEIGHT / 1.75, 200, 50,
            (0, 32, 255))
        login_button = button_display.add_button_to_screen(
            screen, SCREEN_WIDTH / 5.4, SCREEN_HEIGHT / 1.75, 200, 50,
            (0, 120, 00))

        # Draw text
        text_display.add_to_screen(screen, 30, 'Login', SCREEN_WIDTH / 3.2,
                                   (SCREEN_HEIGHT / 1.75) + 18, BLACK, "arial")
        text_display.add_to_screen(screen, 30, 'Register', SCREEN_WIDTH / 1.54,
                                   (SCREEN_HEIGHT / 1.75) + 18, BLACK, "arial")

        # if made it past the previous functions, that means click is now false and the functions were terminated.
        click = False
        # Look at every event in the queue
        events = pygame.event.get()
        for event in events:

            # Did the user hit a key?
            if event.type == KEYDOWN:
                # Was it the Escape key? If so, stop the loop.
                if event.key == K_ESCAPE:
                    pygame.quit()
                    sys.exit()

            # Did the user click the window close button? If so, stop the loop.
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

            # if clicked, set click flag to true
            if event.type == MOUSEBUTTONDOWN:
                # Left click
                if event.button == 1:
                    click = True

        # get cursor location
        mx, my = pygame.mouse.get_pos()

        # if login button pressed
        if login_button.collidepoint((mx, my)):
            if click:
                return "Login"

        # if register button pressed
        elif register_button.collidepoint((mx, my)):
            if click:
                return "Register"

        pygame.display.update()