Labview邪修01:贪吃蛇

从博主很小的时候就在掌机上玩过这个贪吃蛇的小游戏,突然有一天心血来潮的想Labview是不是也可以编这个小游戏,回忆一下童年!然后就又了下面的这个程序,执行结果如下图所示。

基本功能:

1)点击开始按钮,可以随机生成长度为3的蛇和食物;

2)可以调整蛇的移动速度,低速、中速、高速;

3)键盘上的方向按钮可以控制蛇的运动方向;

4)游戏结束的条件:蛇头撞到边界或自己身体;

运行环境:

Labview 2020(32位)

1.1 界面设计

1.1.1 显示控件

下图是界面中露出的控件:

1)游戏界面,添加了颜色盒的二维数组

经典颜色盒,右击->经典->经典数值->经典颜色盒;

然后将颜色盒拖拽到数组中,形成游戏界面。

2)添加速度控制控件

枚举,右击->银色->下拉列表与枚举->枚举;

然后编辑,慢速、中速、快速。

3)添加按钮

添加两个按钮,开始、结束。

1.1.2 局部变量

界面中没有露出的控件:

蛇坐标,U32类型的二维数组,用于存储蛇的坐标;

3个颜色盒,分别用于设置游戏背景、Food颜色、蛇颜色;

方向控件,枚举控件,上、下、左、右四个内容,用于显示蛇的运动方向;

Food位置,U32类型的一维数组,用于存储Food位置;

Start?布尔显示控件,用于显示是否开始,若开始对蛇的位置实时显示、判断;

1.2 程序编写

程序的流程图如下所示:

1.2.1 项目结构

Main.vi,是整个程序的入口vi;

Start.vi,点击开始按钮执行的vi,是用来初始化蛇的位置和食物的位置;

SnakePos.vi,用于计算蛇的位置;

Loop.vi,用于执行超时事件中的内容;

Crash.vi,用于判断蛇是否撞击边框或自己,游戏结束;

FormCtrl.ctl,界面控件的引用组成的自定义控件;

1.2.2 开始事件

1)开始事件中的内容

主要是调用Start.vi

2)Start.vi中的内容

自动生成蛇的位置和食物的位置,并且根据位置修改游戏界面中对应位置的颜色。

1.2.3 结束事件

点击结束按钮,即结束游戏并且弹出等分情况。

1.2.4 键按下事件

读取键盘上的方向按键状态,按下后修改蛇的运动方向。

1.2.5 超时

1)超时事件

如果Start?是true,就调用Loop.vi

2)Loop.vi中内容

3)SnakePos.vi中内容

根据方向计算蛇下一步的坐标。

4)Crash.vi中内容

根据蛇的位置判断是不是碰撞,如果碰撞,输出等分情况,并且停止游戏。

1.2.6 关闭前面板

1.3 运行

先选择速度,点击开始按钮,就会随机出现蛇和食物。然后按键盘上的上下左右按键,可以控制蛇方向,蛇与食物 相碰就会吃掉食物,相应的蛇会变长,如果蛇碰撞到边框或者自己的身体就会结束游戏,并且弹出等分。

源码下载链接->https://download.csdn.net/download/weixin_38637405/91802779

相关推荐
我超膨胀der.2 天前
LABVIEW生成EXE
labview
LabVIEW开发2 天前
LabVIEW QMH 队列消息处理架构
架构·labview·labview知识·labview功能·labview程序
LabVIEW开发6 天前
LabVIEW动态 VI编译规避程序损坏
labview·labview知识·labview功能·labview程序
LabVIEW开发7 天前
LabVIEW密码防护缺陷与替代方案
labview·labview知识·labview功能·labview程序
LabVIEW开发7 天前
LabVIEW PID高级整定技术与工程应用
labview·labview知识·labview功能·labview程序
谙弆悕博士11 天前
【附C语言源码】从零实现命令行贪吃蛇游戏
c语言·开发语言·学习·游戏·游戏程序·小游戏·贪吃蛇
zuoyou-HPU14 天前
LabView控件介绍
labview
SunnyByte17 天前
C语言——贪吃蛇的实现
c语言·单链表·贪吃蛇
LabVIEW开发21 天前
LabVIEW水力机组空蚀在线监测
算法·labview·labview知识·labview功能·labview程序
LabVIEW开发21 天前
LabVIEW结合数字孪生的动态仿真
labview·labview知识·labview功能·labview程序