[python] Pygame을 사용하여 속도 테스터 게임 만들기

이번에는 Python의 Pygame 라이브러리를 사용하여 속도 테스터 게임을 만들어보겠습니다. 이 게임은 사용자가 버튼을 클릭하는 속도를 측정하여 표시하는 간단한 게임입니다.

필요한 라이브러리 설치

먼저, Pygame 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다:

pip install pygame

게임 기본 구조 설정

먼저, 게임창을 만들고 기본적인 구조를 설정해야 합니다. 다음 코드를 사용하여 Pygame 초기화 및 게임창을 생성합니다:

import pygame
import time

WIDTH = 800
HEIGHT = 600

pygame.init()
game_display = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("속도 테스터 게임")

clock = pygame.time.Clock()

버튼 및 텍스트 표시

다음으로, 버튼과 텍스트를 표시하기 위한 함수를 만들어야 합니다. 다음 코드를 참고하여 함수를 작성해보세요:

def button(msg, x, y, w, h, color_idle, color_hover, action=None):
    mouse = pygame.mouse.get_pos()
    click = pygame.mouse.get_pressed()

    if x + w > mouse[0] > x and y + h > mouse[1] > y:
        pygame.draw.rect(game_display, color_hover, (x, y, w, h))
        if click[0] == 1 and action is not None:
            action()
    else:
        pygame.draw.rect(game_display, color_idle, (x, y, w, h))

    font = pygame.font.Font(None, 25)
    text = font.render(msg, True, (255, 255, 255))
    text_rect = text.get_rect(center=(x + w / 2, y + h / 2))
    game_display.blit(text, text_rect)

게임 루프 작성

이제 버튼과 텍스트를 표시하는 함수를 이용하여 게임 루프를 작성합니다. 다음 코드를 사용해보세요:

def game_loop():
    game_exit = False
    click_count = 0
    start_time = time.time()

    while not game_exit:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game_exit = True

        game_display.fill((0, 0, 0))
        button("클릭하세요!", 300, 200, 200, 100, (0, 255, 0), (0, 200, 0), lambda: increase_click_count())

        elapsed_time = int(time.time() - start_time)
        if elapsed_time >= 10:
            game_exit = True

        pygame.display.update()
        clock.tick(60)
    
    print("버튼을 클릭한 횟수:", click_count)
    print("걸린 시간:", elapsed_time)


def increase_click_count():
    global click_count
    click_count += 1

게임 실행하기

마지막으로, 게임을 실행하는 코드를 작성하여 게임을 실행해보세요:

if __name__ == '__main__':
    game_loop()
    pygame.quit()

위의 코드를 실행하면 Pygame을 사용한 속도 테스터 게임이 실행됩니다. 게임 창에서 “클릭하세요!” 버튼을 클릭하면 버튼을 클릭한 횟수와 걸린 시간이 출력됩니다.

결론

이렇게 Pygame을 사용하여 속도 테스터 게임을 만들어보았습니다. Pygame을 사용하면 간단한 게임부터 복잡한 게임까지 다양한 유형의 게임을 만들 수 있습니다. 교육 및 엔터테인먼트 목적으로 많이 사용되는 이 기능을 활용하여 개발을 진행해보세요.

참고 자료