[python] 파이썬으로 스네이크 게임 만들기

스네이크 게임은 간단하지만 재미있는 클래식 게임입니다. 이번에는 파이썬과 파이게임(Pygame) 라이브러리를 사용하여 스네이크 게임을 만들어보겠습니다.

파이게임(Pygame) 라이브러리 설치

먼저 파이게임 라이브러리를 설치해야 합니다. 아래의 명령을 사용하여 파이게임을 설치할 수 있습니다.

pip install pygame

스네이크 게임 구현

스네이크 게임을 구현하기 위해서 pygame 라이브러리를 import 하고, 게임의 필수 요소들을 만들어야 합니다. 아래는 스네이크 게임을 구현하는 간략한 예제 코드입니다.

import pygame
import time

pygame.init()

# 게임 화면 크기 설정
dis_width = 800
dis_height = 600
dis = pygame.display.set_mode((dis_width, dis_height))

# 스네이크 색상 및 초기 위치 설정
snake_block = 10
snake_speed = 30
x1 = dis_width / 2
y1 = dis_height / 2
x1_change = 0       
y1_change = 0

# 스네이크 이동 함수
def gameLoop():
    game_over = False
    game_close = False

    while not game_over:
        while game_close == True:
            dis.fill((255,255,255))
            font_style = pygame.font.SysFont(None, 50)
            message = font_style.render("You Lost! Press C-Play Again or Q-Quit", True, (255,100,100))
            dis.blit(message, [dis_width//6, dis_height//3])

            pygame.display.update()

            for event in pygame.event.get():
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_q:
                        game_over = True
                        game_close = False
                    if event.key == pygame.K_c:
                        gameLoop()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game_over = True
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    x1_change = -snake_block
                    y1_change = 0
                elif event.key == pygame.K_RIGHT:
                    x1_change = snake_block
                    y1_change = 0
                elif event.key == pygame.K_UP:
                    y1_change = -snake_block
                    x1_change = 0
                elif event.key == pygame.K_DOWN:
                    y1_change = snake_block
                    x1_change = 0

        # 벽을 만나면 게임 오버
        if x1 >= dis_width or x1 < 0 or y1 >= dis_height or y1 < 0:
            game_close = True
            
        x1 += x1_change
        y1 += y1_change
        dis.fill((255,255,255))
        pygame.draw.rect(dis, (0, 0, 255), [x1, y1, snake_block, snake_block])
        pygame.display.update()
        time.sleep(0.1)

gameLoop()
pygame.quit()
quit()

이 코드를 실행하면 스네이크 게임이 실행됩니다. 방향키를 사용하여 스네이크를 컨트롤하고, 벽이나 스네이크 자신의 몸에 닿으면 게임이 종료됩니다.

이렇게 간단한 파이썬 코드로 스네이크 게임을 만들 수 있습니다. 파이게임 라이브러리의 강력한 기능을 활용하면 더 다채로운 스네이크 게임을 구현할 수 있습니다. 즐겁게 코딩하세요!