백준 17081 RPG Extreme
골드 4 주제에 플레 1 문제를 풀었다.
플레1 문제라 나에겐 벅차보였지만, 게임 구현, 시뮬레이션 관련 문제였기 때문에 굉장히 재밌어보여 풀기 시작했다.
곧 후회했지만… 결과적으로는 배울 것도 많고 뭣보다 성취감이 컸다.
복기
이 문제는 디버깅이 힘들었다. 꼼꼼히 읽는다고 읽었지만, 결국 잘못한 사항들은 다음과 같다.
- 조건, 출력 미스: boss 네임도 입력받은 네임으로 출력해야 하는데, 예제가 모두 “boss”로 입력시킨 것을 보고 고정 “boss” 텍스트로 출력시켰었다. (32퍼에서 계속 틀림)
- 출력 미스: 조건 “주인공이 있는 칸은 그 칸에 무엇이 있든(함정 등) @으로 출력한다.” 을 안 보고 트랩칸은 무조건 ‘^’로 표시하고 있었다. (77퍼인가에서 계속 틀렸던 것으로 기억)
- 출력 미스: 함정에서 사망 후 부활도 못했을 때 ‘^’가 아닌 @로 표시하고 있었다.
- 조건 미스: 악세 CO는 첫 공격만 적용이었는데, ‘무조건 적용’으로 했었다.
- 로직 순서 판단: 보스 처치 판단이 커맨드 종료 판단보다 앞에 있어야 했다.
후기
특히 1, 2번 사항 때문에 계속 틀려 실패율은 점점 높아져갔다.
내가 얼마나 디테일하지 못한지 알 수 있었고, 디버깅 숙련도를 키울 수 있었다. 또한 게임 개발에 필요한 OOP를 연습할 수 있었다.
물론 시간에 쫓기느라 반쪽짜리 객체지향이지만, 객체별, 기능별로 문제를 쪼개는 연습을 할 수 있었다.
별개로, 게임 기획자 생활을 했을 때 프로그래머들에게
단 하나의 기획서임에도 이것보다 훨씬 더 많으면서 애매한 개발사항을 요구했었다.
그때 기획서 내용이 부실했던 적도, 예외상황을 고려하지 않아 디버깅이 힘들었던 적도 있었다.
그 점을 반추하게 된다.
앞으로 게임을 개발할 땐 위 문제보다 많고 복잡한 구현단계가 있을텐데 이런 구현, 시뮬레이션 문제를 통해 연습해봐야겠다.
댓글남기기