나를 기록하다
article thumbnail
반응형

 

[chatgpt - python] 벽돌깨기 게임, 느낀 점

 

만드는 과정

  1. 장비 : Mac OS, Intellij 이용
  1. 내용 : chatgpt에게 물어본 pygame 라이브러리를 이용한 벽돌깨기 게임 구성
  1. 시간 : 게임 구동 시험까지 총 2분

 

import pygame
import sys

# 초기 설정
pygame.init()
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("벽돌깨기 게임")
clock = pygame.time.Clock()

# 색상 정의
WHITE = (255, 255, 255)
BLUE = (0, 0, 255)
RED = (255, 0, 0)

# 패들 설정
paddle_width, paddle_height = 100, 10
paddle_x, paddle_y = (WIDTH - paddle_width) // 2, HEIGHT - paddle_height - 10
paddle_speed = 10

# 공 설정
ball_radius = 10
ball_speed_x, ball_speed_y = 10, -10
ball_x, ball_y = WIDTH // 2, HEIGHT // 2

# 벽돌 설정
brick_rows, brick_cols = 5, 10
brick_width, brick_height = 75, 20
brick_margin = 2
brick_top = 50
bricks = []

for i in range(brick_rows):
    for j in range(brick_cols):
        brick = pygame.Rect(j * (brick_width + brick_margin), brick_top + i * (brick_height + brick_margin), brick_width, brick_height)
        bricks.append(brick)

# 게임 루프
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    # 키 입력 처리
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT] and paddle_x > 0:
        paddle_x -= paddle_speed
    if keys[pygame.K_RIGHT] and paddle_x < WIDTH - paddle_width:
        paddle_x += paddle_speed

    # 공 이동
    ball_x += ball_speed_x
    ball_y += ball_speed_y

    # 공의 벽 충돌 처리
    if ball_x < 0 or ball_x > WIDTH - ball_radius:
        ball_speed_x = -ball_speed_x
    if ball_y < 0:
        ball_speed_y = -ball_speed_y
    if ball_y > HEIGHT - ball_radius:
        ball_x, ball_y = WIDTH // 2, HEIGHT // 2

    # 패들과 공 충돌 처리
    paddle = pygame.Rect(paddle_x, paddle_y, paddle_width, paddle_height)
    if paddle.colliderect(ball_x, ball_y, ball_radius, ball_radius):
        ball_speed_y = -ball_speed_y

    # 벽돌과 공 충돌 처리
    for brick in bricks:
        if brick.colliderect(ball_x, ball_y, ball_radius, ball_radius):
            ball_speed_y = -ball_speed_y
            bricks.remove(brick)
            break

    # 화면 그리기
    screen.fill(WHITE)
    pygame.draw.rect(screen, BLUE, (paddle_x, paddle_y, paddle_width, paddle_height))
    pygame.draw.circle(screen, RED, (ball_x, ball_y), ball_radius)

    for brick in bricks:
        pygame.draw.rect(screen, BLUE, brick)

    # 화면 업데이트
    pygame.display.flip()
    clock.tick(60)

 

느낀 점

  1. chatgpt는 대단하다어중간하게 클론코딩 및 남의 코드를 베껴쓰기만 하는 코더가 되어서는 이 분야에서 절대 살아남을 수 없다. 예전에도 그랬겠지만 지금은 웬만한 내용은 chatgpt에게 질문하면 수준 높은 답변이 나온다. 아직 실력있는 개발자가 되지 않아서 어느정도 레벨인지는 모르겠다만, 확실한 건 주니어 레벨에서 오래 머무르면 직장을 잃을 확률이 높을 것 같다.

 

  1. 어떤 개발자가 된다 하더라도 AI를 잘 다루는 능력은 필수AI가 이정도로 발전하면서 이것을 잘 다루는 사람과 다루지 못하는 사람간의 작업 속도 차이가 엄청날 것이라 생각한다. 당장 github의 copilot만 해도 엄청나게 빠른 작업이 가능한데 나는 아직 매우 기초 단계라 공부를 위해 구독 해지를 하였다. 실력을 키워서 현업에 간다고 하면 다시 사용할 것 같다. 여튼 다양한 AI들을 다루는 능력이 더 중요해질 것 같다.

 

  1. 대체되지 않는 무언가가 필요하다기초적인 개발만 해서는 금방 대체될 것이다. 나만의 무언가가 필요하다. 내가 생각하기엔 이제 개발만 해서 되는 일이 아닌, 창의적인 아이디어가 들어간 기획도 함께해야 살아남을 것 같다. AI 발전이 우리가 생각했던 것보다 더 가속화되고 있다고 느낀다. 물론 아직도 많은 커뮤니티나 유튜브에서는 실력있는 개발자는 살아남는다고 말은 하지만 지금의 속도로 계속 AI가 발전한다면 언제까지 살아남을지는 모르겠다. 그럼에도 불구하고 이 분야에 대한 도전을 계속하는 이유는 먹고 사는 걱정보다 변화하는 기술시장에 나도 함께 뛰어들어 기술을 배우고 실력있는 사람이 되고 싶어서다. 미래는 어떻게 될지 모르지만 현재는 주어진 상황에서 최선을 다해서 내가 원하는 목표를 향해 달려갈 것이다.
반응형
profile

나를 기록하다

@prao

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...