ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:637.11KB ,
资源ID:5049188      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5049188.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(扫雷小程序设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

扫雷小程序设计.docx

1、扫雷小程序设计扫雷小程序设计(总20页)第1章问题描述与分析1.1问题描述扫地雷是一个广泛游戏,扫地雷的游戏规则:扫雷就是要把所有非地雷的格子揭开即胜利;踩到地雷格子就算失败。当鼠标点击到棋盘范围外时,视为无效,无响应。游戏主区域由很多个方格组成。基本要求为:1.用程序设计分析思想对选题进行分析设计2.用 C 语言对选题进行代码实现测试要求为:1.进行系统功能性测试,验证基本功能实现情况。2.进行边界测试及特殊数据用例测试,验证功能模块的逻辑分支流程。1.2问题分析仔细分析课题的要求并粗略分析可以得到大致得到:1.选择棋盘的大小(6*6, 9*9, 11*11)2.选择游戏的难度(简单10%的

2、雷,一般20%的雷,困难30%的雷) 3.绘制一个扫雷的面板。4.根据鼠标点击位置确定所点格子位置。5.判断格子是否是地雷,若为地雷则游戏结束。若非地雷显示周围8个格子所含地雷总数。6.若所有非地雷的格子揭开,则胜利,否则一直循环进行2、3步。7.第2章算法设计与流程图2.2.1算法设计扫雷游戏的设计可以从三方面进行考虑:1.面板的选择(BoardChoice)2.难度的选择(LevelChoice)3.游戏主界面(Game)这三方面即为游戏进行的过程,大致可以画出如图2-1的模块图:图2-1 扫雷游戏设计的模块图(1)面板的选择在该模块中,需要决定面板的大小,即每行每列有多少个格子。在设计时

3、,个人决定使用6*6,9*9和11*11的格子面板。设计中,个人决定设置3个按钮分别作为3种面板的选择。在具体实现时,需要从两方面进行考虑,即:位置确定和数据传入。位置确定即为确定点击位置是否有效,确定点击位置与按钮的关系。数据传入即为确定按钮后,将相应的6或9或11载入行列统计变量ROWANDCOLUMN中。(2)难度的选择在该模块中,需要决定面板种雷的个数,面板中应包含多少的地雷。在设计时,个人决定使用10%,20%和30%的总格子数作为雷的总个数。设计中,个人决定设置3个按钮分别作为3种面板的选择。在具体实现时,需要从两方面进行考虑,即:位置确定和数据传入。位置确定即为确定点击位置是否有

4、效,确定点击位置与按钮的关系。数据传入即为确定按钮后,将相应的雷数载入变量MINENUM中。(3)游戏主界面游戏主界面的设计可以包含图形的绘制模块,鼠标区域的获取模块,数据的生成模块。各部分包含的内容如下:a)图形的绘制1基础线条的绘制2单个地雷的绘制3非雷区域的数字输出4游戏结束后所有雷和数字的结果输出b)鼠标区域的获取1有效性判断2获取鼠标区域将坐标转换为可以使用的相应的数组数据c)数据的生成1初始化数据2随机位置设置雷3非雷区域计算相应数值2.2流程图2.2.1总体流程图函数的主流程图如图2-2。在该流程图中,介绍了游戏的三个界面的切换情况,三者为依次展示的状态,完成前一步骤后方可进入下

5、一界面。图2-2 程序的总流程图2.2.2面板的选择的流程图面板的选择流程图如图2-3。在该流程图中,介绍了面板大小选择的流程,主要的部分为界面的绘制过程,鼠标点击区域的判断,以及相应数值的赋值。该过程是扫雷游戏的第一个界面。该流程的目的是为了传入相应的参数,使得在游戏主界面时,能够初始化相应数组以及绘制对应的界面。图2-3 面板选择的流程图2.2.3难度的选择的流程图难度的选择流程图如图2-4。在该流程图中,介绍了游戏难度的选择流程,主要的部分为界面的绘制过程,鼠标点击区域的判断,以及相应数值的赋值。该过程是扫雷游戏的第二个界面。过程类似于面板选择的流程。该流程的目的是为了传入相应的参数,使

