




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、虚拟仪器设计课题:基于labview的打地鼠小游戏学院名称:电气工程学院专业班级:测控技术与仪器1403学生姓名:王行健学号:201423030305指导教师:牛群峰指导教师意见:成绩:签名:年 月日学生姓名王行健课题性质指导教师虚拟仪器课程设计任务书测控技术与工程设计专业班级仪器1403打地鼠小游戏课题来源学号201423030305自拟牛群峰主要内容。一般情况下,机器每个地鼠出现的时间都已经系统的设置好了。至此,可以用循 环的方式让地鼠在间隔一段时间就出现,用不同颜色的同一控件不同状态可以大致比拟, 同时,为满足不同反映能力的使用者,可进行每个地鼠出现的间隔。在某一个地鼠出现后,若在规定时
2、间没有击或没有击中的话,地鼠会回复原样,就想到可以通过计算地鼠从冒出(参数)计时到规定时间后,来迫使其恢复,基本可以达到一定的效果任务要求(1 )初步实现打地鼠功能。(2)增加积分和等级统计功能。(进度)(3)美化程序界面,添加音效。主要参考资料1 .LabVIEW程序设计与应用(第二版)电子工业出版社2 .LabVIEW讲义山东大学物理与微电子学院3 .LabVIEW虚拟仪器程序设计与应用西南交通大学出版社审查意见系(教研室)主任签字:年月日主要介绍了通过LabView研发打地鼠小游戏的过程。关键词:Labview打地鼠、设计任务1设计目标: 设计一个打地鼠(僵尸)的小游戏。2设计基本要求及
3、发挥:(1)初步实现打地鼠功能。(2)增加积分和等级统计功能。(3)美化程序界面,添加音效。二、方案论证1.地鼠部分Flash。方案一:运用事件,实现点击的确认,并利用随机来判定哪个口有地鼠。方案二:调用ActiveX控件,采用更简单的语句编写,例如 鉴于此次想要练习Labview的应用,选用了方案一。2.LABVIEW程序设计 初步的设计并不理想,不能实现地鼠自动消失以及乱点鼠标的惩罚。经过多次调整方案,最后采用了对于事件进行详尽分类, 将地鼠的出现与消失编入事件,后来加入开始结束按键以后,问题变得更加复杂,于是在调用子VI的 基础上,又增加了 “等待开始”与“失败”两个事件,在此基础上重新
4、调整了每 一个参数在不同事件中的传递以及累计运算,最后实现了数据的统计。在等待地鼠出现的事件中加入了难度的递增判断。 对于同类数据隐藏,并把相同 分类的编入簇处理,以简化框图。3.界面美化 初步美化界面,个性化了按键,对于某些按键加入特效。最终加入音效。三、总体方案1.工作原理: 简单来说,通过事件的触发和认证,实现了打地鼠功能。实际却比想象中的复杂 很多。关键在于数据传递和算法的巧妙使用。2.程序设计 对于框图已经做了整理,不方便再拆开了,整体来说,先从地鼠的触发开始,采 用了自定义控件,地鼠按钮拥有三个态。地鼠采用随机触发,地鼠触发后判定是 否点击相应地鼠,不点击延时后重新准备出地鼠,点击
5、错误减时间,都是通过事 件来完成的。比较复杂的是不同事件中的数据交换, 除了统计数据的交换,还有 事件真假的交换,这些都互相制约,而且根据嵌套决定了各自的优先级, 这里不详细解释。最后就是在之前的基础上做了些小调整以消除bug。例如数据的初 始化,还有数据的验证。在最后就是美化工作了,起初想应用同步时序实现更加 复杂的音效效果,但是对于同步的几个控件理解不够深刻,经过多次尝试后还是 采用了简单的方案。想应用ActiveX控件调用Flash实现动态地鼠,后查网说如 果机器不安装Adobe Flash则控件不能正常显示,鉴于方便大家测试,作罢。美化工作其实不必程序设计简单,图片都要自己处理,声音也
6、要自己剪裁和处理。经过这么多的努力才制作出一个这么简陋的小游戏,见笑。而且制作过程中为了 美化删减掉许多功能,大家看到的最终版本并不代表所有汗水。四设计步骤1.1前面板设计根据在实际机器中的实物以及设计思路过程,大致需要地鼠、成绩显示屏、玩的过程中地鼠个数显示、时间的设置输入以及一些控制游戏始末的开关等。在时间有限的情况下, 没有能够自行设计一个控件,因此用布尔开关来模拟, 当开关开时记作地鼠出现,关时记作地鼠消失, 为进一步的区分这两种状态,可以让开与关时的布尔控件显示不同的颜色,如下图2-1-a。还是可以用布尔控件来控制类似的电源开与关、游戏的开始与结束。屏幕的显示用字符串显示控件可以满足
7、。地鼠出现的总个数、 打中的以及为打中的是数字的显示,用数字显示控件可以,如图2-1-a。当然时间的设置用数字输入控件好一些,为使时间的精度高一些,特以没 0.1s来增加或减少。整体前面板控件如图2-1-a.#0:啊*f-4-E d _ ,i - - H嚼412品UP<r3-15图2-1-a前面板的设计总图1.2 程序框图设计有了前面的大致控件的选择,要实现这些控件能合理的相互协调工作,就需要在程序框图里进行一定的算法结构。由于一个控件需要多次重复出现,故大量采用属性节点来达到一定要求。首先,从总体控制单位开始,这个设计选择了条件结构来判断游戏可不可以开始与否, 在游戏可以用后,用一个显
8、示灯来告知使用者,若游戏不能用,则要把相关的控件给清零,以便下次使用时不收上次的影响。如图2-2-a.useiSi就CS訂需甘r目85:寸鳩盯司I:聞壽rSEis®-“弓詁冷呷Hjte卜grt g rt日-L 卜Qrirrnii-J'如日砂Ned 5UWFm耳示4 IsaZJ【旳归'ibW-图 2-2-a其次,在进入可以游戏过程后,需要另一个布尔开关用条件结构来判断是否开始或结束游戏,在开关为开时,即开始玩游戏了,首先对显示地鼠数目的项目进行哈清零,之后用 一个while循环来是游戏反复的运行,当然,其控制也是由游戏开始与否的开关来实现。EZI&-ErTirn
9、irq Efjte 卜二J t g stnrl J在while循环中,由于地鼠是用布尔控件来模拟的,将其值转换为数值显示,对所有控件的值用公式节点的结构方式相加,对得到的值在进行条件选择, 如果这十五个值相加为零,则说明所有地鼠没出现, 此时就需要来随机产生地鼠出现了。可以用一个顺序结构来产生随机地鼠的出现, 先用自定义的字符显示在显示屏上,提示使用者,之后用以随机数产生一个数字在放大十五倍后,进入一个条件节后, 对相应的控件进行编号,使每个地鼠出现的 概率是相同的。每当进入某一个与控件编号对应的框图时,都将使该控件显示为相反状态, 即处于开时的颜色, 也就表示地处冒出了。 接着,用运算规律对
10、地鼠出现的总数目进行相应如图的跟踪显示。同时也会把使用者在玩的过程中击中地鼠的个数也会相应计算显示出来。2-2-b弾孤蘇I-崔序杞11丈畑 窃也 兰若HTfliXi *30 SDIHJ卜&回稠已噩吕甸15井呼咼舉5:齢时司'EhJ卫IBMB吁Het亦niq EfHtgpMjftg stnrL Bj即型QEII33卡0Iir单p蟲帧t:就餌常.卄.hr. 'T-r I'l'iWHA t;阻iMfessas r匕“H 0 E”包丈斗田 杏旧 *#:5;)顶目Et ffio 工具m 晋二I跄M<V'砸71岡 .口阳丁帀pt方丘gt鈕砂卜II盼II
11、石"a可B-maI 00E3*=唤廿眸L目总需a由去tcsiD 卿 Ad亜a丑Q e同BJ* J*",m*0- a-Bfegri-inil Sl«tp 冋 Alt to ;t 応耳-bI占鼠如嗣 *aFtg I-Haas I-"羽W|片百盂二I回画"rha 、TEQ运巨脱*k些卜伽Fa*画III'I/tfIIf7 r"HX民图 2-2-b如果有一个地鼠出现了,那所有控件和为1 了,进入下面的框图,此时可以通过按下对应的控件恢复最初状态,在循环延迟时间的设置下,得以连续进行。如果没有进行任何操作,则在进入该程序步骤时,就有一个计
12、时已用时间,把该记得时间与设置的延迟时间相比2-2-。较。如果大于等于的话, 就对所有的地鼠全部清零,同时,在显示未打中地鼠的数目将相应 变化;如果记得的时间小于延迟时间,就不执行任何语句,此时处于等待时间。如图tai匚咤EJ量芒凹 贞自凹直陀回二tn四=日出T喧卫国窗 4站 ;诵丈正*S帅.无* I呵戸0匸e&ta rI平Li13砂怡” f -1 译"rHUBomnninqStzwto start T 耳0I©图 2-2-c2-2-d ,最后,在结束游戏后,主要是对玩的一个结果显示,如图在这里面,选择了建立文本的形式, 当然,也增加了对结果的分析,如果打中地鼠的数
13、目与0.7出现地鼠的总个数之比大于等于0.7的话,将会显示你这次是成功的。相反,如果小于 的话,那可就还需再接再厉了。得到,在建立文本编辑里,建立文本图标可以点击P rogram min g-stri ng-built text进行设置。这是在比之小于0.7的时候文本形式。 对于每两个百分号里地变量要进行相应的类型设置,例如,地鼠出现的总个数需要变成number格式。还可以对数字出现设置相应精确度,对于地鼠出现数用整数。但对比之则需要进行小数点位数的要求,可根据要求来。图 2-2-e-iL丑0'上aI :聞二 gir4冋怜*1怎"画d IIIjjzalikn图 2-2-d第三
14、章调试与分析对该简易打地鼠游戏的前面板和程序框图完成后,进行相应的运行,操作步骤有以下。第一步,点击连续控制按钮,进入运行软件过程中;第二步,点击开关按钮,至少灯则相应变亮,其他控件都恢复初始状态;第三步,用时间设置来对地鼠出现的时间间隔自定义;第四步,点击开始游戏按钮,进入游戏状态;第五步,点击结束游戏,游戏结束,屏幕显示游戏结果,得到的效果如图3-1-a所示;第六步,点击开关,指示灯变暗,离开游戏区。第七步,点击程序结束运行。设计了这个简易的游戏, 与实际相比,存在着诸多不足之处, 许多功能难以满足要求,不过做了相应说明。这个游戏可以简单的完成打地鼠操作,还可以根据使用者不同的反应时 间来设置时间操作,还能够提供了游戏的乐趣。总体上,这个游戏较好了运用了LabVIEW 语言的一些基本内容及使用方法,还是达 到了学习的目的。四、总结本学期的labvie
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论