# 건물균형수호대
게임 장르: 퍼즐
사용 언어: C++
사용 라이브러리: SDL
제작 년도: 2015년 (2개월)
인원: 2명 (아티스트, 프로그래머)
목표 플랫폼: PC - Windows
설명: 누구나 쉽게 즐길수 있는 퍼즐 게임을 목표로 제작을 했습니다. 스테이지는 무작위로 숫자가 나오지만 항상 답이 나올 수 있도록 해야하기 때문에, 꽤나 복잡한 알고리즘을 사용했습니다.
플레이 영상:
https://www.youtube.com/watch?v=I9TTa4MDcBc
다운로드 링크
게임 화면:
정해진 수만큼 시설을 양쪽 무게가 같도록 배치해야 합니다. 시설들의 무게는 무작위로 정해져있지만, 항상 하나 이상의 답은 존재합니다. 완료 버튼을 누를시 조건이 맞다면 다음 스테이지로 넘어가게 됩니다.
만약 제한 시간동안 모든 스테이지를 클리어하지 못하게 되면 게임 오버 처리가 됩니다. 현재까지 진행한 라운드와 점수를 보여줍니다. 다시하기나 게임 종료도 포함되어 있습니다.
코드 설명:
메인, 게임 플레이, 게임 오버 등 각종 씬들을 상태 머신을 통해서 관리를 했습니다. 게임이 단 하나의 상태만 가질 수 있기 때문에 유용하게 사용 할 수 있었습니다.
초기버전에는 무작위 스테이지가 아니고 고정된 스테이지였기 때문에 스테이지 정보를 따로 저장하고 있어야 했습니다. 파일입출력을 통해서 관리를 했으며, 당시에는 json이나 xml을 잘몰랐기 때문에 txt 파일을 불러오는 방식을 사용했습니다.
이미지 출력은 TextureManager을 만들어서 관리를 했습니다. 씬마다 사용하는 이미지들을 해당 씬 init에서 불러온 뒤, 다른 씬으로 넘어갈때 clean에서 정리를 했습니다. 마찬가지로 스테이트 패턴을 유용하게 사용했습니다.