game/prompt/37_game_over_screen.md

1.4 KiB

게임 오버 화면 구현 (Game Over Screen)

목표

플레이어 사망 시 게임 진행을 중단하고, 패배를 알리는 화면과 함께 메인 메뉴로 돌아갈 수 있는 기능을 제공합니다.

요구사항

  1. 입력 차단: 플레이어 사망 시 공격/방어 등 모든 전투 조작 버튼을 비활성화합니다.
  2. 패배 화면:
    • 화면 중앙에 "Defeat" 텍스트 또는 이미지 표시.
    • "Return to Main Menu" 버튼 표시.
  3. 메인 메뉴 이동: 버튼 클릭 시 현재 게임 상태를 초기화하고 메인 메뉴(MainMenuScreen)로 이동합니다.

구현 계획

1. UI 변경 (lib/screens/battle_screen.dart)

  • BattleProviderplayer.isDead 상태를 감지하여 오버레이를 표시합니다.
  • 기존 버튼(FloatingActionButton 등)의 onPressednull로 처리하거나 화면을 덮는 오버레이로 입력을 막습니다.

2. 로직 변경 (lib/providers/battle_provider.dart)

  • (필요 시) 게임 오버 상태를 명확히 관리하는 플래그 추가 또는 기존 player.isDead 활용.
  • 메인 메뉴로 돌아갈 때 상태를 초기화하는 메서드(resetGame 등) 확인.

결과

플레이어 체력이 0이 되면 전투가 멈추고 게임 오버 화면이 출력되며, 버튼을 통해 타이틀 화면으로 돌아갈 수 있습니다.