C语言写出的迷宫闯关游戏代码
C语言写出的迷宫闯关游戏代码:
#include
#include
#define LEFT 75
#define RIGHT 77
#define UPPER 72
#define DOWN 80
#define ESC 27
#define MAP
void PeopleFind();
void main()/*主函数*/
{
char ch;
clrscr();
printf("\n Welcome to play maze! Please select hand(1) to start else to leave\n");/*开始游戏*/
scanf("%c",&ch);
if(ch=='1')
PeopleFind(MAP);/*人工探索*/
else
getch();/*图形关闭*/
}
union keyboard /*定义读取键盘码的共用体类型*/
{
int iKey;
char chKey[2];
};
int GetKey() /*定义读取键盘码的函数*/
{
union keyboard Key1; /*定义读取键盘码的共用体变量*/
while(bioskey(1)==0); /*检测用户是否按键*/
Key1.iKey=bioskey(0); /*读取按键信息*/
return(Key1.chKey[0]==0?Key1.chKey[1]:Key1.chKey[0]); /*返回ASCII码或扩充码*/
}
void PeopleFind()/*人工探索*/
{
int i,j,level,a;
int Key,x,y; /*x,y为人物移动后坐标*/
int Map[6][20][20]= /*用二维数组定义地图1表示墙 0表示路 2表示出口*/
{
/*地图1"*/{
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,1,1,1,0,1,0,0,1,1,1,0,1,1,1,1,1,0,1},
{1,0,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,1,0,0,0,1,1,0,1,1,1,1,1,0,1,1,1,0,1},
{1,0,1,1,1,0,0,0,0,1,0,1,1,1,0,1,0,0,0,1},
{1,0,1,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1},
{1,1,1,0,1,0,1,0,0,0,1,0,1,0,1,1,1,1,0,1},
{1,0,1,0,1,0,1,1,1,0,1,0,0,1,0,1,0,0,0,1},
{1,0,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,0,1,1},
{1,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,1,0,0,1},
{1,0,1,0,1,1,1,0,1,0,1,0,1,0,1,0,1,1,0,1},
{1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,1},
{1,0,1,0,1,1,1,0,1,1,1,0,1,0,1,1,1,0,1,1},
{1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1},
{1,0,1,0,1,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1},
{1,1,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1},
{1,0,0,0,1,1,1,0,1,1,1,0,1,0,1,1,1,0,1,1},
{1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,0,0,0,2},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
},
/*地图2"*/{
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,1,0,0,0,0,0,0