개인프로젝트

[C언어] 미로찾기 게임 만들기 (Maze Game) 프로젝트

섭섭입니다 2021. 1. 1. 16:40

C언어로 미로게임을 만들어 보았다. 

(진행중)

 

 

 

인터넷에서 흔히 볼 수 있는 남들과는 다른 느낌의 미로게임을 만들어 보고자 하였다. 따라서 

 

전체의 맵이 보이지 않는 미로를 탈출하는 듯한 느낌의 미로게임을 만들고자 하였다.

 

따라서 내 위치 주변에 약간의 시야만 존재하고 움직일때 마다 보여지는 시야가 다르게 끔 구현하였다.

 

 

 

현재 2 STAGE 까지 구현하였고 [COMPUTER 대결 모드]를 구현하고자 한다.

 

 

 


프로그램 아이콘도 직접만들어 보았다. 

그림판을 이용하여 만들었고 파워포인트로 편집하여 

로젝트 리소스 파일  .Ico 파일 변경하여 아래와 같이 수정했다.

 

 


 

- 배열의 구성 -

 

 

 

 

- 시작화면 -

 

 

 

갈림길로 선택지를 선택할 수 있는 간단한 미로를 구현하였다.  

 

 

 

 

- SETTING 화면 -

 

 

 

세팅창에서는 효과음을 끄고 켤 수 있는  "Sound" 옵션,

 

게임 모드를 결정할 수 있는 "game mode" 옵션이 있어 사용자가 선택하여 게임을 할 수 있다. 

 

 

- GAME EXIT 화면 -

 

 

 

자동으로 별이 움직이는 간단한 미로의 형태로 디자인 하였고 게임 종료를 할 수 있는 버튼을 소개한다.

 

 

 

 

- GAEM PLAY 화면 -

 

 

 

별 주위의 시야말고는 암흑이 되어 진짜 미로를 탐험하여 탈출하는 모습을 연출하였다.

 

 

[ ★의 이동 ]

 

키보드의 → ← ↓ ↑ 키를 이용하여 별을 움직인다.

 

#include <conio.h> 헤더를 추가해 키보드 입력 여부를 판단하기 위해서 kbhit() 함수를 활용했고

 

getch() 함수를 활용하여 키보드 입력에 대한 아스키 코드 값을 반환하여

 

어떤 키가 눌렸는지 판단하게 된다. 

 

또한 #include <Windows.h> 헤더를 추가해  setcolor()함수, gotoxy()함수를 사용하였다.

 

깜빡임을 줄이기 위해서 gotoxy()함수를 사용하여 별의 부분만 수정될 수 있도록 하였고

 

setcolor() 함수를 이용하여 각 블럭들의 색을 표현하였다.

 

 

 

 

 

 

[ ★의 시야 ]

 

별의 좌표를 파악해서 그 주변에 해당하는 부분만 보여질 수 있도록 별과 함께 같이 이동하도록 하였다.  

 

 

 

 

 

 

- 미로 탈출 화면 -

 

미로 탈출을 한 뒤에는 다음 스테이지로 넘어갈 것인지 설정을 조정을 할 것인지 게임을 종료할 것인지를 결정한다.

 

 

 

- NEXT STAGE -

 

 

 

다음과 같이 콘솔 창이 커지며 게임을 플레이하게 된다.

 

 


- Beta ver.3 게임 플레이 영상 -

 

 

 

- 컴퓨터 자동 미로 탐지 영상 -

 

아주 간단한 알고리즘을 구현해 자동으로 미로를 탈출하는 모습이다. 

 

이것으로 computer와 대결할 수 있는 모드를 구현할 것이다.