【贪吃蛇小游戏的设计6000字】_第1页
【贪吃蛇小游戏的设计6000字】_第2页
【贪吃蛇小游戏的设计6000字】_第3页
【贪吃蛇小游戏的设计6000字】_第4页
【贪吃蛇小游戏的设计6000字】_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

贪吃蛇小游戏的设计方面占据半壁江山。而作为经典游戏的贪吃蛇,依然为人们所喜爱。本文就是基于LabVIEW所设计的贪吃蛇游戏,主要包括三个部分。玩家控制部分:玩家通过键盘上、下、左、右来实现贪吃蛇的移动。逻辑判断部分:判断游戏中贪吃蛇有没有将食物吃掉、是否自撞或撞墙。之后根据实际情况判断贪吃蛇的长度是否增通过难度选择、颜色设置和开始游戏等模块方便于玩家操作。最后,通过这三部分的实现,完成了此系统设计。让那些生活压力大,节奏快的人们能够在短暂的 12游戏设计方案 12.1系统设计 2 22.1.2系统框图 22.2游戏界面 2.3游戏程序介绍 42.3.1初始设定 4 2.3.3贪吃蛇移动方向控制 62.3.4贪吃蛇是否吃到食物及移动特点 72.3.5贪吃蛇蛇身变化 8 2.4优化程序 2.4.1难度选择 2.4.3失败音设置 3.1调试结果 3.2系统不足与设计难题 3.2.1程序设计不足 3.2.2程序设计难题 1随着时代的进步与科技的发展,电子产品逐渐进入大众生活,并迅速在人们的生活中占用一席之地。其中,手机更是因为其强大的功能被大众接受。如今,手机已经在人们的生活中扮演着很重要的角色。人们利用手机进行通讯、实施娱乐功能,随即手机游戏也在年轻人中掀起了一股狂热的浪潮。而作为经典游戏的贪吃蛇,刚刚问世就受到人们的喜爱。《贪吃蛇》首次出现于20世纪70年代,在依然存在,1984年发明贪吃蛇的公司倒闭,且倒闭之后就再也没有恢复运转。不如今的网络上不乏那些画面精良,故事性强的大型游戏。但现实生活中,公众的生活压力越来越大、工作日渐忙碌,贪吃蛇这类小游戏则更符合他们的生活LabVIEW是一种程序开发环境,由美国国家仪器公司研制开发,类似于C和言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G板、输入控件、显示控件。前面板是VI程序的用户操作互式输入和输出端□,通常使用输入控件和显示控件来创建前面板。输入控件是指旋钮、按钮和转盘等输入装置,输入控件模拟仪器的输入装置,为VI的程序框图提供数据。显示控件是指图表、指示灯等显示装置,显示控件模拟仪器的输出装置,用以显示程序框图获取或生成的数据。2游戏设计方案2此贪吃蛇游戏设计初始思路设置为三大模块:游戏界面、游戏难度选择和分数记录。玩家首先进入游戏界面,在界面中选择游戏难度等级,然后通过开始游戏按钮进入游戏,分数记录会实时监测并显示在游戏界面中,增加玩家体验感、舒适感。系统具体设计如下:在进行游戏设计之前,先分析比较各个设计方案的优劣,从中挑选最优的方案并加以实施3。项目拟达到的目标:用户选择游戏难度,分为普通与困难模式,然后通过按键控制进行实时操作,由计算机记录分数情况并显示在游戏桌面。游戏设计包括游戏界面和程序设计两大部分。游戏界面包括游戏版面模块、得分模块、难度等级模块和按键控制模块等;程序设计部分含有贪吃蛇的初始设定、贪吃蛇蛇身如何变化、贪吃蛇的自撞与撞墙、贪吃蛇食物的随机产生等4]。最后在保证系统能正常运行的前提下,进行反复修改优化,使之达到最佳效果,进一步增加用户体验感和舒适感5。2.1.2系统框图.首先选择难度等级、设置游戏版面颜色、贪吃蛇蛇身颜色和贪吃蛇食物颜色,然后点击按钮开始游戏,游戏界面上出现贪吃蛇和贪吃蛇的食物,玩家使用键盘控制贪吃蛇移动方向来进行游戏6。在玩游戏的过程中,系统会实时检测且记录玩家所得分数,然后显示在游戏界面上,增加玩家的体验感、成就感和舒适感。系统自动判断玩家操纵的贪吃蛇是否出现撞墙或自撞的情况,若没有,系统便再去判别玩家操纵的贪吃蛇是否吃到了食物,吃到了贪吃蛇蛇身加长且随机产生新的食物,玩家继续游戏;若撞墙或自撞,那么游戏结束。贪吃蛇游戏设计思路框图见图2.1所示。选择难度等选择难度等级设置颜色开始游戏3是是产生蛇身,蛇的初始方向,蛇的食物蛇开始运动,通过上、下、左、右键控制否是是产生新的食物游戏结束游戏继续游戏界面由30*30的布尔灯矩阵组成,也可由用户根据自己需求进行个性化调整。蛇身长度为4个布尔灯长,开始游戏时有一个食物,若此食物被蛇吃掉,此时系统会随机产生下一个食物,以此循环直至游戏结束。游戏界面还包括蛇的长度、蛇移动的方向、食物的所在位置等7。游戏界面见图2.2所示。4食物行82.3游戏程序介绍1)贪吃蛇的初始设定利用数组直接给定蛇身的位置,且蛇身设置为4个布尔灯的长度。蛇头移动方向规定向右8。索引数组获取蛇身位置,替换函数点亮蛇身,显示在游戏界面。设定贪吃蛇的初始设定见图2.3所示。思思0思理四9初始化显示蛇图2.3贪吃蛇的初始设定5见图2.4所示。初始化显示食物食物数据图2.4贪吃蛇食物的初始设定2.3.2随机产生贪吃蛇食物通过判断蛇是否吃到之前存在的食物进而判断,若吃到了食物则随机产生新的食物,若没有吃到食物就不产生。行与列都由随机数相乘,向下取整产生。同时判断随机产生的食物是否在游戏界面已存在,若不存在则把食物在游戏界面显示出来。贪吃蛇食物的随机产生见图2.5所示。1口0图2.5贪吃蛇食物的随机产生6通过键盘上、下、左、右来控制蛇的运动。在一个大的事件结构中,通过键Right,Left。并且在这四个分支也各嵌套一个条件结构。具体如在Up分支,判断上上图2.6(a)贪吃蛇向上移动真上上图2.6(b)贪吃蛇向下移动真真右图2.6(c)贪吃蛇向左移动7左左图2.6(d)贪吃蛇向右移动移动方向移动方向!蛇头行数据!食物数据L食物行食物列"上"图2.7贪吃蛇是否吃到食物判断示意图8工350222234532101214020222201201234554工3232345412345012345122232040303222401401234541432323452.3.5贪吃蛇蛇身变化1)删除贪吃蛇蛇尾设置在判断到蛇没吃到食物后,获取蛇的位置,利用删除数组来删除。再利用替换数组把修改后的贪吃蛇在游戏界面上显示出来。贪吃蛇蛇尾设置见图2.9所示。假假蛇的颜色回蛇的长度粤蛇行走数据蛇行走数据背景色四里围91)增加贪吃蛇蛇身设置判断到蛇已经吃到了食物,直接添加新的一行且不删除蛇尾,利用创造数组在游戏界面显示出来。增加贪吃蛇蛇身见图2.10所示。插入新的行蛇的颜色食物数据食物是否存在蛇行走数据食物数据段贪吃蛇自撞与撞墙,都会引起游戏失败。撞墙判断贪吃蛇的位置是不是超过和两个“>”以及一个逻辑运算符与进行判断,若是超过则游戏停止,反之继续。自撞则判断蛇行走的位置是不是蛇身位置,通过坐标来判断蛇头坐标与蛇尾坐标是否一致,若是一致则自撞,游戏停止,反之继续。贪吃蛇自撞与撞墙见图2.11用用二索引数组a00回网蛇数据Value野子□蛇数据画田是否失败二二蛇头列0①是否失败飞做中日假真圈□:□□“2.4.1难度选择利用下拉列表设置游戏难度,修改运行速度即可。0代表困难模式,贪吃蛇的移动速度为100毫秒;1代表简单模式,贪吃蛇的移动速度为200毫秒。普通模式见图2.12(a),困难模式图2.12(b)所示。“普通”“困难”,2.4.2分数记录玩家进行游戏所得分数为贪吃蛇吃到食物的个数,即获取贪吃蛇身长的实时动态数据,再减去初始状态的蛇身即可。分数记录见图2.13所示。理思0画口40图2.13分数记录2.4.3失败音设置用条件结构来判断,以内循环来实现这个功能。声音通过蜂鸣器发出,设置频率为20赫兹,时间为500毫秒。等待时间要大于蜂鸣器响的时间,设置为2000毫秒。设置循环两次,即蜂鸣器响两次。通过子vi调用控制,玩家在自撞或撞墙之后发出提示音,表示游戏失败。设置失败音见图2.14所示。真真1XO?图2.14设置失败音2.4.4颜色设置通过颜色盒来实现颜色设置,分别给游戏背景、贪吃蛇以及蛇的食物设置颜色,并且利用簇控件将其放置在一起。玩家自行选择自己想要的颜色,以便增加其体验感和舒适感,有利于更好的玩游戏11。颜色设置见图2.15所示。5右图2.15颜色设置2.4.5网络化处理利用软件功能将写好的游戏程序设计发布在网络上,使其在任意电脑都可进行操作,以此增进用户体验感,舒适感,方便他们随时随地的去进行游戏。网络化处理见图2.15所示。困难51右图2.16网络化处理3系统调试在写这个游戏时,出现了许多的漏洞与错误,经过一步步细心调试,最终完成了这个贪吃蛇小游戏。主界面包括游戏名称和玩家界面,游戏难度选择,分数记录,蛇的长度,移动方向,颜色设置以及开始游戏按钮12]。见图3.1所示。5分数记录7移动方向右颜色设置蛇的颜色食物颜色开始游戏3.2.1程序设计不足由于自己本身知识基础不足,再加上时间有点仓促,导致这个游戏程序设计有一些不足之处。贪吃蛇的初始位置,初始长度都是固定数值,虽然尝试过用随机数来设计,可是屡试屡败,最后还是选择了这个方案[13。在游戏界面的美化方面也略有不足。还有就是程序框图不够简洁明了,图形代码逻辑方面薄弱。3.2.2程序设计难题由于贪吃蛇游戏需要很多算法,设置限制条件等,所以框图程序很复杂14]。在这次游戏程序设计方案中,我遇到了四个大的难题。一是循环结构的使用,无论是while循环结构还是for循环结构的应用,对我来说过都是一个难以克服的问题,首先,在默认情况下,对于每个连接到while循环结构的数据都不会执行自动索引功能,而对于每个连接到for循环结构的数据都会执行自动索引功能,这是一个最大的易错点和混淆点。在编写贪吃蛇撞墙或自撞失败发出声音这段框图代码时,对于循环结构的选择拿捏不准,最后通过查阅资料,最终选择的是while循环结构,从0开始,执行循环体中设置的声音代码,循环两次停止。二是数据类型繁多,各种框图程序接线端数据类型不匹配。在LabVIEW这个程序平台中,有各种数据类型的控件,比如常见的整型、浮点型、字符串型等等种类繁多。对于各种控件的接线端来说,哪一个接线口连接什么类型的数据都是系统固定好的,不可更改的,所以要仔细严谨的设置每个控件,在编写程序代码前就了解程序所匹配的数据类型。在设置游戏界面时,用的数据类型是整型数组;在规定贪吃蛇的初始移动方向时,用的是字符串类型;在设置食物时使用了簇这个控件,里面包含了两个浮点型和一个布尔型。与此同时,各种控件的接线端所需类型也不一致,在初始化数组中输出端必须是一个数组,在按名称捆绑控件的输入输出端的数据类型必须是簇类型,由此给游戏程序的设计造成了许多麻烦,不过在不断地编写程序中,对LabVIEW软件和各种控件的慢慢熟悉,这个问题便迎刃而解。三是逻辑判断复杂难懂。无论哪个电子游戏,在进行设计的时候逻辑判断都是最重要的一个环节。在这次游戏设计中,贪吃蛇行走时吃到食物后的蛇身如何加长,行走时没有吃到食物它如何变化还有如何判断贪吃蛇的撞墙和自撞等都需要强大的逻辑判断能力。为了解决这些问题,我特别下载了一款贪吃蛇游戏,反复去玩,找寻其中规律。四是编写程序过程中,不断出错,需要反复调试。毕竟是初次用LabVIEW编写游戏代码,出错率很高。主要有两类出错点:语法错误,逻辑错误。对于程序出现的语法错误,面板工具条上的运行按钮就会变成一个折断的箭头,很好识别,找到出处然后修改就行了。而对于逻辑错误来说,程序可以运行,但却实现不了自己想要的功能,这个可以利用断点与单步执行来判断,程序一个一个节点的运行,利用断点工具在任意一处中止程序,然后用探针或者单步方式查看数据15。4结论本系统主要是基于LabVIEW设计的一款贪吃蛇小游大板块,第一大板块是程序设计模块,主要包括:贪吃蛇的初始设定、贪吃蛇蛇系统自动产生贪吃蛇及其食物,玩家控制贪吃蛇移动方向,系统判断是否撞墙来检测游戏进行还是结束。若玩家撞墙或自撞,则游戏结束;若玩家没有撞墙或自撞,则在看贪吃蛇是否吃掉了食物,以此来判断是否随机产生食物。以此循环,直至游戏结束。第二大板块是优化设计模块,主要包括:难度等级的设置、颜色的设置、失败提示音设置、网络化处理设置、颜色设置等。主要是在程序设计的基础上对其进行优化操作,美化界面,增加辅助功能,提升用户体验感,舒适感以及吸引力。分别给游戏背景、贪吃蛇以及蛇的食物设置颜色,并且玩家可以自行选择自己想要的颜色。分数记录,用控件显示每一局玩家所获得的分数,给玩家更好的自我认知,方便了解自己的游戏水平。由于各个模块的联系十分紧密,代码重复执行率性高,所以出错率极高。经过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论