20 lines
1.4 KiB
Markdown
20 lines
1.4 KiB
Markdown
# 59. Centralize Constants and Configuration
|
|
|
|
## 1. 목표 (Goal)
|
|
- 코드 곳곳에 흩어져 있는 '매직 넘버(Magic Numbers)'와 하드코딩된 설정 값들을 `lib/game/config/` 폴더 내의 설정 파일들로 중앙화합니다.
|
|
- 특히 전투 공식, 확률, 아이템 생성 가중치 등을 설정 파일로 이동하여 밸런스 조정 및 유지보수를 용이하게 합니다.
|
|
|
|
## 2. 구현 계획 (Implementation Plan)
|
|
1. **설정 파일 업데이트:**
|
|
- `BattleConfig`: 리스크 레벨별 확률, 효율(Efficiency), 데미지 분산 범위(현재는 제거됨, 필요 시 부활), 상태이상 확률 등.
|
|
- `ItemConfig`: 아이템 생성 시 Rarity 가중치(이미 일부 존재), Prefix 등장 확률 등.
|
|
- `GameConfig`: 골드 보상 공식 상수, 스테이지 관련 상수 등.
|
|
2. **코드 리팩토링:**
|
|
- `CombatCalculator`: 하드코딩된 리스크 확률(0.5, 0.8, 0.4 등)과 효율(0.5, 1.0, 2.0)을 `BattleConfig` 상수로 대체.
|
|
- `LootGenerator`: Prefix 등장 확률(50% 등)을 `ItemConfig` 상수로 대체.
|
|
- `BattleProvider`: 골드 계산 공식 상수를 `GameConfig`로 이동.
|
|
|
|
## 3. 기대 효과 (Expected Outcome)
|
|
- 게임 밸런스 조정 시 코드 로직을 건드리지 않고 `config` 파일만 수정하면 됨.
|
|
- 코드의 가독성이 향상됨 (숫자의 의미가 변수명으로 명확해짐).
|