[python] Pygame을 활용한 도전과제 게임 만들기

Pygame logo

이 튜토리얼에서는 Python의 게임 개발 라이브러리인 Pygame을 사용하여 도전과제 게임을 만드는 방법을 알아보겠습니다.

목차

  1. Pygame 소개
  2. 도전과제 게임 개요
  3. 게임 구현
  4. 결론

Pygame 소개

Pygame은 Python으로 게임을 개발할 수 있도록 도와주는 라이브러리입니다. 그래픽, 사운드, 이벤트 처리 및 게임 로직 등을 처리하는 기능을 제공하며, 간단한 2D 게임부터 고급 게임까지 다양한 종류의 게임을 개발할 수 있습니다.

도전과제 게임 개요

우리는 이번 튜토리얼에서 플레이어가 적을 피해 목표 지점에 도달해야 하는 간단한 도전과제 게임을 만들어볼 것입니다. 플레이어는 키보드로 조작되며, 적은 랜덤하게 움직이고 플레이어에게 닿으면 게임이 종료됩니다.

게임 구현

게임 화면 초기화

먼저 Pygame을 사용하여 게임 화면을 초기화해야 합니다. 다음 코드를 사용하여 Pygame을 초기화하세요.

import pygame

WIDTH = 800
HEIGHT = 600

pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("도전과제 게임")

플레이어 설정

플레이어가 게임 화면 상에서 움직일 수 있도록 설정해야 합니다. 다음 코드를 사용하여 플레이어를 설정하세요.

class Player(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load("player.png")
        self.rect = self.image.get_rect()
        self.rect.center = (WIDTH // 2, HEIGHT // 2)

    def update(self):
        keys = pygame.key.get_pressed()
        if keys[pygame.K_LEFT]:
            self.rect.x -= 5
        if keys[pygame.K_RIGHT]:
            self.rect.x += 5
        if keys[pygame.K_UP]:
            self.rect.y -= 5
        if keys[pygame.K_DOWN]:
            self.rect.y += 5

적 설정

적은 랜덤하게 화면 상에서 움직여야 합니다. 다음 코드를 사용하여 적을 설정하세요.

class Enemy(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load("enemy.png")
        self.rect = self.image.get_rect()
        self.rect.center = (WIDTH // 2, HEIGHT // 4)

    def update(self):
        self.rect.x += random.randint(-5, 5)
        self.rect.y += random.randint(-5, 5)

도전과제 구현

도전과제는 플레이어와 적 간의 충돌을 감지하여 게임을 종료하는 것입니다. 다음 코드를 사용하여 도전과제를 구현하세요.

all_sprites = pygame.sprite.Group()
player = Player()
enemy = Enemy()
all_sprites.add(player)
all_sprites.add(enemy)

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    all_sprites.update()
    screen.fill((0, 0, 0))
    all_sprites.draw(screen)
    pygame.display.flip()

    if pygame.sprite.collide_rect(player, enemy):
        running = False

결론

이제 우리는 Pygame을 사용하여 도전과제 게임을 만들 수 있는 기초적인 내용을 배웠습니다. 더 복잡한 게임을 만들고 싶다면 Pygame 공식 문서와 다른 자원들을 참고하여 계속해서 공부해 보시기 바랍니다.

더 자세한 정보를 원하신다면 Pygame 공식 사이트에서 확인할 수 있습니다.