🎮 주제: 텍스트 RPG 핵심 클래스 및 기능 분석
오늘은 텍스트 RPG 과제 구현 결과물을 문서로 정리하고, 전체 시스템 구조와 핵심 기능들을 분석했다. 주요 클래스인 Player, Inventory, Item, Shop, 그리고 Game 클래스를 중심으로 코드를 파악했고, 각 클래스의 역할과 메서드, 실제 플레이 시나리오까지 명확하게 정리되었다.
🔷 Player 클래스
- 기능: 이름, 직업, 공격력, 방어력, 체력 관리. 직업 선택 시 초기 능력치 부여.
- 직업 종류: 전사, 마법사, 궁수 + 히든 직업 "육군 아미타이거"
- 특징: UpdateStats()로 장비에 따라 능력치 변화, DisplayStatus()로 상태 출력 가능.
- 확장 가능성: 레벨, 스킬, 버프 시스템 등.
🔷 Inventory 클래스
- 기능: 아이템 목록, 골드 보유량 관리. 장착/해제 기능 포함.
- 장비 장착: ToggleEquip() 메서드 통해 능력치 반영.
- 게임 전략: 자원관리 및 직업별 장비 조합 최적화.
- 확장 가능성: 용량 제한, 정렬 기능, 아이템 조합 등.
🔷 Item 클래스
- 기능: 무기/방어구/소비품 정의. 이름, 설명, 가격, 능력치 보너스, 장착 여부 포함.
- 시스템: ToggleEquip()으로 장착 상태 토글. DisplayInfo()에서 [E] 표기 포함.
- 확장 가능성: 희귀도, 세트 효과, 내구도 등.
🔷 Shop 클래스
- 기능: 아이템 구매/판매 구현. 초기 상점 아이템 구성 포함.
- 구매 처리: 복사본 생성 후 inventory.AddItem() 호출. 상점 목록에서는 제거됨.
- 판매 처리: 가격 절반 반환. RemoveItem() 후 AddGold() 호출.
- 확장 가능성: 할인, 명성, 재고 시스템 등.
🔷 Game 클래스
- 기능: 전체 게임 진행 제어. 플레이어, 인벤토리, 상점 등 초기화 및 관리.
- UI 흐름: 상태 보기 / 인벤토리 / 상점 / 던전(구현 중)
- 입력 검증: GetUserInput() 메서드로 유효한 값만 허용.
- 상태 패턴 기반: 각 GameScene 클래스별로 화면을 분리하여 관리.
🧠 느낀점 & 회고
- 기본적으로 GPT와 구글링에 많이 의존하면서 코드를 작성했다. 내 힘만으로는 해결이 어려운 부분도 많았고, 중간중간 무력감을 느끼기도 했다.
- 사실 구조만 클래스별로 나누고 그 안에 주석으로 어떤 기능이 들어가야 할지를 정리한 것 외엔, 실제 동작하는 로직을 내 손으로 짜낸 부분은 거의 없었다는 점이 마음에 걸린다.
- 그래도 아무것도 모르던 시작점에서 최소한 구조라도 파악하고 따라갈 수 있게 된 건 분명한 변화라고 생각한다.
- 단순히 기능을 구현하는 걸 넘어서, 객체지향 구조를 전체적으로 연결하는 개념을 이해했다.
- Player → Inventory → Shop → Game → Scene 구조가 유기적으로 연결됨.
- 나중에 UI가 붙더라도 이 구조가 그대로 활용될 수 있어, 텍스트 기반이라도 실제 게임 구조 설계의 기초를 잘 익힌 것 같아 뿌듯했다.
- 특히 '육군 아미타이거' 같은 이스터에그 직업 구현이 너무 재밌었다 😆
✍️ 내일 목표
- 던전 전투 기능 코드 마무리하기
- DungeonScene을 실제로 연결하고, 난이도 별로 클리어 여부를 출력할 수 있도록 구현
- 경험치 시스템을 간단하게라도 추가할 수 있을지 테스트해보기
💡 요약 이번 텍스트 RPG 프로젝트는 내 손으로 온전히 기능을 구현하지는 못했지만, 객체지향적 설계 방식과 게임 시스템의 큰 흐름을 눈으로 따라가며 익힐 수 있는 중요한 발판이었다. 직접 구현보다 구조 설계에 집중한 경험이었고, 이것이 차후 실전 코드 작성의 기반이 되어줄 것이라 믿는다.
'팀스파르타 코딩' 카테고리의 다른 글
| 📚 TIL - 2025년 4월 22일 (화) / 팀 프로젝트와 C# 체크리스트 (0) | 2025.04.22 |
|---|---|
| 📚 TIL - 2025년 4월 21일 (월) / Unity Text RPG 팀플레이 시작! 그리고 질문답변! (0) | 2025.04.21 |
| 📚 TIL - 2025년 4월 17일 (목) / 알고리즘 기초 정리 (0) | 2025.04.17 |
| 📚 TIL - 2025년 4월 16일 (수) / C# 문법 학습(인터페이스, 열거형, 예외처리, 델리게이트) (0) | 2025.04.16 |
| 📚 복습 정리 - 텍스트 RPG 개발에 사용된 C# 개념들 (개념 + 실습 응용) (0) | 2025.04.16 |