📝24.01.05
오늘은 개인 과제였던 TextRPG의 1차 제출일이었다. 그래서 일단은 필수 과제를 모두 완성해서 제출하였고, 추가 도전 과제 중에서 몇가지를 추가한 채로 제출했다.
기능 구현보다는 편의성 개선, 코드 정리에 많은 시간을 할애했음에도 여러번 볼때마다 수정 사항이 보여서 오늘은 일단 수정, 개선할 사안을 정리해보겠다.
튜터님의 설명 영상을 보고 현재 내 코드를 보니 레벨별 아이템 추가 해금을 구상하다가 아이템 리스트를 매번 새롭게 추가하고 있다는 것을 깨달았다. 즉, 현재 형태로는 레벨이 2가 되면 레벨 1의 아이템은 추가가 되지 않을 뿐만 아니라 상점에 들어갈때마다 아이템 리스트가 초기화 되고, 새롭게 추가되고 있는 것이다. 이는 불필요한 메모리 소비라서 수정해야겠다.
이 외에도 Store 작동 순서 자체도 어지러운 면이 있어 함수 분리, 수정을 위해 노력해야 할 것 같다.
현재는 Monster 클래스의 뼈대와 던전으로 향하는 문만 만들어둔 상태이다. 캐릭터의 Attack 메서드를 이미 작성해 두어서 금방 완성할 수 있을 것 같긴하지만 간단한 턴제 게임을 구상하고 있어서 좀 더 설계 작업을 해야 할 것 같다.
json 파일을 통해 작성하는 것에 매번 어려움을 겪어 일단 미뤄둔 작업이다. 특히 매번 어떤 내용들이 저장되어 있어야 하는지가 고민 거리였는데 이번 콘솔 게임은 캐릭터만 저장되어 있으면 될 것 같아 비교적 난이도는 쉬운 편이라고 생각한다. 시도해보고 후에 서술하겠다.
HP 회복을 구현하기 위해 Warrior 클래스에 maxHP를 추가하였다. (원래 개인 과제 제공 가이드라인에 따르면 모든 캐릭터의 HP가 100이 최대이므로 HP만 100으로 채우면 되는 간단한 구현이었겠지만, 나는 직군별 최대 HP를 다르게 설정해두어서 따로 만들어야 했다.) ICharacter 인터페이스에 추가하는 것이 좋을 지 Warrior 클래스에만 추가하면 좋을 지 여러번 생각해보았는데, 이번 게임에서는 몬스터나 플레이어를 제외한 기타 다른 캐릭터들이 hp를 회복하는 메서드는 구현하지 않을 것이라 일단 Warrior 클래스에만 추가해두었다. 추후에 수정할 수도 있는 사안이다.