labview贪吃蛇程序Word下载.docx

上传人:b****4 文档编号:13765511 上传时间:2022-10-13 格式:DOCX 页数:14 大小:327.31KB
下载 相关 举报
labview贪吃蛇程序Word下载.docx_第1页
第1页 / 共14页
labview贪吃蛇程序Word下载.docx_第2页
第2页 / 共14页
labview贪吃蛇程序Word下载.docx_第3页
第3页 / 共14页
labview贪吃蛇程序Word下载.docx_第4页
第4页 / 共14页
labview贪吃蛇程序Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

labview贪吃蛇程序Word下载.docx

《labview贪吃蛇程序Word下载.docx》由会员分享,可在线阅读,更多相关《labview贪吃蛇程序Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

labview贪吃蛇程序Word下载.docx

学生姓名:

林成艺学号:

09550410

成绩:

基于labview的贪吃蛇游戏

一:

程序设计背景

小时候经常玩的一款小游戏叫“贪吃蛇”,就是有一条小蛇,不停地在屏幕上游走,吃各个方向上出现的小圆点,越吃越长。

只要蛇头碰到屏幕四壁或者碰到自己的身子,游戏就立刻结束。

本程序基于传统贪吃蛇游戏的特点利用LabVIEW制作一款贪吃蛇游戏。

本程序的主要实现如下功能:

小蛇不停游走,键盘方向键可控制小蛇移动方向,吃过一个原点后小蛇长度增加并随机产生另一个蛋,小蛇碰到四壁或者碰到自己时游戏结束。

二:

程序介绍

1.界面设置

设置贪吃蛇的界面主要包括这几方面,游戏屏幕的设置(包括小蛇和蛋的颜色形状)、结束后对话框设置等。

1.1屏幕设置

通过给定点的坐标来移动小蛇和显示小蛋。

去除标尺及标签,设置标尺为50×

50,去除两个方向的网格,使最终屏幕全灰色,然后修改各条曲线的宽度、颜色和点样式,使小蛇小蛋能够以相同样式显示。

结果如右图所示:

一个蓝色的为蛋,3个蓝色的为小蛇。

1.2对话框设置

设置对话框,我们采用编程->

对话框与用户界

蛋;

如果相同,就保留这个元素(此时,相对于前一个位置时,小蛇的长度增加了),并且删除这个蛋,重新随机产生另一个蛋。

循环往复(在while循环上添加移位寄存器)直到游戏结束。

插入蛇头新坐标的子程序如下:

当未输入指令时事件的延时事件为150每毫秒

当没有吃到删除小蛇尾部子程序:

当有吃到删除小蛇尾部子程序:

2.2键盘控制小蛇游走方向

这部分采用一个事件结构,当键按下时,通过判断类型是否相等,类如当按下左时显示left为真,事件结构输出为left到外部条件结构中。

有子程序可以看出,右+1,左-1,上-1,下+1,都是蛇头相对于墙壁的距离。

2.3撞墙和自杀

这里讲一下我们对于小蛇撞墙或者自杀的情况。

撞墙的意思是小蛇碰到了周围的墙壁,这需要从蛇数组中获取当前新添加的元素,然后与边缘(0,13)(13,0)比较,当超过这个边缘时,就跳出一级循环,游戏结束。

其中表示蛇头的位置,数组索引第一位,索引产生的蛇头的2维坐标xy,当x>

13或X<

0,Y>

13或Y<

0时蛇头出界,为或,任何满足条件的游戏结束。

自杀的情况比撞墙较复杂蛇头与蛇尾的索引一样时就认为发生了自杀,并跳出循环结束游戏。

3小原点位置

小原点的位置随即产生产生一个0-1的随即数字,乘于14后产生一个2维数组。

4:

图表示游戏界面的大小为20x20

5:

小蛇的初始位置的第一二三点位置分别为(1,0),(1,1),(1,2),初始小圆点位置为(12,3)

6:

由上往下分别为:

小蛇的初始位置,初始方向,原点的初始位置。

7:

本程序用到的结构及元件:

For循环

将连接到总数(N)接线端的值n作为执行次数的子程序框图。

计数接线端(i)提供了当前的循环总数,其取值在0到n-1的范围内。

While循环

