4주차 과제로 C#을 이용한 Console TextRpg 게임을 만들게 되었다.
게임 시작 화면
상태보기
인벤토리
아이템 정보를 클래스 / 구조체로 활용
아이템 정보를 배열로 관리
아이템 추가 - 나만의 아이템
콘솔 꾸미기 - 콘솔의 색 지정, 라인등을 이용
인벤토리 크기 맞춤
인벤토리 정렬
상점
상점 - 아이템 판매
장착 개선
던전입장
던전입장 - 휴식 기능
던전입장 - 레벨업 기능
게임 저장기능
던전에서 몬스터를 잡으며 레벨업을 하고 돈을 모아서 더 좋은 아이템을 사고 상위 던전으로 도전하는 형식의 게임을 구상했다.
Player의 정보가 있는 Player클래스와 Item들의 정보들이 있는 ItemManager클래스의 정보를 GameManager 클래스의 생성자에서 객체를 초기화하며 생성해준다.
TitleScene()
1-1. 시작하기 -> StoryScene()
1-2. 이어하기(미구현)
1-3. 종료하기(콘솔종료)
StroyScene()
2-1. 마을로 가기 -> MainScene()
2-1. 다른 이벤트(종료함정) -> TitleScene()
MainScene()
3-1. 상태창 -> Statistics()
3-2. 인벤토리 -> Inventory()
3-3. 상점 -> Shop()
3-4. 던전 -> InDungeon()
3-5. 타이틀 화면 -> TitleScene()
3-6. (회복기능 추가 예정)
문자열 보간 없이 깔끔하게 테이블 구성이 가능해진다.
비주얼 스튜디오[도구] -> NuGet패키지 관리자 -> 솔루션 NuGet패키지 관리자-> "ConsoleTables"검색 후 설치
예제
출력결과
예제 코드의 9번째 줄인 buyShopTable.AddRow뒤 세미콜론(;)전에 .Configure(o => o.EnableCount = false);
를 쓰는 이유는 저 람다식을 써주지 않는다면 buyShopTable.Wrte();로 나오고 그 및에 Count : (숫자) 가 출력되기 때문이다. 저 람다식을 통해 카운트가 안뜨게할 수 있다.