labview-贪吃蛇程序

上传人:pu****.1 文档编号:510399042 上传时间:2024-02-16 格式:DOC 页数:14 大小:537KB
返回 下载 相关 举报
labview-贪吃蛇程序_第1页
第1页 / 共14页
labview-贪吃蛇程序_第2页
第2页 / 共14页
labview-贪吃蛇程序_第3页
第3页 / 共14页
labview-贪吃蛇程序_第4页
第4页 / 共14页
labview-贪吃蛇程序_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《labview-贪吃蛇程序》由会员分享,可在线阅读,更多相关《labview-贪吃蛇程序(14页珍藏版)》请在金锄头文库上搜索。

1、 虚拟仪器课程设计(论文)( 级) 题 目: 基于labviw的贪吃蛇游戏 学 院: 工学院 班 级: 机械9 学生姓名: 林成艺 学号: 0950410 成 绩: 基于labvie的贪吃蛇游戏一:程序设计背景小时候常常玩的一款小游戏叫“贪吃蛇”,就是有一条小蛇,不断地在屏幕上游走,吃各个方向上浮现的小圆点,越吃越长。只要蛇头遇到屏幕四壁或者遇到自己的身子,游戏就立即结束。本程序基于老式贪吃蛇游戏的特点运用LIEW制作一款贪吃蛇游戏。本程序的重要实现如下功能:小蛇不断游走,键盘方向键可控制小蛇移动方向,吃过一种原点后小蛇长度增长并随机产生另一种蛋,小蛇遇到四壁或者遇到自己时游戏结束。二:程序简

2、介1 界面设立 设立贪吃蛇的界面重要涉及这几方面,游戏屏幕的设立(涉及小蛇和蛋的颜色形状)、结束后对话框设立等。1.1 屏幕设立通过给定点的坐标来移动小蛇和显示小蛋。清除标尺及标签,设立标尺为5050,清除两个方向的网格,使最后屏幕全灰色,然后修改各条曲线的宽度、颜色和点样式,使小蛇小蛋可以以相似样式显示。成果如右图所示:一种蓝色的为蛋,3个蓝色的为小蛇。1.2 对话框设立设立对话框,我们采用编程-对话框与顾客界面中的单按钮对话框。重要是在游戏失败时,显示游戏结束。 2 小蛇控制措施小蛇的控制重要有这几方面构成,开始游戏后小蛇就要按照一定的方向不断地移动,通过键盘方向键控制小蛇移动方向(由于设

3、立上、下、左、右四个方向,其中有两对是互斥的方向,需要加以控制以严禁,否则小蛇在反向的时候会撞到自己),遇到蛋时,需要增长蛇身长度。1小蛇的运动由于蛇自身是一种可增长元素的数组,因此用一种含两个一维方向数组的簇来进行操作。小蛇自动不断移动的程序,然而为了使之后与小蛋碰撞后能便捷的增长长度,这里采用这样的措施实现:小蛇没按方向移动一种,就在小蛇数组的开头添加一种点(此时这两个点是相邻的),然后将添加的点与蛋所在坐标比较,如果不同,就将蛇数组的最后一种元素删除,表达没有吃到蛋;如果相似,就保存这个元素(此时,相对于前一种位置时,小蛇的长度增长了),并且删除这个蛋,重新随机产生另一种蛋。循环往复(在

4、while循环上添加移位寄存器)直到游戏结束。插入蛇头新坐标的子程序如下:当未输入指令时事件的延时事件为50每毫秒当没有吃到删除小蛇尾部子程序:当有吃到删除小蛇尾部子程序:22键盘控制小蛇游走方向这部分采用一种事件构造,当键按下时,通过判断类型与否相等,类如当按下左时显示left为真,事件构造输出为left到外部条件构造中。有子程序可以看出,右+1,左-1,上-,下1,都是蛇头相对于墙壁的距离。 .撞墙和自杀这里讲一下我们对于小蛇撞墙或者自杀的状况。撞墙的意思是小蛇遇到了周边的墙壁,这需要从蛇数组中获取目前新添加的元素,然后与边沿(0,3)(3,0)比较,当超过这个边沿时,就跳出一级循环,游戏

5、结束。其中表达蛇头的位置,数组索引第一位,索引产生的蛇头的2维坐标y,当1或X1或Y时蛇头出界,为或,任何满足条件的游戏结束。自杀的状况比撞墙较复杂蛇头与蛇尾的索引同样时就觉得发生了自杀,并跳出循环结束游戏。小原点位置小原点的位置随后产生产生一种01的随后数字,乘于14后产生一种2维数组。4:图表达游戏界面的大小为2005:小蛇的初始位置的第一二三点位置分别为(1,0),(,1),(,2),初始小圆点位置为(1,3)6:由上往下分别为:小蛇的初始位置,初始方向,原点的初始位置。7:本程序用到的构造及元件:For循环 将连接到总数(N)接线端的值n作为执行次数的子程序框图。计数接线端(i)提供了

