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

相关推荐
LabVIEW开发2 小时前
LabVIEW 音频信号处理
labview·labview知识·labview功能·labview程序
LabVIEW开发1 天前
LabVIEW 正弦波噪声滤波
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW调用MATLAB 的分形生成
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW刺激响应测量解析
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW 频谱分析应用
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW多准则优化
labview·labview知识·labview功能·labview程序
LabVIEW开发17 天前
LabVIEW 事件动态注册
labview·labview知识·labview功能·labview程序
LabVIEW开发18 天前
LabVIEW 实现陀螺系数计算
labview·labview程序
LabVIEW开发18 天前
LabVIEW菜单操控
labview·labview知识·labview功能