a=n; b=m;break;
}
num=getch(); switch(num) {
case 72:if(mg1[a-1][b]!=1) {
roadcake(&mg1[a][b],&mg1[a-1][b]);
system(\ drawmg1(); break; } case 80:if(mg1[a+1][b]!=1)
{
roadcake(&mg1[a][b],&mg1[a+1][b]);
system(\ drawmg1(); break;
}
case 75:if(mg1[a][b-1]!=1)
{
roadcake(&mg1[a][b],&mg1[a][b-1]);
system(\ drawmg1(); break; } case 77:if(mg1[a][b+1]!=1)
{
roadcake(&mg1[a][b],&mg1[a][b+1]);
system(\
drawmg1(); break;
} case 27:system(\
menu();break;
case 48:exit(0); }
if(mg1[18][19]==4)
{printf(\are
win!--------------------\\n\\n\\n\
menu(); }
}
while(1);
/*直到出口*/
}
/*-----------------------------------------------------------------------------*/
/*中级游戏控制函数*/
void control2(void) { int a,b,m,n; char num; do
/*循环取得
空制键*/
{ for(n=0;n<30;n++) for(m=0;m<30;m++) if(mg2[n][m]==4) { a=n; b=m;break;
}
num=getch(); switch(num) {
case 72:if(mg2[a-1][b]!=1)
{ roadcake(&mg2[a][b],&mg2[a-1][b]);
system(\ drawmg2();
break;
} case 80:if(mg2[a+1][b]!=1)
{
roadcake(&mg2[a][b],&mg2[a+1][b]);
system(\ drawmg2();
break;
}
case 75:if(mg2[a][b-1]!=1)
{
roadcake(&mg2[a][b],&mg2[a][b-1]);
system(\ drawmg2(); break; } case 77:if(mg2[a][b+1]!=1)
{
roadcake(&mg2[a][b],&mg2[a][b+1]);
system(\
drawmg2(); break; }
case 27:system(\
menu();break; case 48:exit(0); }
if(mg2[29][15]==4)
{printf(\
win!--------------------\\n\\n\\n\ menu(); }
}
while(1);
/*直到出口*/
}
/*-----------------------------------------------------------------------------*/
/*高级游戏控制函数*/
void control3(void) { int a,b,m,n; char num; do
/*循环取得
空制键*/
{ for(n=0;n<30;n++) for(m=0;m<30;m++) if(mg3[n][m]==4) { a=n; b=m;break;
}
num=getch(); switch(num) {
case 72:if(mg3[a-1][b]!=1) {
roadcake(&mg3[a][b],&mg3[a-1][b]);
system(\ drawmg3();
break;
are
}
case 80:if(mg3[a+1][b]!=1) {
roadcake(&mg3[a][b],&mg3[a+1][b]);
system(\ drawmg3(); break;
}
case 75:if(mg3[a][b-1]!=1)
{
roadcake(&mg3[a][b],&mg3[a][b-1]);
system(\ drawmg3(); break; } case 77:if(mg3[a][b+1]!=1)
{
roadcake(&mg3[a][b],&mg3[a][b+1]);
system(\
drawmg3(); break;
} case 27:system(\
menu();break;
case 48:exit(0);
}
if(mg3[0][15]==4)
{printf(\win!--------------------\\n\\n\\n\
menu(); }
}
while(1); /*直到出口*/
}
/*--------------------------------------------------------------------------------*/
/*画初级谜宫函数*/ void drawmg1(void) { int i,j,ch,num=1;
for(i=0;i<20;i++) { printf(\ for(j=0;j<20;j++) {
ch=mg1[i][j]; switch(ch) {
case 4: printf(\ case 0: printf(\ case 1: printf(\ }
if(num++ ==0) printf(\
}
}
}
/*--------------------------------------------------------------------------------*/ are
/*画中级谜宫函数*/ void drawmg2(void) { int i,j,ch,num=1;
for(i=0;i<30;i++) { printf(\ for(j=0;j<30;j++) {
ch=mg2[i][j]; switch(ch) {
case 4: printf(\ case 0: printf(\ case 1: printf(\ }
if(num++0==0) printf(\
}
}
}
/*--------------------------------------------------------------------------------*/
/*画高级谜宫函数*/ void drawmg3(void) { int i,j,ch,num=1;
for(i=0;i<30;i++) { printf(\ for(j=0;j<30;j++) {
ch=mg3[i][j]; switch(ch) {
case 4: printf(\ case 0: printf(\ case 1: printf(\ }
if(num++0==0)
printf(\ }
}
}
/*---------------------------------------------------------------------------*/ /*交换函数*/
void roadcake(int *i,int *j) { int temp; temp=*i; *i=*j; *j=temp;
}
/*---------------------------------------------------------------------------*/ /*游戏介绍函数*/
void introduce(void) { char ch;
printf(\>>welcome<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\\n\ printf(\这是一个迷宫小游戏,你可以选择不同的难度进行游戏\\n\\n\
printf(\具体游戏操作如下:\\n\\n\ printf(\通过键盘方向↑ → ← ↓来控制小人(*)上、右、左、下移动;\\n\ printf(\在游戏过程中可以按Esc键返回菜单栏,按0键结束游戏!\\n\\n\
printf(\请按Enter键进入游戏\\n\ ch=getch(); if(ch==13) system(\
menu();
}
/*----------------------------------------------------------------------------*/
/*游戏菜单函数*/
void menu(void) { }
/*------------------------------------------------------------------------------*/
还有很多功能么有实现,惭愧啊??
case 3:system(\ }
drawmg3();
/*
printf(\请选择游戏难度:\printf(\初级\\n\\n\printf(\中级\\n\\n\printf(\高级\\n\\n\printf(\退出\\n\\n\scanf(\switch(ch) {
case 1:system(\
case 2:system(\
drawmg2();
/*
drawmg1();
/*初级游戏*/
control1(); break; char ch;
中级游戏*/
control2();break;
高级游戏*/
control3();break; case 0:exit(0);