데브허브 | DEVHUB | [파이썬 프로젝트] Ch 15. 슬라이딩 퍼즐 만들기 | ③게임 그래픽 구현하기[파이썬 프로젝트] Ch 15. 슬라이딩 퍼즐 만들기 | ③게임 그래픽 구현하기
- Pygame을 활용한 게임 그래픽 구현의 기본 단계는
pygame.init()으로 초기화하고, pygame.display.set_mode()로 화면 크기를 설정하는 것입니다. 🖥️
- 화면에 텍스트를 출력하기 위해
pygame.font.Font()로 폰트를 설정하고, font.render()로 텍스트 표면을 생성한 뒤 screen.blit()으로 화면에 그립니다. ✍️
- 게임 루프는
while running:으로 구성되며, pygame.event.get()을 통해 마우스 클릭이나 키보드 입력 등 모든 이벤트를 처리합니다. 🎮
pygame.display.flip() 함수는 지금까지 그린 모든 그래픽 요소를 화면에 업데이트하며, clock.tick(FPS)으로 화면 업데이트 주기를 조절합니다. ⏱️
- 슬라이딩 퍼즐 보드를 Pygame에 맞게 그리기 위해
draw_board() 함수를 재정의하여 각 퍼즐 조각의 위치와 크기를 pygame.Rect()로 정의하고, pygame.draw.rect()로 사각형을 그립니다. 🧩
- 퍼즐 조각 내 숫자는
font.render()로 생성하고 text.get_rect(center=bbox.center)를 활용하여 각 조각의 중앙에 정확히 배치합니다. 🎯
- 키보드 입력 이벤트(
pygame.KEYDOWN)를 감지하여 화살표 키(pygame.K_UP, pygame.K_DOWN 등)에 따라 move_zero_to() 함수를 호출하여 퍼즐 조각의 위치를 변경합니다. ⌨️
- 게임 종료 조건은 현재 퍼즐 보드가 초기 정렬 상태(
init_board())와 일치하는지 확인하여 퍼즐이 맞춰지면 게임을 종료하도록 설정합니다. ✅
- VS Code의 코드 폴딩 기능(
Ctrl/Cmd + K + 0)을 활용하면 복잡한 코드 구조를 간결하게 파악하고 관리할 수 있습니다. 📁
- 더 나아가 배경 이미지 삽입이나 다양한 크기의 보드 구현 등 고급 기능은 추가 학습 자료를 통해 확장할 수 있습니다. 🚀