반응형
이 코드는 Pygame을 사용하여 간단한 2D 게임을 만드는 예제입니다.
코드를 실행하면 창이 열리고 키보드의 좌우 키로 플레이어를 움직일 수 있습니다. 적이 화면 위에서 아래로 내려오면서 플레이어와 충돌하면 게임이 종료됩니다.
이 프로그램을 실행하기 위해서는 "pygame" 모듈이 설치되어 있어야 합니다.
pip install pygame |
import pygame
import random
# 초기화
pygame.init()
# 화면 크기 설정
screen_width = 600
screen_height = 400
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("Space Invaders")
# 플레이어 설정
player_size = 50
player_x = screen_width // 2 - player_size // 2
player_y = screen_height - 70
player_speed = 5
# 적 설정
enemy_size = 30
enemy_speed = 3
enemies = []
def draw_player(x, y):
pygame.draw.rect(screen, (0, 128, 255), [x, y, player_size, 10])
def draw_enemy(x, y):
pygame.draw.rect(screen, (255, 0, 0), [x, y, enemy_size, enemy_size])
clock = pygame.time.Clock()
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] and player_x > 0:
player_x -= player_speed
if keys[pygame.K_RIGHT] and player_x < screen_width - player_size:
player_x += player_speed
screen.fill((0, 0, 0))
# 적 추가
if random.randint(1, 100) < 2:
enemies.append([random.randint(0, screen_width - enemy_size), 0])
# 적 이동
for enemy in enemies:
enemy[1] += enemy_speed
draw_enemy(enemy[0], enemy[1])
# 충돌 검사
for enemy in enemies:
if (
player_x < enemy[0] < player_x + player_size
and player_y < enemy[1] < player_y + 10
):
running = False
draw_player(player_x, player_y)
pygame.display.flip()
clock.tick(60)
pygame.quit()
실행된 화면을 캡처한 이미지입니다.
키보드로 좌우로 움직이면서 내려오는 블록을 피하면됩니다. 블록과 충돌하면 게임이 종료됩니다.
반응형
'Python' 카테고리의 다른 글
(파이썬) 내장함수 range() 반복 가능한 개체 (0) | 2024.01.03 |
---|---|
(파이썬) 내장함수 map() (0) | 2024.01.02 |
(파이썬) 내장함수 pow() 거듭제곱 (0) | 2023.12.31 |
(파이썬) 내장함수 filter() 필터 (0) | 2023.12.29 |
(파이썬) 내장함수 eval(), globals locals 인수 (0) | 2023.12.28 |