labview 贪吃蛇程序.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
labview 贪吃蛇程序

虚拟仪器课程设计(论文) ( 2009级 ) 题 目: 基于labview的贪吃蛇游戏 学 院: 工学院 班 级: 机械094 学生姓名: 林成艺 学号: 成 绩: 基于labview的贪吃蛇游戏 一:程序设计背景 小时候经常玩的一款小游戏叫“贪吃蛇”,就是有一条小蛇,不停地在屏幕上游走,吃各个方向上出现的小圆点,越吃越长。只要蛇头碰到屏幕四壁或者碰到自己的身子,游戏就立刻结束。本程序基于传统贪吃蛇游戏的特点利用LabVIEW制作一款贪吃蛇游戏。本程序的主要实现如下功能:小蛇不停游走,键盘方向键可控制小蛇移动方向,吃过一个原点后小蛇长度增加并随机产生另一个蛋,小蛇碰到四壁或者碰到自己时游戏结束。 二:程序介绍 界面设置 设置贪吃蛇的界面主要包括这几方面,游戏屏幕的设置(包括小蛇和蛋的颜色形状)、结束后对话框设置等。 屏幕设置 通过给定点的坐标来移动小蛇和显示小蛋。去除标尺及标签,设置标尺为50×50,去除两个方向的网格,使最终屏幕全灰色,然后修改各条曲线的宽度、颜色和点样式,使小蛇小蛋能够以相同样式显示。结果如右图所示:一个蓝色的为蛋,3个蓝色的为小蛇。 对话框设置 设置对话框,我们采用编程-对话框与用户界面中的单按钮对话框。主要是在游戏失败时,显示游戏结束。 小蛇控制方法 小蛇的控制主要有这几方面构成,开始游戏后小蛇就要按照一定的方向不停地移动,通过键盘方向键控制小蛇移动方向(由于设置上、下、左、右四个方向,其中有两对是互斥的方向,需要加以控制以禁止,否则小蛇在反向的时候会撞到自己),遇到蛋时,需要增加蛇身长度。 2.1小蛇的运动 由于蛇本身是一个可增加元素的数组,所以用一个含两个一维方向数组的簇来进行操作。 小蛇自动不停移动的程序,然而为了使之后与小蛋碰撞后能便捷的增加长度,这里采用这样的方法实现:小蛇没按方向移动一个,就在小蛇数组的开头添加一个点(此时这两个点是相邻的),然后将添加的点与蛋所在坐标比较,如果不同,就将蛇数组的最后一个元素删除,表示没有吃到蛋;如果相同,就保留这个元素(此时,相对于前一个位置时,小蛇的长度增加了),并且删除这个蛋,重新随机产生另一个蛋。循环往复(在while循环上添加移位寄存器)直到游戏结束。插入蛇头新坐标的子程序如下: 当未输入指令时事件的延时事件为150每毫秒 当没有吃到删除小蛇尾部子程序: 当有吃到删除小蛇尾部子程序: 2.2键盘控制小蛇游走方向 这部分采用一个事件结构,当键按下时,通过判断类型是否相等,类如当按下左时显示left为真,事件结构输出为left到外部条件结构中。 有子程序可以看出,右+1,左-1,上-1,下+1,都是蛇头相对于墙壁的距离。 2.3撞墙和自杀 这里讲一下我们对于小蛇撞墙或者自杀的情况。撞墙的意思是小蛇碰到了周围的墙壁,这需要从蛇数组中获取当前新添加的元素,然后与边缘(0,13)(13,0)比较,当超过这个边缘时,就跳出一级循环,游戏结束。 其中表示蛇头的位置,数组索引第一位,索引产生的蛇头的2维坐标xy,当x13或X0, Y13或Y0时蛇头出界,为或,任何满足条件的游戏结束。 自杀的情况比撞墙较复杂蛇头与蛇尾的索引一样时就认为发生了自杀,并跳出循环结束游戏。 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循环永远至少执行一次。 条件结构 包括一个或多个子程序框图,或分支,当结构执行时,仅有一个子程序框图或分支在执

您可能关注的文档

文档评论(0)

zsmfjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档