资源描述:
《数字迷宫游戏项目要求.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数字迷宫第一部分案例描述案例目的本案例为实现动态的刷新Dos界面,使用用户控制头像“消灭”窗口中出现的数字(无固定顺序)的游戏,来使学员加深对一维数组、二维数组、循环语句、选择程序设计以及相关系统函数的使用。案例难度★★★★案例覆盖技能点a)选择程序设计b)循环程序设计c)用户、屏幕窗口的输入输出d)相关系统函数e)一维、二维数组推荐案例完成时间4天适用课程和对象C语言案例(T阶段)第二部分需求和开发环境使用技术和开发环境MicrosoftVisualC++6.0案例需求本案例要求制作一个《数字迷宫》的游戏,该游戏的玩法描述为:
2、1、系统主要地图为固定模式2、地图部包含墙体、走廊、阿拉伯数字(1~7)、玩家头像(1个)四种不同容3、用户通过上、下、左、右按键来控制玩家头像在地图围的走动4、在玩家走动过程中,碰撞墙壁时,该步的走动无效,玩家头像原地不变5、玩家允许在设计走廊部进行走动6、玩家头像遇到阿拉布数字时,数字消失,并且对玩家走动无影响7、玩家头像遭遇所有数字之后(地图上无阿拉伯数字),该局游戏结束,并自动开始下一局游戏8、在某一局游戏中,游戏走廊、墙体与其他游戏相同,但数字位置会随机产生9、阿拉伯数字产生在走廊而非墙体上10、在玩家游戏过程中按下E
3、sc键,游戏无条件退出。11、在玩家未使用Esc键时,程序正常运行程序运行截图1、程序初始状态1、玩家运行中2、退出数字迷宫工作原理1.本程序分为初始——玩家运行——重启一局——结束四个阶段a)初始化阶段i.程序当中存在一18*24大小的固定地图数组ii.该数组以0/-1分别标识程序地图当中的“墙体”以及“走廊”iii.通过随机函数在走廊中产生1~7阿拉伯数字,并且将该系列数字写入二维数组的相应位置当中,对-1(走廊)进行覆盖iv.产生玩家位置:数组的(1,1)处v.使用循环语句遍历打印出数组元素,元素包括1.墙体(0):■2.
4、走廊(-1):空格*23.数字(1~7):数字本身+空格*14.玩家头像:1即:J+空格*1b)玩家运行阶段i.玩家使用上下左右键进行头像控制ii.与墙体碰撞时,走动无效,原地不动(通过玩家头像位置标示与数组部数据是否为墙体(0)来判断)iii.为一般走廊时,玩家原头像位置清空为双空格(通过玩家头像位置标示与数组部数据是否为走廊(-1)来判断),玩家当前位置输出玩家头像,并更新玩家头像位置全局变量。iv.为数字时(通过玩家头像位置标示与数组部数据是否为数字(>0)来判断),该数字消失,玩家原位置头像消失,新位置出现玩家头像,并
5、将数组消失数字位置置为走廊(-1),并更新玩家头像位置全局变量。v.每走动一次系统遍历数组元素,判断数字(>0)多少,当数字存在数量>0时,该局继续,=0时,进入重启一局步骤。c)重启一局i.重复初始化阶段(注意要移动头像到(1,1)位置)d)结束程序i.用户点击Esc或强行关闭应用程序时,程序无条件退出。第三部分功能点介绍头文件引用列表头文件名功能简述#include使用一般输入输出函数#include使用getch函数达到输入数据不敲回车进行下步计算功能#include使用
6、time(int)函数#include"windows.h"使用光标移动函数对光标进行编码定位系统函数使用列表函数名称功能简述getch();printfsrand();设置系统rand函数随机引资time(NULL);以时间作为随机因子产生不重复的随机数,提高程序效率rand()得到随机数GetStdHandle得到该程序HANDLE的函数GetLastError();得到系统最近错误编号函数SetConsoleCursorPosition(Handle,{x,y});代码设置系统光标位置函数公共变量列表变量名称初始值功能简述
7、intcode[17][24]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,-1,0,0,0,0,0,-1,-1,-1,0,0,0,-1,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,-1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,0,-1,0,-1,
8、-1,-1,-1,-1,-1,-1,0,0,0,-1,0,0,-1,0,-1,0,0,0,0,-1,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,0,0,0,0,-1,0,0,0,-1,0,0,0,0,0,0,0,