game/prompt/20_main_menu_and_character_...

1.5 KiB

20. 메인 메뉴 및 캐릭터 선택 화면 구현

목표

게임 실행 시 바로 전투 화면으로 진입하지 않고, 메인 타이틀 화면과 캐릭터 선택 과정을 거쳐 게임에 진입하도록 흐름을 변경한다.

구현 내용

  1. Main Menu Screen (lib/screens/main_menu_screen.dart)

    • 게임 타이틀 ("Colosseum's Choice") 표시.
    • [START] 버튼: 누르면 캐릭터 선택 화면으로 이동.
  2. Character Selection Screen (lib/screens/character_selection_screen.dart)

    • 플레이어블 캐릭터(직업) 목록을 보여준다.
    • 현재는 기본 "Warrior" (기존 initBattle 스탯) 하나만 제공한다.
    • 캐릭터 카드/버튼 클릭 시:
      • BattleProvider.initializeBattle()을 호출하여 게임 데이터를 초기화한다.
      • MainWrapper(게임 메인 화면)로 이동한다 (Navigator.pushReplacement).
  3. Main Entry Point 수정 (lib/main.dart)

    • 앱의 homeMainWrapper에서 MainMenuScreen으로 변경한다.
  4. BattleProvider 수정 (lib/providers/battle_provider.dart)

    • 생성자에서 initializeBattle()을 호출하지 않도록 변경한다 (게임 시작 시 명시적으로 호출하기 위함).
    • initializeBattle 메서드가 호출될 때 기존 데이터가 확실히 초기화되도록 보장한다.

예상 결과

  • 앱 실행 -> 메인 메뉴 -> Start -> 캐릭터 선택(Warrior) -> 게임 시작(1스테이지)