객체지향설계(SOLID) 적용, Text 기반 Console RPG 프로젝트
모든 생명체의 기본이 되는 추상 클래스입니다.
- 기본 스탯
Name: UnknownMaxHealth: 1 /Health: 1Attack: 1MaxLevel: 1 /Level: 1Exp: 0 /RequiredLevelUpExp: 0Gold: 0
- 주요 기능
PrintStatus(): 플레이어의 현재 스탯 정보를 콘솔에 출력합니다.
- 초기 설정값
MaxHealth: 200 /Health: 200Attack: 30MaxLevel: 10 /Level: 1Exp: 0 /RequiredLevelUpExp: 100Gold: 0
- 스탯 결정 로직
Name: 몬스터 종류에 따른 개별 설정Level: 플레이어의 현재 레벨에 비례하여 랜덤 설정MaxHealth: Level×(랜덤20∼30)Attack: Level×(랜덤5∼10)Exp: 50 (고정 보상)Gold: 10∼20 사이의 랜덤 값
- 캐릭터 생성 직후 (최초 시작)
- 전투 승리 후 상점 방문을 건너뛴 경우
- 상점 이용을 마친 직후
- 자동 행동: 플레이어와 몬스터는 매 턴 자동으로 행동(공격/아이템 사용 등)을 결정합니다.
- 행동 패턴: 현재 기본 공격 외에 추가될 수 있는 행동 패턴을 분석 중입니다.
- 경험치: 50 Exp 획득
- 골드: 10∼20 Gold 랜덤 획득
- 아이템: 30% 확률로 전리품 획득
MaxHealth: Level×20 만큼 최대치 증가Health: 현재 체력을MaxHealth로 완전 회복Attack: Level×5 만큼 공격력 증가
- 데이터 구조
EItemCategory(Enum): Consumable (소모성 아이템)EEffectType: Health(체력 회복), Attack(공격력 강화) 등 효과 구분Name: 아이템 이름
- 사용 규칙
- 전투 중 플레이어는 확률적으로 보유한 아이템을 자동 사용합니다.
- 사용된 아이템은 인벤토리에서 즉시 제거되며 효과가 캐릭터 스탯에 즉시 반영됩니다.
- 이벤트 기록: 공격 수치, 입은 피해량, 아이템 사용 알림, 보상 획득 등 핵심 이벤트를 기록합니다.
- 통계 데이터: 누적 로그를 통해 처치한 몬스터 종류와 획득한 총 자원을 시각적으로 확인합니다.