扫雷仿真设计.docx
- 文档编号:13381999
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:15
- 大小:558.34KB
扫雷仿真设计.docx
《扫雷仿真设计.docx》由会员分享,可在线阅读,更多相关《扫雷仿真设计.docx(15页珍藏版)》请在冰点文库上搜索。
扫雷仿真设计
成绩评定表
目录
1目的及基本要求1
2扫雷游戏原理1
3扫雷游戏设计和仿真1
3.1扫雷游戏前面板设计1
3.2后面板程序框图设计2
3.3程序设计中遇到的问题11
4运行结果及性能分析11
4.1运行结果11
4.2性能分析13
参考文献14
1目的及基本要求
熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现电子时钟的设计和仿真。
要求通过本课程设计使学生熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。
本课程设计要求实现扫雷游戏,使不同玩家选择不同的等级进行自己的游戏,游戏不能过于单调,简单,在玩儿的过程中要具有挑战性,而又不感到难受。
做到界面简约而生动,方便操作和用户理解。
2扫雷游戏原理
程序随机生成地雷数,通过鼠标操作玩游戏,不接受键盘,通过chosealevel界面选择等级。
单击屏幕上的笑脸可以重新开始游戏。
所有地雷标出后胜利,当鼠标左键单击到地雷时失败。
设计X*X格区域,单击鼠标后,该格显示数字,则表示它周围8个空格内含有的地雷数,周围没有地雷的显示空白,则不能再单击了。
如果是地雷,则游戏结束。
如果判断是地雷,可以单击鼠标右键标出,显示红旗,要取消红旗标志则再单击鼠标右键,当所有地雷都标出,每个空格都处理过,了则胜利结束。
3扫雷游戏设计和仿真
首先熟悉虚拟仪器的设计,思想图形化编程语言的原理、方法和应用技术,结合教学过程中的内容,而后便可着手进行扫雷游戏程序的相关设计,控件架构以及函数设置。
3.1扫雷游戏前面板设计
主程序前面板:
图1主程序前面板
3.2后面板程序框图设计
本程序是一个While层叠式顺序结构。
后面板程序框图如下:
图2后面板程序框图
在第0帧中,首先创建了144个假常量并且规定其一些属性。
图3运用重排数组维数数组改变数组的维数,即将等级规定为6行6列,8行8列,12行12列并且分别规定其禁用属性。
图3维数控制数组
图4分别规定了初级等级元素的可见属性,同理规定中级等级元素、高级等级数组元素的可见属性。
图4可见属性定义数组
图5游戏等级选择子VI
图5是子VI,主要功能是选取游戏的等级。
在图中第一个条件结构中嵌套着三个条件结构。
当在面板上按下初级等级时,经簇解除捆绑输出0,0经复合运算向第一个子条件结构输出1,则该条件结构执行真并输出0,其他子条件结构输出0,将三个子条件结构的输出值求和。
同理,当按下中等等级、高级等级时同理并分别输出数值1、2,即选择了设定的初级等级、中级等级或高级等级。
第二个条件结构确定是否弹出游戏帮助信息,当在前面板按下“游戏帮助”按键时,则该条件结构执行真并弹出帮助信息。
如图6
图7条件结构图6帮助信息
在图5结构中会分别输出0、1、2,并在第2帧的边框上创建该数值的局部变量,该数值代表选择的等级,0是初级等级,1是中级等级,2是高级等级。
该数值同时输入图7的条件结构中,当输入为0时,输出6、7、6、5。
6代表6行6列,6代表雷数,给行列分别从0排序,则会有最大行、最大列为5。
此处5即为此。
图8设置随机地雷子VI
在图8的子VI中主要功能是设置随机雷,雷数分别为初级等级6个,中级等级12个,高级等级25个。
首先将数组初始化,在嵌套的条件结构中,cons代表行数,其分别与两个随机数相乘,将这两个数可以确定被索引的元素,Minas1代表7,7与内循环的次数进行比较,当不等时输出0,0被传送至第3级条件结构,此条件结构将被索引的元素替换为。
0被移位寄存器传送到下一次循环的开始,当5与内条件结构的循环次数相等时,内循环停止。
这6次的循环即是随机设置雷。
设置好的矩阵即初级等级扫雷的页面,并将该数组在帧的边框上设置局部变量,同时将行列数、雷数设置局部变量。
在第3帧中
当在前面板进入游戏模式中后,若单击右键按钮,在程序框图中图示框图部分会输出2,如图9.
图9旗子标志子VI
图10设定选中的数组元素子VI
图10是单击右键出现2的后续框图。
在此框图中会把选中的数组元素,假设第一行第三列设定为17,如图11。
同时,前面板的雷数会自动减一。
若再次单击右键,选中的数组元素会恢复原值,同时前面板的雷数会自动加一。
如图12所示
图11设定完成效果图
图12地雷数目加1效果图
当单击左键时,会执行下一个条件结构中的1程序,如下图13示
图13条件结构总VI
在此条件结构中,如图14,最内层的条件结构,第1帧中形成并保存的数组输入,当单击为0时会输出周围数的相加,即周围的雷数,当单击为1时会输出9,代表的是雷,如图15。
图14最内层条件结构
图15显示周围地雷数目效果图
后续程序即退出或继续选择下一等级游戏。
3.3程序设计中遇到的问题
由于是第一次进行LabVIEW的课程设计,缺乏相关的设计经验,因此一开始的时候确实无从下手。
但是经过老师和同学的指点,包括自己独立思考与查阅相关资料,我渐渐对这个软件熟悉了,并且觉得图形化编程的好处实在是非常多的。
设计电子时钟期间,我确实遇到了许多的问题。
由于对编程软件的不熟悉,导致在找相关控件时花费了许多时间,而且常常找到的是错误的控件,这直接造成程序运行失误。
这一点在熟悉软件之后,好了很多。
其次,在熟悉设计原理的时候,由于对相关逻辑关系以及函数关系的不太熟悉,也绕了不少弯子。
后期,在总体完成扫雷游戏的设计后,基本功能都得到了实现,但是一直显得不太美观。
扫雷原理很简单,实现起来也很简单,但要做得美观、简洁却不那么容易。
比如让其显示更多生动的字体,在一个小窗口里实现更多的笑脸动画。
程序要实现丰富的内容及完美的界面主要还是要靠扎实的基础,掌握各控件的使用及各类型的模块间的转换。
本来把本次课程设计的界面显示做成各种字体的,但由于时间及能力的关系,没有做得更好。
这一点很遗憾,但愿有机会可以弥补。
总体来说,设计过程遇到的问题不少,但是收获也更多,为大四的毕业设计做了一个良好的准备,于我而言,受益良多。
4运行结果及性能分析
4.1运行结果
开始游戏后,运行如下:
图16游戏运行效果图
(1)
图17游戏运行效果图
(2)
图18游戏运行效果图(3)
4.2性能分析
从大体上说,本设计实现了扫雷游戏应该提供的功能,除了最基本的6乘6等级,还有8乘8,12乘12的等级,满足不同用户需求。
而且界面设计美观而简约,布局也还算合理,操作也足够简单。
由于LabVIEW轶件的优越性,用它来制作扫雷游戏是很方便的,是其它轶件不可比拟的。
这次制作扫雷游戏,所用的控件不多,主要用到截取字符串、While循环、条件结构(Case结构)、cluster、常量、局部变量、真常量、假常量等等,通过基本的连接就制作好一个扫雷了。
在具体试玩的过程中,并没有出现过大的BUG,基本上可以满足玩家的需求,对于界面的美观和间接,这一点上可以做得更好。
参考文献
[1]labview入门与提高.赵品.人民邮电出版社2000.11
[2]labview高级应用.赵品.人民邮电出版社2000.11
[3]labview印刷电路板设计教程.肖玲妮.清华大学出版社2003.8
[4]labview完全自学手册.龙马工作室.人民邮电出版社2005.10.2
[5]虚拟仪器设计基础教程.黄松岭,吴静.清华大学出版社2008
[6]测试工程与LabVIEW应用.戴鹏飞,王胜开,王格芳,马欣电子工业出版社2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 扫雷 仿真 设计