본문 바로가기

파이썬을 이용해서 게임을 한번 만들어 봤습니다 (Chat GPT 이용)

파이썬을 이용해서 게임을 한번 만들어 봤습니다. 
 


파이썬 코딩 정말 하나도 몰랐는데 게임을 만들어서 감격스럽습니다.
 
대학교 시절 코딩이라는 것을 처음 접했을 떄
'뭐 이런게 다있냐. 책이랑 똑같이 적었는데 왜 오류인거야 ?' 
 
이랬던 제가 Chat GPT의 도움을 받아서 아주 간단하지만 공을 피하는 게임을 만들었습니다. 
 
우와 진짜 감격스럽습니다
사실 지금도 코딩을 잘 아는건 절대 아닙니다. 
 
Chat GPT에게 공피하는 게임을 인터벌 0.5초 간격으로 만들어 달라는 식으로 말하고 
가이드를 받은 뒤 수정을 약간만 하니 뚝딱 이네요. 
 

공의 크기, 공의 색깔, 공과 장애물의 특성 등등

짠 아래와 같이 인터벌 0.5초 공이 막 나옵니다. 
옛날에 졸라맨 똥피하기 게임이 생각나네요. 
 

파란공아 하얀 공을 피해랏

만든 게임 코드를 남겨 봅니다. 
 
import pygame
import random
import time

pygame.init()

# Screen dimensions
WIDTH = 800
HEIGHT = 600

# Colors
WHITE = (255, 255, 255)
BLUE = (0, 0, 255)

# Ball and obstacle properties
BALL_RADIUS = 20
OBSTACLE_RADIUS = 30
OBSTACLE_INTERVAL = 3

# Initialize screen
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('Ball Game')

# Ball class
class Ball:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def draw(self, screen):
        pygame.draw.circle(screen, BLUE, (self.x, self.y), BALL_RADIUS)

# Obstacle class
class Obstacle:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def draw(self, screen):
        pygame.draw.circle(screen, WHITE, (self.x, self.y), OBSTACLE_RADIUS)

    def update(self):
        self.x -= 5

def main():
    clock = pygame.time.Clock()
    ball = Ball(WIDTH // 2, HEIGHT // 2)
    obstacles = []
    obstacle_timer = 0

    running = True
    while running:
        screen.fill((0, 0, 0))

        for event in pygame.event.get():
            if event\
            .type == pygame.QUIT:
                running = False

        # Ball movement
        keys = pygame.key.get_pressed()
        if keys[pygame.K_UP] and ball.y > BALL_RADIUS:
            ball.y -= 5
        if keys[pygame.K_DOWN] and ball.y < HEIGHT - BALL_RADIUS:
            ball.y += 5

        # Obstacle generation
        if obstacle_timer == 0:
            obstacles.append(Obstacle(WIDTH, random.randint(OBSTACLE_RADIUS, HEIGHT - OBSTACLE_RADIUS)))
            obstacle_timer = OBSTACLE_INTERVAL * 60  # Convert to frames

        # Obstacle movement and collision detection
        for obstacle in obstacles[:]:
            obstacle.update()
            if obstacle.x + OBSTACLE_RADIUS < 0:
                obstacles.remove(obstacle)
            elif abs(obstacle.x - ball.x) < BALL_RADIUS + OBSTACLE_RADIUS and abs(obstacle.y - ball.y) < BALL_RADIUS + OBSTACLE_RADIUS:
                running = False

        # Draw objects
        ball.draw(screen)
        for obstacle in obstacles:
            obstacle.draw(screen)

        pygame.display.flip()
        clock.tick(60)
        obstacle_timer -= 1

    pygame.quit()

if __name__ == "__main__":
    main()
 
오늘은 Chat GPT를 이용해 파이썬 사용한 게임 만들기를 해보았습니다. 코딩을 잘 모르는 여러분들도 게임프로그래머가 될 수 있을 거 같습니다!