一、 内容: 1、 本游戏主要实现了人控制键盘方向键使小人(*)走出迷宫。 2、 具有的功能: 1)、在游戏菜单里人可以选择不同难度的游戏进行游戏; 2)、在游戏过程中,可以通过键盘方向键使小人移动,走出迷宫; 3)、在游戏过程中,当人碰到墙壁(#)的时候小人过不去; 4)、当人顺利完成游戏之后,输出“========you are win!======”字样,30 秒钟后自动返回到游戏菜单; 5)、在游戏过程中,人可以通过按 Esc 键返回游戏菜单;也可以可以按 0 直接退出游戏; 6)、在游戏菜单里,按 0 键可以退出游戏。 3、具体应用: 1)、人主要同过键盘的1,2,3 数字键来选择游戏难度; 2)、在游戏中通过Esc 键来返回菜单; 3)、同过0 键退出游戏。 二、 上机环境 操作系统:windows7 开发工具:VC6.0 三、 函数调用关系图 四、 各函数功能说明 main() 主函数; menu() 游戏菜单; roadcake() 消去小人路径; introduce() 游戏介绍; system(“cls”) 消屏函数; exit(0) 退出游戏; drawmg1() 画初级难度迷宫; drawmg2() 画中级难度迷宫; drawmg3() 画高级难度迷宫; control1() 控制初级难度游戏; control2() 控制中级难度游戏; control3() 控制高级难度游戏; 五、 算法流程图 首先定义三个全局数组 mg1[20][20]、mg2[30][30]、mg3[30][30]用于画出迷宫的地图;1 表示墙(#),0 表示空地( ); Introduce( )函数里如果按 Enter 键,则调用 menu( )函数,从键盘中输入相应的提示数字,进入难度不同的游戏;游戏的执行在此只初级难度进行描述,其余的难度与其类似; 选了 1 后调用 system(”cls”)进行清屏;drawmg1()函数进行迷宫的地图的绘main() introduce() menu() system("cls"); drawmg1(); control1(); system("cls"); drawmg2(); control2(); system("cls"); drawmg3(); control3(); exit(0); roadcake() roadcake() roadcake() 输入 1 输入 2 输入 3 输入 0 Enter 制,for(i=0;i<20;i++) { printf("\t\t\t"); for(j=0;j<20;j++) { ch=mg1[i][j]; switch(ch) { case 4: printf("*");break; case 0: printf(" ");break; case 1: printf("#");break; } if(num++%20==0) /*每行只能输出20 个字符*/ printf(”\n”); } } 之后调用控制函数control1()进行控制小人移动路径,在control1()函数里用do—...