0. 뱀 게임 (Snake Game)
0. Intro
프로그래밍 언어를 효과적으로 공부하는 방법이 여럿 있겠지만, 무언가를 직접 만들면서 공부하는 것이 가장 으뜸이라 생각한다. 본인도 중학교 고등학교 다닐 때 테트리스나 에니그마 같은 것들을 코드로 작성해보며 c와 C#을 공부했다.
c언어로 만들 수 있는 간단한 것들 중 가장 대표적인 것이 바로 뱀 게임이다. 앞으로 c언어로 뱀게임을 만들어 보면서 basic c language 카테고리의 글의 내용을 직접 사용해 볼 것이다.
1. 뱀 게임이란
Snake game은 1970년대부터 지금까지 꾸준히 생산되고 소비되는 매우 간단하고 직관적인 게임이다. 본인의 아버지께서 1969년 출생이시고, 회사에 들어가고 나서 콘솔을 처음 접하셨다고 하니, 뱀게임의 역사가 상당히 유구하다는 것을 알 수 있다.
그 규칙이 매우 간단한데 아래와 같다.
1. 뱀은 상하좌우 중 한 방향으로 멈추지 않고 움직인다.
2. 맵에 먹이가 하나(혹은 그 이상) 생성되며, 뱀이 먹이를 먹으면 몸통의 길이가 길어진다.
3. 뱀이 벽이나 자신의 몸통에 부딪히면 게임오버
4. 뱀의 몸이 맵을 가득 채우면 게임 승리
한 번 해보고 싶은 사람은 구글에 "snake game"이라 검색하면 이스터에그 같은 느낌으로 구글이 제공하는 뱀게임을 해볼 수 있다. 의외로 퀄리티가 상당히 좋다.
2. 왜 뱀 게임인가?
본인은 게임 개발을 별로 좋아하지 않는다. 다른 프로그램보다 생각해야 할 부분이 많고, 번거로운 부분이 많기 때문이다. 간단해 보이는 테트리스도, 블럭을 일일이 생성해주어야 하고, 블럭을 돌려야 하고, 스페이스바나 아래방향 키를 누르면 더 빠르게 내려가야 하는 등 고려해야 하는 부분이 상당히 있다.
하지만 뱀게임은 굉장히 간단하다. 상하좌우로 움직이며, 먹이를 먹으면 몸이 길어지고, 벽이나 자기 몸에 닿으면 게임이 끝난다. 또 게임이 속도감 있게 흘러가기 때문에 개발하는 과정에서 플레이 하는 재미와 성취감이 있다. 이런 장점이 있기 때문에 처음 c언어를 공부하는 사람들에게 자주 추천되는 프로젝트 주제가 바로 뱀게임이다.
3. 앞으로는
basic c language에서 살펴본 c언어 내용을 직접 사용해보며 뱀게임을 만들 것이다. 본인의 개발환경은 Visual Studio 2017 community 이며, 사용 언어는 c++이 살짝 가미된 c이다. 최종 완성본은 FM대로의 뱀게임에 나만의 이스터에그를 살짝 끼얹은 나만의 뱀 게임이 될 것이다.
'Programming Language > C, C++' 카테고리의 다른 글
[Snake Game] 4. 뱀과 먹이 관련 작업하기 (0) | 2019.03.25 |
---|---|
[Snake Game] 3. 중간 점검, 코드 다듬기 (0) | 2019.03.21 |
[Snake Game] 2. 키보드로 플레이어 움직이기 (0) | 2019.03.20 |
[Snake Game] 1. 맵과 플레이어 출력하기 (0) | 2019.03.20 |