重复执行内部的子程序框图,直到条件接线端(输入端)接收到特定的布尔值。

将布尔值连接至While循环的条件接线端。

右键单击条件接线端,从快捷菜单中选择真(T)时停止或真(T)时继续。

也可将一个错误簇连线至条件接线端,右键单击条件接线端,从快捷菜单中选择真(T)时停止或真(T)时继续。

While循环永远至少执行一次。

条件结构

包括一个或多个子程序框图,或分支,当结构执行时,仅有一个子程序框图或分支在执行。

连接至选择器接线端的值可以是布尔、字符串、整数,或枚举类型,它决定了执行哪个分支。

右键单击结构边框,可添加或删除分支。

Us可使用标签工具来输入条件选择器标签的值,并配置每个分支处理的值。

三:

程序改进

1:

原程序的游戏界面过小,影响玩家的操作,将游戏界面由14x14改为20x20的游戏界面,如图分别为原图和改过的图:

2:

原游戏小蛇的行动速度过快,经更改,将小蛇的速度降为原来的一半。

3,本游戏主要针对于国内,所以将所以英语汉化,如结束界面的更改:

将小蛇的初始位置由左中位置改为界面左上方:

四:

存在的一些问题

该属性节点的作用不明确

事件结构条件结构,while结构的具体运行机制不明确。

3:

该数组的作用不明确。

中的创建数组作用不明确。

五:

程序来源说明原文件来源于网址

2.总结

作为一种图形编程工具,LabVIEW让我们对编程的印象耳目一新。

通过这学期的学习,我们不仅了解了LabVIEW的基本使用方法,还对以前学习过的编程思想用了更深刻的理解。

其实不管是c,还是图形编程,本质上都是一样的,只是具体操作时各有优劣。

虽然前面做了很多的练习,但是在面对这一份所谓的大作业的时候还是觉得有一些无从下手。

毕竟先前都是有题目的,可以照着例题找方法,是一种复刻;

但是,创造往往是最困难的。

一开始准备等老师给课题,然而又觉得有些心有不甘。

听说有其他组的同学准备做一些小游戏,于是我们着手开始了我们的snake。

开头往往是最难的,当我们终于解决了如何让一个点在XY图上动起来之后,一切都是那么的顺其自然了。

我们想到了一个又一个问题,如何显示蛋,如何吃掉蛋,如何吃掉蛋之后让蛇加一截,如何让蛇撞墙之后结束游戏…..发现问题和解决问题的过程都是艰辛且快乐的。

我们并不满足于传统的贪食蛇游戏,希望可以做出自己的特色,于是我们给他附上我们自己的烙印,比如变速,比如设置难度等级,又比如添加障碍物等等。

对于最后的成品,已经基本上达到了我们的预期。

另外,这款游戏的后续开发空也间很大,可以添加很多想法,比如可以增加蛋的数量,可以增加蛋的品种,对于不同的蛋产生不同的特效,可以有突然改变方向、突然改变速度、增长蛇身长度、无敌小蛇(无死亡限制)、突然隐身蛇身、旋转石头模式等等,由于时间有限,这些想法没有一一去实现,但我们仔细考虑下这些都是可行的。

比如增长蛇身长度,可以根据当前得分,在蛇尾按方向方向反方向增加蛇数组元素,当然这可能导致小蛇立刻死亡,当然这可以作为游戏的一个难度,需要玩家在适当的方向吃小蛋;

对于无敌小蛇模式,那也比较简单,可以采用一个计数值并使用一个条件结构,在这段计数值内使程序不执行蛇头位置的比较;

而隐身小蛇只需要使蛇身在一段计数值内不在XY图上显示,然而小蛇实际是继续运动的;

旋转石头是基于变态难度中产生的石头,让其围绕中心旋转,增加游戏难度等等。

可以说只要想得到,没有做不到,LabVIEW的强大功能就在于此。

贪食蛇只是一个简单的休闲游戏,但是LabVIEW给我们的不仅仅是贪食蛇,如果深入的掌握好这一门技艺,那么在以后的学习或工作中,一定会给我么更多的帮助。

最后感谢两位老师这个学期对我们的殷勤指导,感谢你们为学生的付出,您的课上得十分生动有趣。

真诚的感谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

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

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