프로그래밍
파이썬을 이용한 벽돌 부수기 게임 만들기
코드금융
2025. 1. 5. 23:12
728x90
반응형
Python으로 벽돌깨기 게임 만들기
Pygame을 활용한 단계별 튜토리얼
1. Pygame 설치
먼저 Pygame 라이브러리를 설치합니다. 터미널에서 아래 명령어를 실행하세요:
pip install pygame
2. 기본 게임 창 만들기
게임 화면을 설정하는 기본 코드입니다. Pygame을 초기화하고 게임 창을 만듭니다.
import pygame
import sys
# Pygame 초기화
pygame.init()
# 화면 설정
screen_width = 800
screen_height = 600
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((0, 0, 0)) # 배경색
pygame.display.flip() # 화면 업데이트
pygame.quit()
sys.exit()
3. 공과 패들 추가
게임에서 공과 패들을 화면에 추가합니다. 아래 코드를 참고하세요.
# 공 초기화
ball_color = (255, 255, 0)
ball_radius = 10
ball_x, ball_y = screen_width // 2, screen_height // 2
ball_dx, ball_dy = 4, -4 # 공의 이동 속도
# 패들 초기화
paddle_color = (0, 255, 0)
paddle_width = 100
paddle_height = 10
paddle_x = (screen_width - paddle_width) // 2
paddle_y = screen_height - 30
paddle_speed = 8
# 공 및 패들 그리기
pygame.draw.circle(screen, ball_color, (ball_x, ball_y), ball_radius)
pygame.draw.rect(screen, paddle_color, (paddle_x, paddle_y, paddle_width, paddle_height))
4. 벽돌 생성
벽돌을 행렬 형태로 생성하고 표시합니다.
# 벽돌 초기화
brick_rows = 5
brick_cols = 10
brick_width = 60
brick_height = 20
brick_padding = 10
brick_offset_x = 35
brick_offset_y = 50
bricks = []
for row in range(brick_rows):
for col in range(brick_cols):
brick_x = brick_offset_x + col * (brick_width + brick_padding)
brick_y = brick_offset_y + row * (brick_height + brick_padding)
bricks.append(pygame.Rect(brick_x, brick_y, brick_width, brick_height))
# 벽돌 그리기
for brick in bricks:
pygame.draw.rect(screen, (255, 0, 0), brick)
5. 충돌 감지
공이 패들, 벽돌, 화면 경계에 충돌했을 때의 동작을 구현합니다.
# 공과 패들 충돌
if paddle_x < ball_x < paddle_x + paddle_width and paddle_y < ball_y + ball_radius < paddle_y + paddle_height:
ball_dy *= -1
# 공과 벽돌 충돌
for brick in bricks:
if brick.collidepoint(ball_x, ball_y):
bricks.remove(brick)
ball_dy *= -1
break
# 공의 화면 경계 충돌
if ball_x - ball_radius <= 0 or ball_x + ball_radius >= screen_width:
ball_dx *= -1
if ball_y - ball_radius <= 0:
ball_dy *= -1
6. 전체 코드 통합
위 코드를 조합하여 벽돌깨기 게임의 전체 구조를 완성합니다. 단계적으로 추가적인 기능(점수, 난이도 등)을 구현하며 게임을 확장할 수 있습니다.
결론
Python과 Pygame으로 간단한 벽돌깨기 게임을 만들어 보았습니다. 이를 기반으로 추가적인 기능(레벨, 아이템 등)을 더하며 더욱 재미있는 게임을 만들어 보세요!
728x90
반응형