프로그래밍
파이썬을 이용한 장애물 피하기 게임 만들기
코드금융
2025. 1. 6. 11:41
728x90
반응형
Python으로 장애물 피하기 게임 만들기
Pygame을 활용한 단계별 코딩 튜토리얼
1. Pygame 설치
Python으로 장애물 피하기 게임을 개발하려면 Pygame 라이브러리를 설치하세요:
pip install pygame
2. 기본 게임 창 설정
게임 화면을 생성하고 설정합니다.
import pygame
import sys
pygame.init()
# 화면 설정
screen_width = 600
screen_height = 400
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
screen.fill((135, 206, 250)) # 하늘색 배경
pygame.display.flip()
pygame.quit()
sys.exit()
3. 플레이어 추가
플레이어 캐릭터를 화면에 추가합니다.
player_color = (255, 255, 0) # 노란색
player_size = 30
player_x = screen_width // 2 - player_size // 2
player_y = screen_height - player_size - 10
player_speed = 5
4. 장애물 추가
랜덤 위치에서 생성되는 장애물을 추가합니다.
import random
obstacle_color = (255, 0, 0) # 빨간색
obstacle_size = 30
obstacle_x = random.randint(0, screen_width - obstacle_size)
obstacle_y = 0
obstacle_speed = 4
5. 플레이어 이동과 충돌 감지
키보드로 플레이어를 움직이고 장애물과 충돌하면 게임을 종료합니다.
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and player_x > 0:
player_x -= player_speed
if keys[pygame.K_RIGHT] and player_x < screen_width - player_size:
player_x += player_speed
player_rect = pygame.Rect(player_x, player_y, player_size, player_size)
obstacle_rect = pygame.Rect(obstacle_x, obstacle_y, obstacle_size, obstacle_size)
if player_rect.colliderect(obstacle_rect):
print("게임 종료!")
running = False
6. 전체 코드
위의 코드를 통합한 완성된 장애물 피하기 게임 코드입니다. 복사하여 실행해 보세요!
import pygame
import sys
import random
pygame.init()
# 화면 설정
screen_width = 600
screen_height = 400
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("장애물 피하기 게임")
# 색상 및 설정
background_color = (135, 206, 250)
player_color = (255, 255, 0)
player_size = 30
player_x = screen_width // 2 - player_size // 2
player_y = screen_height - player_size - 10
player_speed = 5
obstacle_color = (255, 0, 0)
obstacle_size = 30
obstacle_x = random.randint(0, screen_width - obstacle_size)
obstacle_y = 0
obstacle_speed = 4
running = True
while running:
pygame.time.delay(30)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 키 입력 처리
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and player_x > 0:
player_x -= player_speed
if keys[pygame.K_RIGHT] and player_x < screen_width - player_size:
player_x += player_speed
# 장애물 이동
obstacle_y += obstacle_speed
if obstacle_y > screen_height:
obstacle_y = 0
obstacle_x = random.randint(0, screen_width - obstacle_size)
# 충돌 감지
player_rect = pygame.Rect(player_x, player_y, player_size, player_size)
obstacle_rect = pygame.Rect(obstacle_x, obstacle_y, obstacle_size, obstacle_size)
if player_rect.colliderect(obstacle_rect):
print("게임 종료!")
running = False
# 화면 그리기
screen.fill(background_color)
pygame.draw.rect(screen, player_color, (player_x, player_y, player_size, player_size))
pygame.draw.rect(screen, obstacle_color, (obstacle_x, obstacle_y, obstacle_size, obstacle_size))
pygame.display.flip()
pygame.quit()
sys.exit()
728x90
반응형