오늘은 크게 위의 3가지로 개발을 했다.
먼저 servic와 연결할 view를 만들었는데, 처음 게임을 할 때 입력하는 숫자를 처리하는 뷰, 그 다음 게임을 진행할 때 숫자를 처리하는 뷰, 그리고 게임의 스코어를 관리하는 뷰로 나누어서 구현했다.
그리고 서비스는 view에 맞게 게임 전체를 관리해줄 수 있는 GameFlowManagementService를 구현해줬다. 간단하게 게임을 시작하면 그냥 플로우대로 흘러가기 때문에 게임을 재시작할때 명령을 받는 것만 구현하면 될 것 같아서 그 부분만 적어줬다.(이게 맞나…?)
그리고 컨트롤러를 구현했다. 게임의 모든 부분을 이 컨트롤러를 거쳐서 적용되어야 하기 때문에 이 코드가 모든 부분을 관통하는 것이고, 시나리오가 그대로 반영되는 부분이라 신경을 많이 썼다.
늘 컨트롤러 구현에 애를 먹는 편인 것 같다. 게임의 플로우에 맞게 맞는 servic와 view를 빼놓지 않고 불러와줘야 메서드를 사용하고 클래스를 사용할 수 있어서 오류가 많이 나기 때문이다😢
역시나 다 구현하고 테스트를 해보니 문제가 발생했다.
우선 다르게 생각하고 착각해 변수명을 맞지 않는 것을 불러온 것에 실수가 한가지 있었는데, 이 과정에서 뭔가 잘못 생각했다고 여기며 게임 재시작 여부를 묻는 로직을 반대로 변경했다.
여기서부터 삽질을 시작했다👩🌾
이걸 안바꿨어야 했는데 바꾸는 바람에 다른 오류까지 발생했다. 그래도 금방 발견해서 다행이지….
가장 중요한 실수는 main을 작성하지 않은 것이다.
…..ㅎㅎㅎㅎ 당연하게도 게임을 시작하는 것을 main에서 불러오지 못하면 게임이 안되지…?
에휴….제가 이래요😱
그래도 그 당시에 궁금했던 것, 배웠던 것까지 모두 기능 목록 아래에 간단히 적어둘 수 있었다.
힘내자아💪