-
파이썬 활용 04 - 오락실 게임 'PANG' 만들기 (기본 세팅 및 프레임)파이썬/파이썬 활용 2021. 11. 2. 11:09
유투버 '나도코딩'님 강의 참조
- 오락실의 'PANG'이라고 불리는 게임을 만들 예정
- 조건
1) 캐릭터는 화면 아래에 위치, 좌우로만 이동 가능
2) 스페이스를 누르면 무기를 쏘아 올림
3) 큰 공 1개가 나타나서 바운스
4) 무기에 닿으면 공은 작은 크기 2개로 분할, 가장 작은 크기의 공은 사라짐
5) 모든 공을 없애면 종료(성공)
6) 캐릭터는 공에 닿으면 게임 종료(실패)
7) 시간 제한 99초 초과시 게임 종료(실패)
8) FPS는 30으로 고정 (필요시 speed 값을 조정)
01 배경과 캐릭터
- 시작전 폴더 및 이미지 세팅
- 배경
밝은색의 배경 - 무대
- 캐릭터
- 무기
- 공1
- 공2
- 공3
- 공4
02 프레임
- 기본 초기화
import pygame pygame.init() # 초기화 반드시 필요 -> 'pygame' 사용 시 반드시 선언 #화면 크기 설정 screen_width = 640 #가로 screen_height = 480 #세로 screen = pygame.display.set_mode((screen_width, screen_height)) #화면 타이틀 설정 pygame.display.set_caption("Pang!") #게임 이름 #FPS clock = pygame.time.Clock()
- 사용자 게임 초기화
- 배경
import os #경로 설정 라이브러리 #1.사용자 게임 초기화 (배경화면, 게임 이미지, 좌표, 폰트, 시간 등) current_path = os.path.dirname(__file__) #현재 파일의 위치 반환 image_path = os.path.join(current_path, "images") #현재 파일 위치 + images 폴더 위치 반환 # 배경 background = pygame.image.load(os.path.join(image_path, "background.png")) #2. 이벤트 루프 running = True #게임 진행 여부 while running: dt = clock.tick(60) # 게임 화면의 초당 프레임 수를 설정 ... #6. 화면에 그리기 (.blit) screen.blit(background, (0,0))
- 스테이지
# 스테이지 stage = pygame.image.load(os.path.join(image_path, "stage.png")) stage_size = stage.get_rect().size stage_height = stage_size[1] #스테이지 높이를 알아야 공이 스테이지 사이에서만 움직임 ... #6. 화면에 그리기 (.blit) screen.blit(stage, (0, screen_height - stage_height))
- 캐릭터
# 캐릭터 character = pygame.image.load(os.path.join(image_path, "character.png")) character_size = character.get_rect().size character_width = character_size[0] character_height = character_size[1] character_x_pos = (screen_width / 2) - (character_width / 2) character_y_pos = screen_height - character_height - stage_height ... #6. 화면에 그리기 (.blit) screen.blit(character, (character_x_pos, character_y_pos))
'파이썬 > 파이썬 활용' 카테고리의 다른 글
파이썬 활용 06 - 웹 스크래핑 (기본개념/정규식/User Agent) (0) 2021.11.03 파이썬 활용 05 - 오락실 게임 'PANG' 만들기 (위치/무기/공/이벤트) (0) 2021.11.02 파이썬 활용 03 - PYGAME 사용해보기 (간단 게임 퀴즈) (0) 2021.11.02 파이썬 활용 02 - PYGAME 사용해보기 (키보드 이벤트/FPS/충돌처리/텍스트삽입) (0) 2021.11.01 파이썬 활용 01 - PYGAME 사용해보기 (환경설정/기본/배경/캐릭터) (0) 2021.11.01 - 오락실의 'PANG'이라고 불리는 게임을 만들 예정