시작앞서
4일 동안의 C#기초 문법 공부한걸 테스트하기 위한 과제로 TextRPG 제작 과제가 있었다
콘솔창에 C#으로 구현하는 게임이라 문자열을 사용해서 보여지는 UI들을 만들려고 하니 구상하는 머리가 아파오기 시작했다
그래도 과제로 주어진 템플릿 같은 화면구성이 있어서 화면구성을 토대로 로직을 구현하기로 한다
구현 완료 깃허브 레포지토리 : https://github.com/Pass1948/TextRPG_-ver.2025-
게임 요구 사항
개인적으로 생각한 TextRPG의 요구사항은 다음과 같다
- 행동에 대한 화면 이동(Scene)
- 유저가 입력한 텍스트에 따라 반응
- 케릭터의 직업
- 케릭터의 능력치 수치
- 아이템, 장비 등 오브젝트
- 상점 이용 : 구매 or 판매가능
- 장비 장착 or 해제
- 장비에 따라 능력치 수치 변화
게임 화면 구상
전체적인 화면 이동 구성
게임 구현
구현화면
구현중 고민 사항
1) Scene 화면 구성 텍스트를 기존 StringBuilder에서 Console.WritLine과 .Write로 교체 사용
= 이유는 StringBuilder는 아스키코드 사용으로 컬러색을 아스키코드표를 보고 해야할 정도로 보기 힘듬. |
2) 게임매니저와 데이터매니저로 따로 나눈이유 : 게임매니저는 게임 전반의 걸친
= 게임매니저는 게임 전반의 걸친 전체적인 기능들을 담당하고 아이템, 객체의 위치 등 게임 전반의 데이터 수치를 담당하게 설계함 현재 게임에서는 아이템 목록저장소 담당이 되었다 |
3) Class마다의 능력치를 데이터매니저에 안넣은 이유: 클래스 마다 고유 능력치는
= 클래스 마다 고유 능력치는 클래스 부모-자식 클래스에 구현하는게 더 보기 쉽고 찾기 쉽게 하기 위함 |
4) list 사용시 add말고 addrange를 사용한 이유
= add보다 코드의 간소화 되고 직관적이면서 호출스택이 add로 사용할때 보다 적어서 사용하게됨 |
5) 구매한 아이템을 리스트에서 삭제하지않고 인벤토리리스트에 추가만 한이유
= 상점 목록에서 구매된 아이템으로 표기되어야 하기에 삭제처리를 안함 |
'유니티개발 TIL' 카테고리의 다른 글
3주차 2일 TIL_TextRPG심화(전투시스템&몬스터) (1) | 2025.07.15 |
---|---|
3주차 1일 TIL_TextRPG심화(던전메이커) (0) | 2025.07.14 |
2주차 3일 TIL_C#기초-3(클래스) (8) | 2025.07.09 |
2주차 2일 TIL_C#기초-2(조건문과 반복문, 매서드) (15) | 2025.07.09 |
2주차 1일 TIL_C#기초-1(자료형, 연산자) (4) | 2025.07.07 |