6、得在游戏主界面时,能够初始化相应数组以及绘制对应的界面。图2-4 难度选择的流程图2.2.4游戏主界面的流程图游戏主界面的流程图如图2-5。在该流程图中,主要的操作为绘制相应的主界面面板,即多个格子。获取鼠标点击的位置,而后进行储存数据的判断,雷区与非雷区的判断,游戏是否结束的判断等等操作,相应的过程如下所示。图2-5 游戏主界面的流程图第3章编码与测试3.3.1程序编码程序的编码部分可以分为四各模块,即:主函数的程序部分,面板大小选择部分,难度选择部分,游戏主界面部分,每个部分内均可以分类编写,互不干扰,以下为代码的主要部分,详细代码由于篇幅的限制,可以在附录中查阅。3.1.1主函数程序代码

7、#include#include#include#include1.int ROWANDCOLUMN; 2018.2.EGE 文档与源代码. ege-open-source, 2018.3.EGE(Easy Graphics Engine). manual, 2018.4.Easy Graphics Engine基础教程. category/lesson, 2018.5.谭浩强. C+程序设计(第3版). 北京:清华大学出版社, 2015.6.严蔚敏, 李冬梅, 吴伟民. 数据结构(C语言版第2版). 北京:人民邮电出版社, 2015.7.王红梅, 胡明, 王涛. 数据结构(C+版). 北京:

8、清华大学出版社, 2011.8.严蔚敏, 陈文博. 数据结构及应用算法教程(修订版), 北京:清华大学出版社, 2011.9.严蔚敏, 陈文博. 数据结构及应用算法教程(修订版), 北京:清华大学出版社, 2011.10.Decoder. C/C+程序设计. 北京:中国铁道出版社, 2002.11.谭浩强. C+面向对象程序设计(第2版). 北京:清华大学出版社, 2014.12.附 录1.必选题题目使用折半插入排序的方法对10个数进行排序,按照要求画流程图,给出代码及结果截图。2.流程图图附-1 排序算法流程图3.程序代码#includeusing namespace std;void BI

9、nsertSort(int *arr,int length) for (int i = 1; i length; i+) int temp = arri;/ 需要插入的值存放入temp int low = 0; int high = i - 1; while (low = high) int mid = (low + high) / 2; if (temp = high + 1; j-)/ 记录后移 arrj + 1 = arrj; arrhigh + 1 = temp;/ 插入正确位置 int main() / 输入数据 cout 请输入需要排序的十个数字 endl; int *arr =

10、new int10;/ 十个数字 for (int i = 0; i arri; cout endl; / 折半排序 BInsertSort(arr, 10); / 输出结果 cout 排序结果 endl; for (int i = 0; i 10; i+) cout arri ; cout endl; return 0;4.测试结果实验测试输入了多组数据,在测试结果该模块中展示的为三个具有代表性的程序结果截图。图6-2为顺序输入10个数据后的测试结果,在控制台中输入了1-10十个数字的顺序序列,即1 2 3 4 5 6 7 8 9 10,在折半插入排序之后,正常显示从小到大的10个数字序列,排序结果与预期相符,结果正确。图附-2 顺序输入10个数字的测试结果图6-3为逆序输入10个数据后的测试结果,在控制台中输入了1-10十个数字的逆序序列,即10 9 8 7 6 5 4 3 2 1,在折半插入排序之后,正常显示从小到大的10个数字序列,排序结果与预期相符,结果正确。图附-3 顺序输入10个数字的测试结果图6-4为乱序输入10个数据后的测试结果,在控制台中输入了8 7 -1 99 23 14 31 4 0 10十个数字,在折半插入排序之后,正常显示从小到大的10个数字序列,排序结果与预期相符,结果正确。图附-4 乱序输入10个数字的测试结果

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1