当前位置: 首页 > news >正文

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

http://www.dtcms.com/a/357750.html

相关文章:

  • 【完整源码+数据集+部署教程】控制台缺陷检测系统源码和数据集:改进yolo11-repvit
  • IDEA编译报错:Error:(3, 28) java: 程序包com.alibaba.fastjson不存在
  • GPFS性能优化
  • zyplayer-doc:AI 驱动的智能知识库
  • LeetCode力扣-hot100系列(2)
  • MQTT高延迟通信优化指南
  • 解密企业数据安全:服务业加密软件的核心价值
  • POE供电是什么?
  • RAG教程5:多表示索引和ColBERT
  • 不一样的发票管理模式-发票识别+发票查验接口
  • 篮球API接口:技术如何革新体育数据体验
  • FunctionAI 图像生成:简化从灵感到 API 调用的每一步
  • Spring Boot自动装配机制的原理
  • Kafka入门指南:从安装到集群部署
  • 【数据结构与算法-Day 20】从零到一掌握二叉树:定义、性质、特殊形态与存储结构全解析
  • 最新SF授权系统源码全开源无加密v5.2版本
  • 什么是Jmeter? Jmeter工作原理是什么?
  • 平安健康平安芯医AI解析:7×24小时问诊+95%诊断准确率,人文温度短板与医生效能提升引热议
  • 【完整源码+数据集+部署教程】高速公路施工区域物体检测系统源码和数据集:改进yolo11-RepNCSPELAN
  • 手写链路追踪
  • 基于Net海洋生态环境保护系统的设计与实现(代码+数据库+LW)
  • 【面试场景题】怎么做业务领域划分
  • 互联网大厂AI大模型面试解析:从基础技术到场景应用
  • Jetson进行旋转目标检测推理实现大疆无人机飞行控制
  • Python-GEE遥感云大数据分析、可视化与Satellite Embedding应用
  • leetcode算法刷题的第二十一天
  • 阿里云服务器购买流程:四种主要购买方式图文教程详解与选择参考
  • Cherrystudio的搭建和使用
  • Silvaco TCAD | Victory DoE的基本使用方法(三)
  • 小杰机器视觉(six)——模板匹配