game/prompt/09_ui_ux_improvements.md

2.5 KiB

전투 UI 개선 및 장비 변경 UX 강화

목표

전투 화면에서의 사용자 선택에 대한 정보를 명확히 제공하고, 인벤토리에서 장비 변경 시 사용자의 실수를 방지하며 변경 사항을 미리 확인할 수 있도록 UX를 개선합니다.

요청 사항

1. 전투 행동 UI 개선 (공격/방어 확률 및 예상 수치 명시)

현재 전투 화면에서 공격(Attack) 및 방어(Defend) 버튼을 누를 때 나타나는 리스크 수준(Safe, Normal, Risky)에 대한 성공 확률과 효율 정보뿐만 아니라, 실제 적용될 예상 수치를 함께 표시해주세요.

  • 변경 전: 단순히 버튼만 존재하거나 텍스트로만 표시됨.
  • 변경 후: 각 행동 선택지 옆이나 하단에 구체적인 확률과 예상 데미지/방어량을 명시합니다.
    • Safe: 성공률 100%, 효율 50% (예: 데미지 5)
    • Normal: 성공률 80%, 효율 100% (예: 데미지 10)
    • Risky: 성공률 40%, 효율 200% (예: 데미지 20)
  • 계산식: Player Total ATK * Efficiency
  • 사용자가 선택하기 전에 자신이 입힐 데미지나 얻을 방어도가 얼마인지 직관적으로 알 수 있어야 합니다.

2. 장비 변경/해제 Preview 및 확인 절차 추가

인벤토리에서 장비를 **장착(교체)**하거나 **해제(Unequip)**할 때, 변경되는 스탯 정보를 미리 보여주고 사용자에게 최종 확인을 받는 팝업을 구현해주세요.

  • 동작 흐름:
    1. 인벤토리의 아이템을 선택(장착 시도)하거나 장착된 슬롯을 선택(해제 시도).
    2. "장비 변경 확인" 팝업이 표시됨.
    3. 팝업 내용:
      • 변경 전 스탯: 현재 공격력(ATK), 체력(HP/MaxHP), 방어력(Armor) 등
      • 변경 후 스탯: 장비 교체/해제 시 예상되는 공격력, 체력, 방어력
      • 스탯 변화량: 상승(초록색), 하락(빨간색) 등으로 시각적 차별화 권장
      • Current HP 예측: 장비 변경 전후 HP 퍼센트 유지 로직 적용
    4. "변경하시겠습니까?" (또는 "해제하시겠습니까?") 문구와 함께 [확인] / [취소] 버튼 제공.
    5. [확인] 클릭 시 장비 교체 또는 해제 로직 실행.

관련 파일

  • lib/screens/battle_screen.dart: 전투 UI, 예상 데미지/방어량 계산 및 표시
  • lib/screens/inventory_screen.dart: 인벤토리 UI, 장착 및 해제 시 스탯 프리뷰 팝업
  • lib/providers/battle_provider.dart: 전투 로직 및 확률 데이터 참조