# 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` 파일만 수정하면 됨. - 코드의 가독성이 향상됨 (숫자의 의미가 변수명으로 명확해짐).