[python] Pygame을 사용하여 발사체 게임 만들기

발사체 게임은 플레이어가 장애물을 피하거나 파괴하면서 적을 공격하는 게임입니다. 이 글에서는 Python과 Pygame 라이브러리를 사용하여 발사체 게임을 만드는 방법을 설명하겠습니다.

Pygame이란?

Pygame은 Python으로 비디오 게임이나 다양한 멀티미디어 애플리케이션을 개발하기 위한 라이브러리입니다. Pygame은 간단하고 직관적인 API를 제공하여 게임 개발을 쉽게 할 수 있습니다.

Pygame 설치하기

먼저, Pygame을 설치해야 합니다. 다음 명령을 사용하여 Pygame을 설치할 수 있습니다:

pip install pygame

게임 창 만들기

import pygame

pygame.init()

# 화면 크기 설정
screen_width = 640
screen_height = 480
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.display.update()

pygame.quit()

플레이어 만들기

# 플레이어 이미지 불러오기
player_image = pygame.image.load("player.png")
player_width = player_image.get_width()
player_height = player_image.get_height()

# 플레이어 초기 위치 설정
player_x = screen_width / 2 - player_width / 2
player_y = screen_height - player_height

# 플레이어 이동 속도 설정
player_speed = 5

# 플레이어 그리기 함수
def draw_player():
    screen.blit(player_image, (player_x, player_y))

# 게임 루프
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_x -= player_speed
    if keys[pygame.K_RIGHT]:
        player_x += player_speed
    
    # 화면 업데이트
    screen.fill((0, 0, 0))
    draw_player()
    pygame.display.update()

pygame.quit()

발사체 구현하기

# 발사체 이미지 불러오기
bullet_image = pygame.image.load("bullet.png")

# 발사체 크기 설정
bullet_width = bullet_image.get_width()
bullet_height = bullet_image.get_height()

# 발사체 초기 상태 설정
bullet_x = 0
bullet_y = player_y
bullet_speed = 10
bullet_state = "ready"

# 발사체 그리기 함수
def draw_bullet():
    screen.blit(bullet_image, (bullet_x, bullet_y))

# 게임 루프
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_SPACE]:
        if bullet_state == "ready":
            bullet_x = player_x + player_width / 2 - bullet_width / 2
            bullet_state = "fire"
    
    # 발사체 이동 처리
    if bullet_state == "fire":
        bullet_y -= bullet_speed
        if bullet_y < 0:
            bullet_state = "ready"
    
    # 화면 업데이트
    screen.fill((0, 0, 0))
    draw_player()
    if bullet_state == "fire":
        draw_bullet()
    
    pygame.display.update()

pygame.quit()

이렇게하면 Pygame을 사용하여 간단한 발사체 게임을 만들 수 있습니다. 게임에는 플레이어, 발사체 및 장애물을 추가하여 복잡도를 높일 수도 있습니다. Pygame의 다양한 기능과 기능을 사용하여 게임을 개발해보세요.

추가 참고 자료는 다음을 참고하세요: