개인과제 제출일었다.
제출하기 전에 버그 테스트하면서 코드를 다시 훑어봤다.
역시 마음에 안드는 부분이 있어 수정했다.
게임의 전반적인 진행 과정은 다음과 같다.
이런 간단한 구조로 플레이가 진행되고 기능 전반에 걸쳐있다.
지금 코드는 각 기능마다 출력과 선택이 구조화가 되어 있지 않았다.
그래서 그 부분을 개선해보고자 인터페이스를 만들었다.
interface IFeature
{
string Name { get; set; }
IScene Parent { get; set; }
void Start(); // 외부에서 기능을 시작할 때 호출
void Set(); // 지시문 출력
void Act(); // 플레이어의 선택 / 행동
}
이런 식으로 틀을 잡고
위와 같이 파생 클래스들을 만들어주었다.
이제 Town 스크립트에 몰려있는 기능들은
위 형태에 맞게 수정되고 통일된 사용이 가능해졌다.
오늘 배운 내용의 핵심은 이곳이다.
혼자 코딩테스트 공부를 하면서 아직 진도를 못뺀 부분들이 있었다.
위 방식들은 모두 규모가 큰 문제를 해결하는 방식이다.
이후 남는 시간동안 팀원들과 각자 제출한 코드를 공유하며 설명하는 시간을 가졌다.
#내일배움캠프 #스파르타내일배움캠프 #스파르타내일배움캠프TIL