티스토리 뷰

기록/독서

레밍즈 프로젝트

JOHNPARK82 2006. 5. 10. 17:33
Lemmings Project
01
본 프로젝트는 Object Programming 팀 단위 프로젝트로 3인 1조의 팀으로 작성된 프로그램입니다. 다른 어떤 프로젝트보다 이 프로젝트에 대해서는 애착이 더 가는데... 복학한뒤에 처음으로 내가 이 팀의 팀장으로 팀을 조율하면서 프로그램의 작성에 있어서도 전체 게임의 프레임 워크를 구성하고, 다른 2명의 팀원에게 적당한 코딩을 유도할 수 있었다는 점이 이 프로젝트에서 얻었던 가장 큰 수확이었습니다. 학교 프로젝트가 보통 1인이 거의 대부분을 작성하는 현실에 비교하면 이 프로젝트의 의미는 거의 프로젝트코드의 80%가량을 프로그래밍을 해왔던 제게는 정말로 남다르다고 할 수 있었습니다.

또한 그동안 계속 공부하고 있었던 Design Pattern 을 이 프로젝트를 통해서 실현을 해보았다는 점이 프로젝트 자체에서 얻은 것으로 따지면 가장 큰 프로젝트가 아니었을까 생각합니다. 이 수업을 하면서 본격적으로 SE 에 대한 관심도를 높여 Design Pattern, Refactoring 에 대한 공부를 시작했고 대략 2달가량을 관련 책만 읽었습니다.

이 프로그램은 Visual C++ 을 이용하여 작성하였습니다. 프로그램은 디자인 적인 관점이 매우 중요하였고, Replay 기능이 필요하였기 때문에 Command Pattern을 이용하여서 작성하였습니다. 또한 각 레밍즈의 객체들은 Strategy Pattern 을 이용해서 레밍의 행위, 레밍의 애니메이션을 객체화하여 관리하였습니다. 기본적으로 레밍들의 동작은 중앙에 Work Queue 라는 모듈을 만들고 이 큐에 각 레밍의 클래스 인스턴스를 집어넣고 사용자의 액션에 따라서 지정된 액션의 캘래스를 설정하는 형태로 만들었습니다.