Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Console RPG

객체지향설계(SOLID) 적용, Text 기반 Console RPG 프로젝트

👤 캐릭터 (Character) : Abstract

모든 생명체의 기본이 되는 추상 클래스입니다.

  • 기본 스탯
    • Name: Unknown
    • MaxHealth: 1 / Health: 1
    • Attack: 1
    • MaxLevel: 1 / Level: 1
    • Exp: 0 / RequiredLevelUpExp: 0
    • Gold: 0
  • 주요 기능
    • PrintStatus(): 플레이어의 현재 스탯 정보를 콘솔에 출력합니다.

🛡️ 플레이어 (Player)

  • 초기 설정값
    • MaxHealth: 200 / Health: 200
    • Attack: 30
    • MaxLevel: 10 / Level: 1
    • Exp: 0 / RequiredLevelUpExp: 100
    • Gold: 0

👾 몬스터 (Monster)

  • 스탯 결정 로직
    • Name: 몬스터 종류에 따른 개별 설정
    • Level: 플레이어의 현재 레벨에 비례하여 랜덤 설정
    • MaxHealthLevel×(랜덤20∼30)
    • AttackLevel×(랜덤5∼10)
    • Exp: 50 (고정 보상)
    • Gold: 10∼20 사이의 랜덤 값

⚔️ 전투 시스템 (GameManager)

1. 전투 시작 조건

  • 캐릭터 생성 직후 (최초 시작)
  • 전투 승리 후 상점 방문을 건너뛴 경우
  • 상점 이용을 마친 직후

2. 전투 메커니즘

  • 자동 행동: 플레이어와 몬스터는 매 턴 자동으로 행동(공격/아이템 사용 등)을 결정합니다.
  • 행동 패턴: 현재 기본 공격 외에 추가될 수 있는 행동 패턴을 분석 중입니다.

3. 전투 승리 보상

  • 경험치: 50 Exp 획득
  • 골드: 10∼20 Gold 랜덤 획득
  • 아이템: 30% 확률로 전리품 획득

4. 레벨업 규칙 (Exp 100 달성 시)

  • MaxHealthLevel×20 만큼 최대치 증가
  • Health: 현재 체력을 MaxHealth로 완전 회복
  • AttackLevel×5 만큼 공격력 증가

🧪 아이템 (Item)

  • 데이터 구조
    • EItemCategory(Enum): Consumable (소모성 아이템)
    • EEffectType: Health(체력 회복), Attack(공격력 강화) 등 효과 구분
    • Name: 아이템 이름
  • 사용 규칙
    • 전투 중 플레이어는 확률적으로 보유한 아이템을 자동 사용합니다.
    • 사용된 아이템은 인벤토리에서 즉시 제거되며 효과가 캐릭터 스탯에 즉시 반영됩니다.

📜 게임 로그 (LogManager)

  • 이벤트 기록: 공격 수치, 입은 피해량, 아이템 사용 알림, 보상 획득 등 핵심 이벤트를 기록합니다.
  • 통계 데이터: 누적 로그를 통해 처치한 몬스터 종류와 획득한 총 자원을 시각적으로 확인합니다.

About

객체지향설계(SOLID) 적용, Text 기반 Console RPG 프로젝트

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages