文档详情

基于LABVIEW贪食蛇的设计.pdf

发布:2020-09-07约4.87千字共7页下载文档
文本预览下载声明
基于 LabVIEW 贪食蛇的设计 摘要 :LabVIEW 是由 NI 公司研制开发的一种程序开发环境,它使用的是图 形化编程语言 G语言编写程序, 产生的程序是框图形式。 本程序利用 LabVIEW 的图形化编程特点,结合所学知识,编写了一个趣味贪吃蛇游戏,仅供休 闲娱乐。 关键词 :LabVIEW 图形化编程 贪吃蛇 引言: 手机中有一款小游戏叫“贪吃蛇” ,就是有一条小蛇,不停地在屏幕上游走, 吃各个方向上出现的蛋, 越吃越长。只要蛇头碰到屏幕四壁或者碰到自己的身子, 游戏就立刻结束。本程序基于传统贪吃蛇游戏的特点, 并适当增加一些趣味因素, 最终利用 LabVIEW制作一款完整的迷你贪吃蛇游戏。本程序的主要实现如下功 能:小蛇不停游走, 键盘方向键可控制小蛇移动方向, 吃过一个蛋后小蛇长度增 加并随机产生另一个蛋, 小蛇碰到四壁或者碰到自己时游戏结束并给出得分提示 是否继续,游戏可以有多种难度选择,并设置暂停按钮。 1. 界面设置 设置贪吃蛇的界面主要包括这几方面, 游戏屏幕的设置 (包括小蛇和蛋的颜 色形状)、开始后提示对话框及结束后得分对话框设置等。通过初始化数组控件 和替换数组子集空间可以产生 14 行 14 列的二维布尔数组(用 led 灯显示),即 游戏界面(如图一所示) 。不过要进行属性的设置,布尔灯的颜色开时为蓝色, 关时为透明色, 同时要在显示项中把固有图饰去掉, 即去掉固有图饰前面的勾去 掉,即可形成图一所示的游戏界面。游戏界面如图一 图一 贪食蛇游戏界面 2 . 小蛇控制 小蛇的控制主要有这几方面构成,开始游戏后小蛇就要按照一定的方向不停 地移动,通过键盘方向键控制小蛇移动方向 (由于设置上、下、左、右四个方向, 其中有两对是互斥的方向, 需要加以控制以禁止, 否则小蛇在反向的时候会撞到 自己),遇到蛋时,需要增加蛇身长度。 2.1 小蛇游走 由于蛇本身是一个可增加元素的数组, 所以用一个含两个一维方向数组的簇 来进行操作。 每次读取坐标或者增添完坐标后都要用簇解绑及簇捆绑来处理, 这 样也便在 XY 图中显示。 控制小蛇游走的方法是给定一个方向 direction (右(0) 上 (1) 左(2) 下(3) ), 然后利用这个 direction 的值来控制当前点与下一点的变换。 这里采用这样的方 法实现: 小蛇没按 direction 移动一个, 就在小蛇数组的开头添加一个点 (此时 这两个点是相邻的) ,然后将添加的点与蛋所在坐标比较,如果不同,就将蛇数 组的最后一个元素删除,表示没有吃到蛋;如果相同,就保留这个元素(此时, 相对于前一个位置时,小蛇的长度增加了) ,并且删除这个蛋,重新随机产生另 一个蛋。循环往复(在 while 循环上添加移位寄存器)直到游戏结束。插入蛇头 新坐标的子程序如下图二, 通过判断外部循环 (即按键的方向)的与内部小循环 的方向是否相同来控制蛇的游走 图二 小蛇游走 2.2 键盘控制小蛇游走方向 这部分采用一个事件结构, 当键按下时, 判断按下键的方向后修改 direction 值 (比如 原来小蛇向左移动,按向上后,修改 direction 值为 1),当然这需要进行一个判断,即去 除反向的可能,可以选用‘选择’进行判断,如果出现按键为小蛇移动的反方向
显示全部
相似文档