game/prompt/56_permadeath_implementatio...

1.0 KiB

58. 패배 시 저장 데이터 삭제 (Permadeath Implementation)

1. 목표 (Goal)

  • 로그라이크 장르 특성에 맞춰 플레이어 패배(사망) 시 저장된 진행 데이터를 즉시 삭제하여 영구적인 죽음(Permadeath)을 구현합니다.

2. 구현 상세 (Implementation Details)

BattleProvider

  • _onDefeat 메서드 추가:
    • 비동기(async) 메서드.
    • "Player defeated! Enemy wins!" 로그 추가.
    • SaveManager.clearSaveData() 호출하여 저장 파일 삭제.
    • notifyListeners() 호출하여 UI 갱신.
  • 패배 조건 체크 추가:
    • playerAction: 턴 시작 시 상태이상(출혈 등)으로 인한 사망 체크.
    • _enemyTurn: 적 공격 후 및 턴 종료 시 사망 체크.
    • 사망 확인 시 _onDefeat 호출.

3. 결과 (Result)

  • 플레이어가 게임에서 패배하면 메인 메뉴로 돌아가더라도 '이어하기' 버튼이 활성화되지 않습니다(저장 데이터 삭제됨).
  • 긴장감 있는 게임 플레이 환경이 조성되었습니다.