版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.数字迷宫第一部分 案例描述案例目的本案例为实现动态的刷新Dos界面,使用用户控制头像“消灭”窗口中出现的数字(无固定顺序)的游戏,来使学员加深对一维数组、二维数组、循环语句、选择程序设计以及相关系统函数的使用。案例难度案例覆盖技能点a) 选择程序设计b) 循环程序设计c) 用户、屏幕窗口的输入输出d) 相关系统函数e) 一维、二维数组推荐案例完成时间4天适用课程和对象C语言案例(T阶段)第二部分需求和开发环境使用技术和开发环境Microsoft Visual C+ 6.0案例需求本案例要求制作一个数字迷宫的游戏,该游戏的玩法描述为:1、 系统主要地图为固定模式2、 地图内部包含墙体、走廊、阿
2、拉伯数字(17)、玩家头像(1个)四种不同内容3、 用户通过上、下、左、右按键来控制玩家头像在地图范围内的走动4、 在玩家走动过程中,碰撞墙壁时,该步的走动无效,玩家头像原地不变5、 玩家允许在设计走廊内部进行走动6、 玩家头像遇到阿拉布数字时,数字消失,并且对玩家走动无影响7、 玩家头像遭遇所有数字之后(地图上无阿拉伯数字),该局游戏结束,并自动开始下一局游戏8、 在某一局游戏中,游戏走廊、墙体与其他游戏相同,但数字位置会随机产生9、 阿拉伯数字产生在走廊内而非墙体上10、 在玩家游戏过程中按下Esc键,游戏无条件退出。11、 在玩家未使用Esc键时,程序正常运行程序运行截图1、 程序初始状
3、态2、 玩家运行中3、 退出数字迷宫工作原理1. 本程序分为初始玩家运行重启一局结束四个阶段a) 初始化阶段i. 程序当中存在一18*24大小的固定地图数组ii. 该数组以0/-1分别标识程序地图当中的“墙体”以及“走廊”iii. 通过随机函数在走廊中产生17阿拉伯数字,并且将该系列数字写入二维数组的相应位置当中,对-1(走廊)进行覆盖iv. 产生玩家位置:数组的(1,1)处v. 使用循环语句遍历打印出数组元素,元素包括1. 墙体(0):2. 走廊(-1): 空格*23. 数字(17):数字本身+空格*14. 玩家头像:1 即:J+空格*1b) 玩家运行阶段i. 玩家使用上下左右键进行头像控制
4、ii. 与墙体碰撞时,走动无效,原地不动(通过玩家头像位置标示与数组内部数据是否为墙体(0)来判断)iii. 为一般走廊时,玩家原头像位置清空为双空格(通过玩家头像位置标示与数组内部数据是否为走廊(-1)来判断),玩家当前位置输出玩家头像,并更新玩家头像位置全局变量。iv. 为数字时(通过玩家头像位置标示与数组内部数据是否为数字(0)来判断),该数字消失,玩家原位置头像消失,新位置出现玩家头像,并将数组内消失数字位置置为走廊(-1), 并更新玩家头像位置全局变量。v. 每走动一次系统遍历数组元素,判断数字(0)多少,当数字存在数量0时,该局继续,=0时,进入重启一局步骤。c) 重启一局i. 重
5、复初始化阶段(注意要移动头像到(1,1)位置)d) 结束程序i. 用户点击Esc或强行关闭应用程序时,程序无条件退出。第三部分功能点介绍头文件引用列表头文件名功能简述#include 使用一般输入输出函数#include 使用getch函数达到输入数据不敲回车进行下步计算功能#include 使用time(int)函数#include windows.h使用光标移动函数对光标进行编码定位系统函数使用列表函数名称功能简述getch();printfsrand();设置系统rand函数随机引资time(NULL);以时间作为随机因子产生不重复的随机数,提高程序效率rand()得到随机数GetStd
6、Handle得到该程序HANDLE的函数GetLastError();得到系统最近错误编号函数SetConsoleCursorPosition(Handle, x,y);代码设置系统光标位置函数公共变量列表变量名称初始值功能简述int code17240,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,
7、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,-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,0,0,-1,0,0,0,0,0,0,0,0,0,-1,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
8、,-1,-1,-1,-1,0,-1,0,0,-1,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,-1,0,0,-1,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,-1,-1,-1,-1,0,-1,-1,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1
9、,-1,-1,-1,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,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,0,0,0,0,0,0,0,0,0,;地图数组,0表示墙体,-1表示走廊int postionX, postionYpostionX=1; postionY=1;玩家的初始位置函数功能列表函数名称功能简述void main()程序接口函数,负责程序整体运行void SetCode(int
10、num);该函数通过传入的num值来判断并输出为:,空格*2,或者数字本身void SetWindow();生成地图主体函数:遍历公共数组,在位置部位(1,1)时,调用SetCode函数,并在(1,1)位置输出玩家头像void SetNum();程序初始化时,用于使用随机函数在数组“走廊”位置生成17的阿拉伯数字void Begin();初始化主体函数,设置玩家头像初始位置,调用SetNum函数void LeftKey();void UpKey();void DownKey()void RightKey();玩家按下,上下左右按键时,分别调用的函数,该函数可判断玩家是否为被墙体阻挡、正常行走、“吃”掉数字三种状态,并改变玩家头像的位置。int CheckLeftNum();该函数判断数组内剩余的数字(0)数量,返回该数量void GoToXY(int x, int y);该函数用于在x,y位置输出用户头像void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024户外广告牌制作安装合同
- 2024年合作投资协议书模板
- 2024苗木购销合同范本简单版
- 2024股东合作经营合同协议书
- 城市街道广告位租赁合同
- 插画约稿合同样本
- 二房东租房合同租房合同协议范本
- 2024股份制工程合作协议书
- 货物运输合同签订技巧
- 4.1 夯实法治基础(导学案) 2024-2025学年统编版道德与法治九年级上册
- (培训体系)2020年普通话测试培训材料
- 3-4单元测试-2024-2025学年统编版语文六年级上册
- 北师版数学八年级上册 5.8三元一次方程组课件
- 2024混合动力汽车赛道专题报告-2024-10-市场解读
- DB34T 4338-2022 行政规范性文件合法性审核规范
- 企业单位消防安全规范化管理指导手册
- 废旧物资回收投标方案(技术方案)
- 宣传视频拍摄服务投标方案(技术方案)
- 森林防火课件下载
- 3《欢欢喜喜庆国庆》(教学设计)2024-2025学年统编版道德与法治二年级上册
- 2024粮改饲工作总结五篇
评论
0/150
提交评论