[python] Pygame을 이용한 무인도 생존 게임 제작하기

Pygame Logo

이번 튜토리얼에서는 Python의 게임 개발 라이브러리인 Pygame을 사용하여 무인도에서 생존하는 게임을 만들어보겠습니다. Pygame은 게임을 만들기 위한 다양한 기능을 제공하며, 간단하고 쉽게 게임을 개발할 수 있습니다.

1. Pygame 설치하기

Pygame을 사용하기 위해서는 먼저 Python을 설치해야 합니다. Python 공식 웹사이트에서 Python을 다운로드 받아 설치할 수 있습니다. 설치 완료 후에는 pip를 사용하여 Pygame을 설치합니다. 아래의 명령어를 터미널에 입력하세요:

pip install pygame

2. 게임 창 생성하기

먼저 Pygame을 import 합니다:

import pygame

게임 창의 크기를 설정합니다:

width = 800
height = 600
size = (width, height)

게임 창을 생성하고 설정합니다:

screen = pygame.display.set_mode(size)
pygame.display.set_caption("무인도 생존 게임")

3. 게임 루프 설정하기

게임 루프는 게임이 실행되는 동안 반복적으로 실행되는 부분입니다. 게임 창이 닫히기 전까지 계속해서 게임을 업데이트하고 화면에 그립니다.

running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    
    # 게임 로직 작성
    
    pygame.display.flip()

4. 플레이어 생성하기

플레이어를 생성하기 위해 이미지 파일을 불러옵니다:

player_img = pygame.image.load("player.png")
player_rect = player_img.get_rect()

플레이어의 위치를 설정하고 게임 화면에 그립니다:

player_rect.x = 100
player_rect.y = 100

screen.blit(player_img, player_rect)

5. 키 입력 처리하기

키 입력을 처리하여 플레이어를 움직이도록 합니다. 키보드의 화살표 키를 사용하여 플레이어를 이동시킬 수 있습니다.

keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
    player_rect.x -= 5
elif keys[pygame.K_RIGHT]:
    player_rect.x += 5
elif keys[pygame.K_UP]:
    player_rect.y -= 5
elif keys[pygame.K_DOWN]:
    player_rect.y += 5

6. 게임 오버 처리하기

게임 오버 조건을 설정하여 게임이 종료되도록 합니다:

if player_rect.x < 0 or player_rect.x > width or player_rect.y < 0 or player_rect.y > height:
    running = False

7. 게임 실행하기

게임을 실행하기 위해 게임 루프 안에 게임 로직을 작성하고, 플레이어의 위치와 키 입력 처리를 반복적으로 업데이트합니다.

running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        player_rect.x -= 5
    elif keys[pygame.K_RIGHT]:
        player_rect.x += 5
    elif keys[pygame.K_UP]:
        player_rect.y -= 5
    elif keys[pygame.K_DOWN]:
        player_rect.y += 5
    
    if player_rect.x < 0 or player_rect.x > width or player_rect.y < 0 or player_rect.y > height:
        running = False
    
    screen.fill((0, 0, 0))
    screen.blit(player_img, player_rect)
    pygame.display.flip()

pygame.quit()

결론

이제 Pygame을 사용하여 무인도 생존 게임을 제작하는 방법을 배웠습니다. Pygame의 다양한 기능을 활용하여 게임을 더욱 풍부하고 다양하게 만들어볼 수 있습니다. 게임 개발에 관심이 있다면 Pygame을 사용해보세요!