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와 대결할 수 있는 모드를 구현할 것이다.
'개인프로젝트' 카테고리의 다른 글
[FPGA] FSM 감응신호 "신호등" 만들기 (라즈베리파이 - Zynq 소켓통신) (2) | 2021.08.20 |
---|---|
라즈베리파이 프로젝트 "스마트 선풍기" 만들기 (term project) (2) | 2021.05.31 |
[OPENCV] OPENCV를 활용한 이미지 게임 만들기 (C언어 사과 찾기 게임) (0) | 2021.05.11 |
소켓통신으로 받은 데이터 Firebase Database에 저장 후 안드로이드에서 실시간 읽기 (0) | 2020.09.03 |