6、目前的循环总数,其取值在0到n-1的范畴内。ile循环反复执行内部的子程序框图,直到条件接线端(输入端)接受到特定的布尔值。将布尔值连接至While循环的条件接线端。右键单击条件接线端,从快捷菜单中选择真()时停止或真(T)时继续。也可将一种错误簇连线至条件接线端,右键单击条件接线端,从快捷菜单中选择真(T)时停止或真(T)时继续。Whe循环永远至少执行一次。条件构造涉及一种或多种子程序框图,或分支,当构造执行时,仅有一种子程序框图或分支在执行。连接至选择器接线端的值可以是布尔、字符串、整数,或枚举类型,它决定了执行哪个分支。右键单击构造边框,可添加或删除分支。s可使用标签工具来输入条件选择器

7、标签的值,并配备每个分支解决的值。 三:程序改善1:原程序的游戏界面过小,影响玩家的操作,将游戏界面由4x14改为20x2的游戏界面,如图分别为原图和改正的图: 2:原游戏小蛇的行动速度过快,经更改,将小蛇的速度降为本来的一半。3,本游戏重要针对于国内,因此将因此英语汉化,如结束界面的更改:4:将小蛇的初始位置由左中位置改为界面左上方:四:存在的某些问题1:该属性节点的作用不明确:事件构造 条件构造,whil构造的具体运营机制不明确。3:该数组的作用不明确。4:中的创立数组作用不明确。五:程序来源阐明原文献来源于网址3 总结作为一种图形编程工具,abVIE让我们对编程的印象耳目一新。通过这学期

8、的学习,我们不仅理解了LabVIEW的基本使用措施,还对此前学习过的编程思想用了更深刻的理解。其实不管是c,还是图形编程,本质上都是同样的,只是具体操作时各有优劣。虽然前面做了诸多的练习,但是在面对这一份所谓的大作业的时候还是觉得有某些无从下手。毕竟先前都是有题目的,可以照着例题找措施,是一种复刻;但是,发明往往是最困难的。一开始准备等教师给课题,然而又觉得有些心有不甘。据说有其她组的同窗准备做某些小游戏,于是我们着手开始了我们的snke。开头往往是最难的,当我们终于解决了如何让一种点在XY图上动起来之后,一切都是那么的顺其自然了。我们想到了一种又一种问题,如何显示蛋,如何吃掉蛋,如何吃掉蛋之

9、后让蛇加一截,如何让蛇撞墙之后结束游戏.发现问题和解决问题的过程都是艰苦且快乐的。我们并不满足于老式的贪食蛇游戏,但愿可以做出自己的特色,于是我们给她附上我们自己的烙印,例如变速,例如设立难度级别,又例如添加障碍物等等。对于最后的成品,已经基本上达到了我们的预期。此外,这款游戏的后续开发空也间很大,可以添加诸多想法,例如可以增长蛋的数量,可以增长蛋的品种,对于不同的蛋产生不同的特效,可以有忽然变化方向、忽然变化速度、增长蛇身长度、无敌小蛇(无死亡限制)、忽然隐身蛇身、旋转石头模式等等,由于时间有限,这些想法没有一一去实现,但我们仔细考虑下这些都是可行的。例如增长蛇身长度,可以根据目前得分,在蛇

10、尾按方向方向反方向增长蛇数组元素,固然这也许导致小蛇立即死亡,固然这可以作为游戏的一种难度,需要玩家在合适的方向吃小蛋;对于无敌小蛇模式,那也比较简朴,可以采用一种计数值并使用一种条件构造,在这段计数值内使程序不执行蛇头位置的比较;而隐身小蛇只需要使蛇身在一段计数值内不在图上显示,然而小蛇实际是继续运动的;旋转石头是基于变态难度中产生的石头,让其环绕中心旋转,增长游戏难度等等。可以说只要想得到,没有做不到,LabVIEW的强大功能就在于此。贪食蛇只是一种简朴的休闲游戏,但是LbVIEW给我们的不仅仅是贪食蛇,如果进一步的掌握好这一门技艺,那么在后来的学习或工作中,一定会给我么更多的协助。最后感谢两位教师这个学期对我们的殷勤指引,感谢你们为学生的付出,您的课上得十分生动有趣。真诚的感谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号