1. 파이썬 액션 게임 코드 (Pygame 기반)
아래는 pygame 라이브러리를 활용한 액션 게임 예제입니다. 플레이어가 버튼(키보드 입력)을 이용해 캐릭터를 움직이고 적을 회피하는 간단한 액션 메커니즘을 포함합니다.
코드:
import pygame import random # 초기화 pygame.init() # 화면 설정 screen_width, screen_height = 800, 600 screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("액션 게임") clock = pygame.time.Clock() # 색상 WHITE = (255, 255, 255) BLACK = (0, 0, 0) RED = (255, 0, 0) BLUE = (0, 0, 255) # 플레이어 설정 player_size = 50 player_pos = [screen_width // 2, screen_height - player_size * 2] player_speed = 10 # 적 설정 enemy_size = 50 enemy_pos = [random.randint(0, screen_width - enemy_size), 0] enemy_speed = 7 # 게임 루프 running = True while running: screen.fill(WHITE) 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_pos[0] > 0: player_pos[0] -= player_speed if keys[pygame.K_RIGHT] and player_pos[0] < screen_width - player_size: player_pos[0] += player_speed if keys[pygame.K_UP] and player_pos[1] > 0: player_pos[1] -= player_speed if keys[pygame.K_DOWN] and player_pos[1] < screen_height - player_size: player_pos[1] += player_speed # 적 이동 enemy_pos[1] += enemy_speed if enemy_pos[1] > screen_height: enemy_pos[0] = random.randint(0, screen_width - enemy_size) enemy_pos[1] = 0 # 충돌 처리 if (enemy_pos[0] < player_pos[0] < enemy_pos[0] + enemy_size or enemy_pos[0] < player_pos[0] + player_size < enemy_pos[0] + enemy_size) and (enemy_pos[1] < player_pos[1] < enemy_pos[1] + enemy_size or enemy_pos[1] < player_pos[1] + player_size < enemy_pos[1] + enemy_size): print("Game Over") running = False # 화면 그리기 pygame.draw.rect(screen, BLUE, (player_pos[0], player_pos[1], player_size, player_size)) pygame.draw.rect(screen, RED, (enemy_pos[0], enemy_pos[1], enemy_size, enemy_size)) pygame.display.flip() clock.tick(30) pygame.quit() |
파이썬은 간단한 코드로 복잡한 게임을 만들 수 있는 강력한 도구입니다. 특히 pygame 라이브러리를 활용하면 실제로 조작 가능한 액션 게임을 쉽고 빠르게 개발할 수 있습니다. 이 블로그에서는 초보자와 중급 개발자를 위한 고급스러운 액션 게임을 구현하며, 플레이어와 적의 움직임, 충돌 처리, 키보드 입력 등을 다룹니다.
주요 특징:
- 플레이어 조작: 키보드를 사용해 실시간으로 캐릭터를 움직일 수 있음.
- 적 생성 및 충돌 처리: 적을 생성하고, 충돌 시 게임 종료.
- 버튼 설정 가능: 좌/우/상/하 방향키로 자유로운 이동.
사용자가 예상할 수 있는 주요 오류 사항
코드를 실행하기 전에, 사용자가 자주 겪을 수 있는 문제와 해결 방법을 정리했습니다:
1. pygame 모듈 설치 오류
문제: "ModuleNotFoundError: No module named 'pygame'"
원인: pygame 라이브러리가 설치되지 않음.
해결 방법:
pip install pygame |
2. 해상도 관련 충돌
문제: 창 크기(screen_width, screen_height)를 초과하는 값으로 캐릭터나 적을 배치했을 때.
해결 방법: 값 설정 시 화면 크기를 초과하지 않도록 제한.
3. 충돌 검사 오류
문제: 충돌 로직(if 조건)이 제대로 작동하지 않음.
원인: enemy_pos와 player_pos 좌표 계산 실수.
해결 방법: 항상 좌표와 크기 값을 정확히 확인하고 테스트할 것.
4. 프레임 속도 관련 렉
문제: clock.tick(30)을 조정하지 않으면 게임이 너무 빠르거나 느리게 작동.
해결 방법: 적절한 FPS 값을 설정(권장: 30~60).