Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 운석피하기 게임
- 퀴즈게임
- JavaScript
- 연상호
- openAI
- 영어책 한권 외워봤니
- frozen lake
- ksnip
- Ai
- html
- 게임개발
- 시집
- 조예은
- 언틸유어마인
- gymnasium
- 타자연습게임
- Gym
- pinta
- 사만다헤인즈
- Stable diffusion
- comfyui
- Python
- 아무도 없는 숲속에서
- 우분투
- 너를 미워할 시간에 나를 사랑하기로 했다
- pygame
- 네글자반전
- itch.io
- 타이핑 몬스터
- 상식의발견
Archives
- Today
- Total
스푸 기록 보관소
운석 피하기 게임 개발(2)- 기본화면 (feat. ChatGPT) 본문
pygame으로 운석 피하기 게임은 ChatGPT와 함께할 생각이다.
느낌상 거의 ChatGPT가 다 작성해 줄 것 같은 느낌이 든다.
화면설계에 따라 800 x 800 사이즈 pygame 코드로 창을 만들어 달라고 요청했다.

답변 받은 코드를 복사해서 실행해 보았다.

보통 pygame 예제가 main class를 만들지 않고 이렇게 작성한 예시가 많은 것 같다.
간단한 게임이라면 위의 코드로 충분히 커버가 되지만
클래스로 기본 화면을 만들어 두지 않으면 여러 개의 다른 파일과 연계할 때 문제가 있을 수 있다.
ChatGPT님께서 작성해 주신 코드를 아래와 같이 수정을 했다.
추가적로 윈도우 창에 아이콘 표시도 넣어 보았다.
게임이 실행되는 위치에 따라 상대 경로 문제로 이미지파일을 못 찾는 문제를 사전 방지하기 위해
os.path.dirname 을 이용하여 현재 .py가 실행되는 위치(=게임기본경로)를 가져오도록 처리했다.
import os
GAME_DIR = os.path.dirname(os.path.abspath(__file__))
전체코드
import pygame
import sys
import os
# .py 실행하는 위치에 따라 게임 경로를 가져와서 image를 못찾는 문제를 해결하기 위해 처리
GAME_DIR = os.path.dirname(os.path.abspath(__file__))
class Main():
def __init__(self):
self.screen = pygame.display.set_mode((800, 800))
pygame.display.set_caption("Meteor Dodger")
# 게임 화면 창에 아이콘 추가
icon = pygame.image.load(GAME_DIR + "/meteor_dodger.ico")
pygame.display.set_icon(icon)
def play(self):
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
self.screen.fill((0, 0, 0))
pygame.display.flip()
if __name__ == "__main__":
#게임 화면 실행인 경우 gameMain 객체 생성 후 play() 메서드 호출 처리
gameMain = Main()
gameMain.play()

윈도우 아이콘을 설정해 두면 아래와 같이 작업 표시줄에서 표시가 된다.

VSCODE에 Explorer 창이다.
01.basic 폴더를 하나 별도로 만들었다.
포스트가 올릴때마다 02, 03, .. 넘버를 붙여서 폴더를 생성하면서 완성해 갈 예정이다.
아이콘이 포함된 소스코드를 업로드한다.
'게임공작소' 카테고리의 다른 글
| 운석 피하기 게임 개발(6)- 운석 처리(1) (1) | 2024.08.26 |
|---|---|
| 운석 피하기 게임 개발(5)- 배경 넣기(feat. ChatGPT) (1) | 2024.08.25 |
| 운석 피하기 게임 개발(4)- 전역변수 설정 (0) | 2024.08.23 |
| 운석 피하기 게임 개발(3)- 움직임과 Frame (feat. ChatGPT) (1) | 2024.08.21 |
| 운석 피하기 게임 개발(1)- 화면설계 (1) | 2024.08.18 |
