-
게임 배경
- 다양한 병으로 인해 아픈 사람들을 치료하기 위한 알약 공급 게임
미로에는 '파란약'과 '빨간약'이 존재함
최종 목표 : 파란약을 탈출시켜 환자에게 전달하는 것- 파란약은 환자의 병을 치료하기에 알맞은 치료약
- 빨간약은 환자에게 부작용을 초래
- 다양한 병으로 인해 아픈 사람들을 치료하기 위한 알약 공급 게임
미로에는 '파란약'과 '빨간약'이 존재함
-
게임 규칙
-
좌우 방향키로 미로판을 회전시킬 수 있음
'약 '을 움직이는 게 아니라 미로판을 움직임 -
미로 중간중간 움직이는 NPC들을 피해야 함
-
미로의 길목에 존재하는 폭탄 아이템을 획득해 막혀있는 벽을 부숴야 함
획득가능한 폭탄아이템의 개수와 탈출구로 가는 길을 막고 있는 벽의 개수를 잘 파악하며 아이템을 사용할 것 -
라운드가 증가될 수록, 미로가 복잡해지고 NPC의 개수는 증가함
-
미로탈출시 제약사항
첫번째, 타이머
: 매 라운드 별 주어진 시간 안에 탈출해야 함
시간 안에 탈출을 실패하면 TIME OVER! -> 게임의 첫 화면으로 BACK
두번째, 한정된 생명
: 부활이 가능한 횟수는 3개로 제한되어 있다.
3개의 생명이 사라지면 GAME OVER! -> 게임의 첫 화면으로 BACK -
탈출을 돕기 위한 아이템들을 잘 활용해야 미로를 안전하게 탈출할 수 있음
-
-
게임 조작 방법
- 방향키 좌우 : 게임의 미로판을 반시계(좌), 시계(우) 방향으로 회전 시킴
- 방향키 상하 : 첫 시작화면의 메뉴 선택 키
-
아이템
- NPC 정지 아이템(N키) : 화살표 모양의 NPC를 잠시 동안 정지 시킴(⊙모양 NPC는 정지 불가능)
- 폭탄 아이템(Spacebar) : 동서남북 네 방향으로 미로벽을 부술 수 있음
함수명 | 기능 | 인수 |
---|---|---|
OutPut |
미로에 출력되어야 하는 전체적인 것들을 출력한다. | X |
SetMaze |
라운드마다의 4가지 방향 미로를 세팅한다. | X |
gravityBLUE |
파란 PC의 중력 방향 이동, 탈출 여부 확인, 빨간 PC와의 충돌 여부 확인, 폭탄 획득 여부 확인을 수행한다. | X |
gravityRED |
빨간 PC의 중력 방향 이동, 탈출 여부 확인을 수행한다. | X |
arrowMove |
NPC의 정보들을 이용해 NPC의 움직임을 출력해준다. | X |
SpecialArrowMove |
Special NPC의 정보들을 이용해 Special NPC의 움직임을 출력한다 | X |
RotateLEFT |
미로 배열에 저장되지는 않지만 미로와 함께 출력되어야 하는 요소들을 왼쪽으로 회전시킨 위치에 출력해준다. | X |
RotateRIGHT |
미로 배열에 저장되지는 않지만 미로와 함께 출력되어야 하는 요소들을 오른쪽으로 회전시킨 위치에 출력해준다. | X |
MovePlayer |
사용자의 키보드 입력을 받아, 입력에 따른 일을 수행한다. | char cInput |
stagePlus |
한 라운드를 탈출했을 때, 라운드를 증가시킨다. | X |
GameItemBoard |
플레이어에게 알려주어야 할 문구를 출력한다. | X |
title |
게임의 첫 시작 화면의 UI를 설정해 준다. | X |
titleIcon |
게임의 첫 시작 화면의 메뉴 아이콘을 출력해준다. | X |
titlePicture |
게임의 첫 시작 화면의 사진을 미로 배열에 저장해 준다. | X |
printGameOver |
“GAME OVER” 화면을 출력해준다. | X |
printTimeOver |
“TIME OVER” 화면을 출력해준다. | X |
printGameSuccess |
“GAME CLEAR” 화면을 출력해준다. | X |
printHospital |
게임이 시작되면 병원 그림을 출력해준다. | X |
ResetTime |
타이머의 시간을 초기화 해준다. | X |
ResetBomb |
라운드 별로 폭탄의 위치를 초기화해준다. | X |
ResetNPC |
라운드 별로 NPC의 위치를 초기화 해준다. | X |
playerInform |
게임을 플레이 하면서 플레이어가 알아야 할 정보들을 미로 오른쪽에 표시해 준다. | X |
CreateBomb |
폭탄 아이템을 획득하면, 폭탄을 획득했음을 저장해준다. | X |
cheat |
게임의 라운드를 건너뛰게 해준다. | X |
RemoveCursor |
콘솔창에서 커서를 지워준다. | X |
SetCurrentCursorPos |
콘솔창의 (x,y)로 커서를 옮겨준다. | int x int y |
TextColor |
콘솔창에 출력되는 글자의 색을 color_num 색으로 설정한다. | int color_num |
Speak_C |
타자 치는 효과로 speaking 문장 출력한다. | const char speaking [] int C |
gotoxy |
콘솔창의 (x,y) 좌표에 s 문구를 출력한다. | int x int y const char* s |
gotoxy_C |
콘솔창의 (x,y) 좌표에 Color 색상으로 s 문구를 출력한다. | int x int y const char* s int Color |
tutorial |
튜토리얼의 진행을 플레이어에게 안내해준다. | char input |
startStory |
라운드별 시작 스토리를 설명해준다. | X |