[python] Pygame을 이용한 레이싱 게임 제작하기

이 튜토리얼에서는 Python의 Pygame 라이브러리를 사용하여 간단한 레이싱 게임을 만드는 방법을 알아보겠습니다.

필요한 패키지 설치

먼저, Pygame을 설치해야 합니다. 다음 명령어를 사용하여 Pygame을 설치하세요:

pip install pygame

게임 창 생성하기

import pygame

# 게임 창 초기화
pygame.init()

# 게임 창 크기 설정
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("레이싱 게임")

# 게임 루프 실행
running = True
while running:
    # 이벤트 처리
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

pygame.quit()

위의 코드는 Pygame을 사용하여 기본적인 게임 창을 생성하는 예시입니다. Pygame을 초기화하고 게임 창의 크기를 설정한 후, 게임 루프를 실행합니다. 사용자가 게임 창을 닫으면 게임 루프에서 빠져나와 창을 종료합니다.

차량 모델과 배경 이미지 추가하기

car_image = pygame.image.load("car.png")
car_width = 80
car_height = 160

background_image = pygame.image.load("background.png")
background_height = 1200
background_y = 0

def draw_background():
    screen.blit(background_image, (0, background_y))
    screen.blit(background_image, (0, background_y - background_height))

def draw_car(x, y):
    screen.blit(car_image, (x, y))

car_x = (screen_width - car_width) / 2
car_y = screen_height - car_height - 10

# 게임 루프 실행
running = True
while running:
    # 이벤트 처리
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # 게임 업데이트
    background_y += 5
    if background_y >= background_height:
        background_y = 0

    # 게임 화면 그리기
    screen.fill((255, 255, 255))
    draw_background()
    draw_car(car_x, car_y)
    pygame.display.update()

pygame.quit()

위의 코드는 차량 모델과 배경 이미지를 게임 창에 추가하는 예시입니다. car.pngbackground.png는 각각 차량과 배경을 나타내는 이미지 파일입니다. draw_background 함수는 배경을 그리는 함수이며, draw_car 함수는 차량을 그리는 함수입니다. car_xcar_y는 차량의 초기 위치입니다.

게임 루프에서는 배경을 아래로 이동시켜 무한 롤링 효과를 만들고, 차량과 배경을 화면에 그립니다.

키 입력으로 차량 이동하기

# 게임 루프 실행
running = True
while running:
    # 이벤트 처리
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                car_x -= 10
            if event.key == pygame.K_RIGHT:
                car_x += 10

    # 게임 업데이트
    background_y += 5
    if background_y >= background_height:
        background_y = 0

    # 게임 화면 그리기
    screen.fill((255, 255, 255))
    draw_background()
    draw_car(car_x, car_y)
    pygame.display.update()

pygame.quit()

위의 코드는 키 입력으로 차량을 이동시키는 예시입니다. 사용자가 왼쪽 화살표 키를 누르면 차량의 x 좌표를 10만큼 감소시키고, 오른쪽 화살표 키를 누르면 차량의 x 좌표를 10만큼 증가시킵니다.

결론

이 튜토리얼에서는 Pygame을 사용하여 레이싱 게임을 만드는 방법을 알아보았습니다. Pygame을 사용하면 간단한 2D 게임을 쉽게 제작할 수 있습니다. 추가적인 기능을 구현하여 더욱 흥미로운 게임을 만들어보세요.

참고 자료