"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 과거로부터의 폭발: Python을 사용하여 나만의 Space Invaders 게임 구축 - 단계별 튜토리얼

과거로부터의 폭발: Python을 사용하여 나만의 Space Invaders 게임 구축 - 단계별 튜토리얼

2024-11-09에 게시됨
검색:190

Blast from the Past: Build Your Own Space Invaders Game with Python - A Step-by-Step Tutorial

개발 환경 설정

Python을 사용하여 Space Invader 코딩을 시작하기 전에 개발 환경이 올바르게 설정되었는지 확인하세요. 컴퓨터에 Python이 설치되어 있어야 합니다. 라이브러리와의 호환성을 높이려면 Python 3.8 이상이 권장됩니다. 또한 비디오 게임 작성용으로 설계된 Python 모듈 세트인 Pygame을 설치하십시오. 파이게임은 게임 개발에 필수적인 창 생성, 마우스 이벤트 캡처, 그래픽 요소 렌더링과 같은 기능을 제공합니다.

다음 명령을 사용하여 Python과 Pygame을 설치합니다.

# Install Python (if not already installed)
sudo apt-get install python3.8

# Install Pygame
pip install pygame

게임 창 초기화

space_invaders.py라는 Python 파일을 생성하여 시작합니다. 이 파일에는 게임에 필요한 모든 코드가 포함됩니다. 먼저 Pygame을 사용하여 게임 창을 초기화합니다. 창 크기는 800x600픽셀로 설정할 수 있으며, 이는 모든 게임 요소에 편안하게 맞도록 충분합니다.

import pygame
import sys

# Initialize Pygame
pygame.init()

# Set up the display
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))

# Set the title of the window
pygame.display.set_caption('Space Invaders')

# Game loop
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    # Update the display
    pygame.display.update()

이 코드는 파이게임을 초기화하고 800x600픽셀의 창을 설정합니다. while True: 루프는 모든 이벤트가 처리되고 게임 상태가 업데이트되어 화면에 렌더링되는 무한 루프인 게임 루프입니다. pygame.event.get() 함수는 게임 창 닫기와 같은 이벤트를 처리하는 데 사용됩니다.

플레이어의 우주선 만들기

다음으로 플레이어의 우주선을 게임에 추가합니다. 우주선의 이미지를 생성하고 게임 창 중앙 하단에 배치합니다. 우주선에 간단한 PNG 이미지를 사용할 수 있습니다. 이 이미지를 게임에 로드하고 키보드 입력으로 움직임을 제어하세요.

# Load the spaceship image
spaceship_img = pygame.image.load('spaceship.png')
spaceship_x = 370
spaceship_y = 480
spaceship_speed = 0.3

def player(x, y):
    screen.blit(spaceship_img, (x, y))

# Game loop
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        # Event handling for moving the spaceship
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                spaceship_x -= spaceship_speed
            if event.key == pygame.K_RIGHT:
                spaceship_x  = spaceship_speed

    # Rendering the player's spaceship
    player(spaceship_x, spaceship_y)
    pygame.display.update()

플레이어 함수는 좌표(spaceship_x, spaceship_y)에 우주선을 그리는 역할을 담당합니다. 우주선의 움직임은 왼쪽 및 오른쪽 화살표 키로 제어됩니다. spaceship_x 변수를 조정하면 우주선이 수평으로 이동합니다.

적 추가

게임에 적을 추가하려면 적 이미지의 인스턴스를 여러 개 만드세요. 화면에 무작위로 배치하고 플레이어를 향해 움직이게 합니다. 관리하기 쉽도록 각 적의 위치와 속도를 저장하는 목록을 생성하세요.

import random

# Enemy setup
enemy_img = pygame.image.load('enemy.png')
enemy_info = [{'x': random.randint(0, 736), 'y': random.randint(50, 150), 'speed_x': 0.2, 'speed_y': 40} for _ in range(6)]

def enemy(x, y):
    screen.blit(enemy_img, (x, y))

# Game loop
while True:
    # Other game loop code omitted for brevity
    # Move and render enemies
    for e in enemy_info:
        enemy(e['x'], e['y'])
        e['x']  = e['speed_x']
        if e['x'] = 736:
            e['speed_x'] *= -1
            e['y']  = e['speed_y']
    pygame.display.update()

각 적들은 화면 가장자리에 닿을 때까지 수평으로 움직이며, 그 지점에서 약간 아래로 이동하고 방향을 바꿉니다.

결론

이 튜토리얼에서는 Python 환경 설정, Pygame 창 초기화, 플레이어의 우주선 생성 및 제어, 기본 모션으로 적 추가에 대해 다뤘습니다. 이 기반은 슈팅 기능 추가, 충돌 감지, 득점 등과 같은 추가 개선을 위한 기반을 마련합니다. 각 요소는 새로운 과제와 학습 기회를 제공하며, 게임 성능과 플레이어 경험을 개선하기 위해 잠재적으로 최적화와 개선이 필요할 수 있습니다.

릴리스 선언문 이 기사는 https://dev.to/bernardkibathi/blast-from-the-past-build-your-own-space-invaders-game-with-python-a-step-by-step-tutorial-에서 재현됩니다. 2ik2? 1침해 내용이 있는 경우, [email protected]으로 연락하여 삭제해 주시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3