当前位置:首页 > 汉诺塔游戏设计 - 图文
图14 主程序前面板框图
2.主程序后面板框图
12
图15 主程序后面板框图
13
4.3 设计中遇到的问题
由于是第一次进行LabVIEW的课程设计,缺乏相关的设计经验,因此一开始
的时候确实无从下手。但是经过老师和同学的指点,包括自己独立思考与查阅相关资料,我渐渐对这个软件熟悉了,并且觉得图形化编程的好处实在是非常多的。 由于对编程软件的不熟悉,导致在找相关控件时花费了许多时间,而且常常找到的是错误的控件,这直接造成程序运行失误。这一点在熟悉软件之后,好了很多。总体来说,设计过程遇到的问题不少,但是收获也更多。也算是为大四的毕业设计做了一个良好的准备,于我而言,受益良多。
5 结果及性能分析
5.1 运行结果
1.开始游戏后,运行如下:
图16 运行效果图
14
2.游戏过关以后,则系统显示如下:
图17 过关显示效果图
5.2 性能分析
游戏模式:点击柱子上的A、B、C按钮,柱子顶上的木块弹起,再点一下
想放的位置,木块移至该柱子上。或者利用键盘上的上下左右光标键控制木块移动:先按“左”、“右”键移动光标到某柱子下,按“上”键,柱子顶上的木块弹起,再左右移动光标,按“下”键木块放下。点击还原按钮,可回到当前关卡的初始状态,点退出键结束游戏。
演示模式:电脑按预定程序自动将木块堆到最右边的柱子上。
规则:一次只能移动一个木块,木块可以累起来,但是必须把小的放在大的上面,成功把木块顺序不变的堆到最右边的柱子上为胜利。第一关为三个木块,每过一关增加一个木块,一共有7关。
游戏采用标准状态机模板,分几步执行。
游戏模式:第一步,初始化。让柱子A显示三个木块,其他柱子不显示。第二步,提起。点击有木块的柱子后,顶端木块上移一格,原位置置0(点击无木块柱子为无效点击)。进入第三步,放下。再点击一个柱子,判断其顶端木块
15
是否比第二步中弹起木块大。若是,将弹起木块置0,并将其值赋给所点柱子顶端木块往上一格的位置。然后返回第二步。二、三步的转换过程中,都要判断柱子C上木块是否按要求归位,若是,进入第四步:获胜。弹出对话框提示是否继续,选是则木块数加1,返回第一步;选否进入第五步:终止。终止程序。
演示模式:一、四、五步同上。用n来控制最小木块和其他木块的提起、放下,n为循环次数对4的余数。当n为0时,提起最小木块,进入下一循环,此时n为1,放下最小木块(木块数为奇放左边,木块数为偶放右边)。进入下一循环,此时n为2,提起其他木块(先判断最小木块之外两柱顶端木块大小,提起较小者),进入下一循环,此时n为3,放下其他木块。再下一次,n回到0。
演示原理:移动过程遵守以下原则,必能成功将所有木块移到最右边,且移动步数最少。1、最小木块始终朝一个方向移动(木块数为奇数时向左,木块数为偶数时向右)。2、移动一次最小木块,移动一次其他木块(只有一种放法)??轮流移动。
参考文献
[1] labview入门与提高.赵品编著.人民邮电出版社.2000.11 [2] labview 高级应用.赵品编著.人民邮电出版社.2000.11
[3] labview印刷电路板设计教程.肖玲妮编著.清华大学出版社2003.8 [4] labview完全自学手册.龙马工作室编著.人民邮电出版社2005.10.2 [5] 虚拟仪器设计基础教程.黄松岭,吴静著.清华大学出版社,2008
[6] AMTLAB和 LabVIEW仿真技术及应用实例.聂春燕,张猛,张万里著.清华大学出版社,2008
[7] 测试工程与LabVIEW应用.戴鹏飞,王胜开,王格芳,马欣著.电子工业出版社,2006
16
共分享92篇相关文档