내일배움캠프/TIL

내일배움캠프 7일차 TIL - 개인 프로젝트 진행 상황 돌아보기

서보훈 2024. 9. 23. 20:14

금일은 현재 개인프로젝트의 진행 상황에 대한 고찰을 해보겠습니다.

 

현재 개인프로젝트 : 텍스트RPG의 목표입니다

  1. 게임 시작화면 - 구현 완료
  2. 상태보기 - 구현 완료
  3. 인벤토리 - 구현 완료
  4. 장착관리 - 구현 완료
  5. 상점 - 구현 완료
  6. 아이템구매 - 구현 완료
  7. 아이템 클래스/구조체를 활용해 구현 - 구현 완료
  8. 배열을 통해 아이템 정보 관리하기 - 구현 완료
  9. 아이템 추가 - 구현 완료
  10. 휴식기능 추가
  11. 판매하기 기능 추가 - 구현 완료
  12. 장착 개선 - 구현 완료
  13. 레벨업 기능 추가
  14. 던전 입장기능 추가
  15. 저장 기능 추가

여기서 6번까지는 필수 구현 과제이며, 6번까지의 기능은 모두 구현되어있는 상태입니다.

 

이 외에도 아이템 관리와 장착,상점 관련 기능을 모두 완료한 상태이며 이후 전투 기능을 구현할 예정입니다.

 

현재 까지 구현한 내용중, 수정이 필요하다 생각중인 내용입니다.

 

  • 메인함수
    • 현재 게임 진행을 Program 클래스의 메인함수에서 진행중입니다. 이 내용을 블랙잭 과제처럼 단독 클래스와 게임 진행 함수를 만드는것으로 대체하는것이 좋은가 고민중입니다.
    • 메인함수에 진행하다보니 진행을 위해 만들어준 모든 함수가 static 선언이 되어있는상태입니다.
  • 아이템 관리
    • 이쪽은 고민이 아닌 내일중 변경할 예정으로, 현재 ItemDatabase 클래스에 리스트를 만들어 아이템의 전체 내용을 관리중인데, 이를 매개변수가 없는 생성자에서 리스트에 아이템정보를 추가하도록 변경할 예정입니다.
    • 코드를 다시 곱씹어보니 함수를 쓸 이유가 없다고 판단하였습니다.
  • 장착관리
    • 과제내용에서는 장착중인 아이템을 판매시 장착을 해제하도록 만들게 유도하였지만, 그 내용을 못보고 넘어가서 장착중인 아이템을 판매하지 못하게 구현하였습니다.
    • 굳이 바꿔줄 필요가 있는가 생각중입니다...
  • 인벤토리 구현
    • 현재 인벤토리는 Character 클래스에 구현되어있는 상태입니다. 이 내용을 별도의 클래스로 만들어 플레이어의 아이템만을 관리하는 클래스로 분리할까 고민중 입니다.
    • 만약 분리할경우 인벤토리를 통해서 추가스텟을 따로 관리할 수 있게됩니다. 단, 아이템 탈착에 따른 스텟변화를 캐릭터 클래스와 인벤토리 클래스간 자주 주고받아야 하는 상황이 됩니다.

 

오늘의 TIL은 진행중인 프로젝트의 코드를 돌아보는 시간을 가져보았습니다.

개선 가능성의 내용의 경우, 일단 현재는 프로젝트 제출 기한이 얼마 남지 않아서 후순위로 미뤄둘 가능성이 있지만 이후 이 내용을 보고 다시 떠올릴 수 있게 기록해두고자 합니다.