Java版贪食蛇游戏毕业设计论文.docx

上传人:小小飞 文档编号:3901912 上传时间:2019-10-09 格式:DOCX 页数:66 大小:386.33KB
返回 下载 相关 举报
Java版贪食蛇游戏毕业设计论文.docx_第1页
第1页 / 共66页
Java版贪食蛇游戏毕业设计论文.docx_第2页
第2页 / 共66页
Java版贪食蛇游戏毕业设计论文.docx_第3页
第3页 / 共66页
Java版贪食蛇游戏毕业设计论文.docx_第4页
第4页 / 共66页
Java版贪食蛇游戏毕业设计论文.docx_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《Java版贪食蛇游戏毕业设计论文.docx》由会员分享,可在线阅读,更多相关《Java版贪食蛇游戏毕业设计论文.docx(66页珍藏版)》请在三一文库上搜索。

1、 太原理工大学毕业设计(论文)用纸Java版贪食蛇游戏的设计与实现摘 要网络的迅猛发展,21世纪的今天人类社会已经进入到了信息化的时代,更是网络化高速发展的阶段。网络逐渐走进人们的生活,五彩缤纷的网上信息与人们的生活密切相关。互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用,它的实时性、方便性得到了人们的喜爱。现在人们利用网络已经不再是简单的查阅资料等,而是懂得用网络来娱乐消遣。拿贪食蛇这个小游戏来说,之前基本都是手机游戏,但是随着网络的发展人们已经开始在电脑上进行游戏了,而且游戏功能更多,深受人们的喜爱。贪食蛇起源于古代中国,风靡于欧洲。贪

2、食蛇是经典的游戏之一,每个人的童年都有玩过这类游戏,尤其是在手机上较为常见。民间早就已有贪食蛇游戏,在中国的文化里,倍受人们的青睐。在游戏中,玩家能够学会如何有创造性地克服生活中面临的困难,而且玩游戏的能力也对我们将来的发展有着深远的影响。同时游戏也可以给人们生活中添加许多乐趣。本次设计的这款游戏,虽然只是一款小游戏,可以让玩家在业余时间中休闲,但是不会沉迷,也可以丰富人们的生活。本贪食蛇系统是使用Java实现,以Eclipse为开发工具来开发的游戏系统。系统中包括设置背景颜色、蛇头颜色、蛇身颜色、食物颜色等个性化选项,选择不同的地图模式,设置贪食蛇的速度,还可以选择是否显示网格及网格的颜色等

3、等。关键词:贪食蛇;Java;EclipseDesign and Implementation ofthe Java Version ofSnake GameAbstractThe rapid development of the network, in twenty-first Century today, human society has entered into the information age, is the network high speed development stage. The network has gradually into peoples lives, c

4、losely related to online information and peoples life a riot of colors. The Internet has become an important channel for people to obtain, release and transfer information, it plays an important role in peoples political, economic, all aspects of life, its real-times, convenience has been loved by t

5、he people. Now people use the Internet is no longer simple access to information, but know how to use the Internet for entertainment. Take the small snake game, before is the basic mobile phone game, but with the development of network and people have started the game on the computer, and the game m

6、ore functional, loved by the people.Snake originated in ancient China, popular in Europe. The snake is one of the classic games; everyones childhood had played this game, especially in the mobile phone. Folk long existing snake game, in Chinese culture, popular. Playing a game is fun. In the game, g

7、ame player can learn how to creatively overcome our difficulties, and game playing ability also to our future development has a profound influence. At the same time the game can also add a lot of fun for people in life. The design of the game, although only a small game, can let the game player in h

8、is spare leisure, but not obsessed with, also can enrich peoples life.The snake system is implemented using Java, The game system to develop a tool for the development of Eclipse. The system includes setting the background color, snake color, body color, and food color personalized options, choose a

9、 different map mode, set the snake speed, you can also choose whether to display grid and grid color etc.Key Words: Snake; Java; Eclipse目 录1 绪 论11.1 研究背景11.2 研究内容意义21.3 主要功能特点31.3.1 操作简单31.3.2 友好的界面31.3.3 创意新颖31.3.4 稳定安全32 关键技术介绍52.1 Java简介52.1.1 Java语言的优点62.2 开发工具Eclipse简介72.3 开发工具JDK简介83 需求分析及可行性9

10、3.1 程序概述93.2 业务需要分析93.3 用户需求分析93.4 功能需求分析103.5 可行性分析103.5.1 技术可行性113.5.2 经济可行性113.5.3 操作可行性114 详细设计与实现134.1 系统概要设计134.1.1 游戏运行过程图134.2 系统功能设计144.3 贪食蛇类结构154.3.1 类文件154.3.2 类的对应关系164.3.3 通过事件监听建立联系164.3.4 主要类的说明174.4 系统实现194.4.1 障碍物、食物、蛇的表示194.4.2 蛇的移动194.4.3 存储蛇身的数据结构194.4.4 蛇的移动方向194.4.5 如何显示蛇身204.

11、4.6 蛇身的移动方向204.4.7 吃到食物的判定204.4.8 游戏主页面214.4.9 设置背景颜色页面224.4.10 设置蛇头颜色页面234.4.11 设置蛇身颜色页面244.4.12 设置食物颜色页面254.4.13 选择地图页面264.4.14 游戏网格设置284.4.15 游戏按钮页面294.4.16 游戏说明页面305 软件测试315.1 正确认识软件测试315.2 软件测试的目的315.3 系统测试的方法325.4 软件测试的过程335.5 软件测试的结果346 总 结36参考文献39致 谢40601 绪 论1.1 研究背景贪食蛇小游戏是一款家喻户晓的益智类小游戏,我们都曾

12、在手机或电脑上玩过这个简单又有趣但同时又富含哲理的小游戏。贪食蛇这款小游戏不仅仅能够增强我们的思维能力和创造能力,提高我们的智力水平,而且富含丰富的哲理,有助于我们现在浮躁的都市人来修身养性。贪食蛇这款小游戏它既有现代常见休闲游戏的突出特征“短、平、快”,同时又具有古典哲学方面的高深学问“阴阳易理”;它既有简单易学、快速上手的特性,又包涵有深奥而又复杂的技巧和有关哲理哲学方面的思考。因此而被广大人民群众所喜爱和传播。它是中西方文化的交汇点,是古今中西方哲理在简单游戏表象下智慧的结晶。贪食蛇小游戏起源于古代的中国,风靡于欧洲。贪食蛇这款小游戏是麻雀虽小五脏俱全的真实写照。贪食蛇小游戏中也包含了丰

13、富的人生哲理:和别的小游戏不同,贪食蛇小游戏是一款富有丰富的哲理,在前期是为了吃到食物长大,而到了后期就要我们学会生存。贪食蛇小游戏志在打造一款灵活性和娱乐性都很强、有创新性、容易上手、休闲娱乐功能良好并且有一定的挑战的休闲娱乐向单机小游戏。但是同时贪食蛇小游戏又是一个不会取得胜利的游戏。许多的游戏都是技术越好,打的越好,打到通关就意味着胜利,而贪食蛇这款游戏的结局却是只有小蛇的死亡这一种。不管你玩得多么的纯熟,技术多么的高超,你最终所能迎来的也只有小蛇的死亡。当你控制的小蛇越吃越多、越来越长的时候,小蛇的死亡,即游戏结束的时间也就离你越近了。那时候考虑的就不是怎么样让小蛇吃到食物来长身体,而

14、是考虑避免撞墙或撞到自己的身体而导致死亡。所以我要在此基础上加强这个游戏相关的功能,并且要有场景的切换、改变贪食蛇的移动速度等等有趣味的功能,并赋予操作者更多的个性化选择,争取制作一款具有收藏意义的贪食蛇游戏。不管怎么说贪食蛇是一款寓教于乐的小游戏,直到今天也深受人们的喜爱。而我选择这个毕业设计题目的原因一是因为从我第一次玩到这个简单而又富有哲理的小游戏之后,贪食蛇这款游戏就深深的吸引着我,让我非常的着迷。二是因为为了将自己上大学所学的东西加以运用起来,完成一个自己的小程序。当我了解到原来我玩的贪食蛇游戏是由代码来编写的之后,我不禁对贪食蛇游戏的编码感到非常的好奇,我迫切的希望通过自己的所学知

15、识来把它分析编译出来,通过自己的技术来将这个有趣的游戏用Java语言制作出来。虽然我的软件开发与设计能力很差,但是我相信,在老师同学们的指导和帮助下,在自己的努力下,一定可以完成这个游戏代码的编写,让程序可以完美的运行。并且通过这次的毕业设计制作,我相信我的编码水平和相关的知识也一定会取得极大的进步。本次设计开发贪食蛇游戏系统的开发语言为Java语言,开发工具选用的是我熟悉的Eclipse。在这里采用Java语言作为开发语言主要是基于Java的面向对象性、健壮安全和可移植性。而Eclipse,则是一个可扩展性很强的开发平台。而就Eclipse其本身而言,它可以用来通过各种各样的插件组件来构建我

16、们需要的开发环境。1.2 研究内容意义在人们的日常生活中,经过一天紧张的忙碌工作和学习,不管是学生也好还是工作的人也好,在闲暇的时光,都喜欢玩些简单又有趣的游戏来放松紧绷了一整天的神经。在游戏的过程中,人们既可以放松工作学习一天的劳累,还能够学会舍得之间的平衡,毕竟贪食蛇这款游戏玩到最后就是要突破自己过于累赘的身体,还要避免撞墙而死,来尽可能的吃到食物来继续增长自己,这其中的哲理十分值得我们深思,而且我觉得玩游戏方面的能力也对人们将来的发展有着深远的影响,毕竟社会所需要的人才是各方面能力都要均衡发展的,而不是需要只会死读书的人。当前网络上和手机上流传的贪食蛇小游戏的功能并不十分的完善,其中很多

17、的功能都不能够一起实现,所以我这次毕业设计的主要内容是开发一个趋近完美的贪食蛇游戏系统。我想在提高了本游戏的娱乐性的同时也能够提高本游戏的挑战性。我希望二者相结合,可以使得游戏更具可玩性、娱乐性和挑战性。使人们在玩这个游戏的时候能够少一丝烦恼,多一份快乐。这也给像我一样对贪食蛇这款游戏着迷的人一个功能完善且富有挑战的贪食蛇游戏来在平时娱乐或是作为收藏,所以我认为开发此贪食蛇小游戏具有十分深远的意义。而且我可以在这个贪食蛇游戏系统的开发过程中更加熟练的掌握大学中所学到的知识,同时还能学到更多关于软件系统和程序开发整个流程的相关知识,掌握许多关于它的独特的窍门和技巧,加强自己的编码能力和项目开发能

18、力,对自己其它各方面的能力提高也是很有意义的。1.3 主要功能特点1.3.1 操作简单用户只要掌握一些简单的计算机运行方面的知识就可以运行本游戏系统,不需要太高的操作技术和要求。在游戏中需要操作的键就只有上、下、左、右方向键、PgUp键、PgDn键或是空格键。还有鼠标点击,真正做到了简单易上手。1.3.2 友好的界面本系统在设计时完全从使用者的角度出发来进行考虑,界面简单友好、美观大气,符合广大群众的审美要求。而且虽然操作非常简单,一看就会,但依旧设置了详尽的操作提示来给使用者学习如何进行游戏,在游戏结束后,马上会显示使用者本次游戏的成绩,而在界面的装饰和布局上也进行了精心的设计,包括一个可爱

19、的贪食蛇卡通logo造型和位置摆放合理且功能一看就懂的各种丰富新颖的功能设置修改按键,从各个方面来说都十分的人性化。1.3.3 创意新颖在游戏中设计了可以更改游戏的背景颜色、蛇头颜色、食物颜色、蛇身颜色等等各种有趣而又新颖的按键,使用者可以自己组合出自己满意的贪食蛇和背景及食物,同时也为追求挑战的使用者设置了选择是否显示网格及选择游戏的地图模式,地图模式不同,游戏难度和挑战性也大大的不同。而显示网格后则可以更加方便明了的看到蛇的移动和与障碍物或食物间的距离。如果使用者还是觉得不够有挑战的话,还有调节蛇的移动速度功能在等着你,当然你也可以设置蛇慢腾腾的走来好好的享受下安逸进行游戏的魅力。游戏的设

20、计匠心独具,为使用者增加了许多乐趣。1.3.4 稳定安全这次开发本贪食蛇游戏系统的时候特意注重了游戏的稳定性和其安全性,因为一个bug、错误和漏洞不断的游戏会给使用者带来非常糟糕的使用体验,而不安全甚至带有病毒的程序更会使人们敬而远之。因此,在本游戏系统开发过程中,注重游戏的健壮性和安全性是十分有必要的。2 关键技术介绍2.1 Java简介Java平台由JVM(Java虚拟机)和API(Java应用编程接口)构成。API(Java应用编程接口)其可以分为两个部分,一个是基本部分,另一个是扩展部分。Java应用程序的运行则需要将Java安装在硬件或操作系统平台上。现在Java平台已经可以在几乎所

21、有的操作系统上编译运行。这样Java语言所编写的程序就可以在各种各样的操作系统中完美的运行,只需要编译一次即可。Java分为三个体系:JavaSE(java平台标准版);JavaME(Java平台微型版);JavaEE(java平台企业版)。Java的诞生对软件产业和计算机软件的开发都产生了深远的影响,是对传统计算机开发模式的严重挑战: (1)基于构建开发方法的传播使用与兴起,制定了多层应用体系框架和CORBA国际标准软件体系结构。在如此良好的形势下,形成了Java.2平台和.NET平台两大平台,推动了整个IT行业的发展。(2)软件4A的目标要求当前的软件程序能够做到对任何人来说在任何的地方在

22、任何的时间对任何的电子设备都能够做到及时的应用。这样才能够达到在不同的软件平台上可以互相操作的需求,因而Java才有了重用性和可伸缩性并要求有即插即用等分布式计算模式的需求。(3)对软件开发产业和与之相关的供应商都产生了全新的思维方式,软件公司从之前的以开发为核心,慢慢转换到了现在的以服务为核心。各种各样的配件、服务器软件供应商以及咨询服务商慢慢出现。企业必须加速调整,企业对企业的电子商务模式将会带动整个新型的经济市场,使企业获得新的价值和商机。 (4)对软件的开发方式带来了全新的改革,软件开发现在要注重使用第三方的构件集成,要好好利用平台的基础性设施的服务,实现开发过程中的各个阶段所需的重要

23、技术,还需要软件公司注重其开发团队的培养和组织。 由此可以得出结论,现在我们已经明白了Java对信息时代软件开发的重要性,未来Java还将会不断发展,Java在软件开发和应用方面将会有更加广阔的前景。2.1.1 Java语言的优点 安全性 Java语言必须要可以防止病毒的入侵,在Java中,我们一切想要对内存的访问都必须通过访问对象的实例变量来实现,这样就防止了不法人员采取欺骗的手段来访问对象中的私有成员,指针操作很容易会产生错误,而Java语言则是不支持指针的,这样就可以防止对指针的操作产生的一些错误。简单性Java语言是一种面向对象的语言,它负责提供最基础的办法来完成我们所指派的任务,我们

24、程序人员只需要知道一些简单的与编程相关的知识和概念就能编写出一些应用程序,Java语言编写出的程序能够在小型的设备上运行。面向对象语言Java语言设计了动态的接口模型和简单的类机制,它的设计全都是对于其对象及其接口的,我们封装了它的状态变量和对应的方法在其对象中,完美的实现了程序系统的模块化及其信息的隐藏;而类则是提供了对象的原型。实现代码的复用的方法是通过继承的机制,子类可以继承使用父类所提供的方法。多线程多线程使得用Java语言编写的应用程序可以在同一时间进行多个不同的操作,处理多个不同的事件。在多线程的机制中,我们通过多个不同的线程来处理多个不同的任务,它们之间互相不会影响干涉,不会因为

25、一处线程处于等待状态,其它线程就不能执行,这是实现实时交互的基础。 动态性在Java语言的类库当中,我们可以自如地加入我们设计的新方法和实例变量,而且这完全不会影响到我们之前编写的应用程序的运行。而且Java语言还设计通过接口来支持多重继承的机制,比较类继承,其具有更加灵活方便的扩展性。Java语言的设计使它可以随着技术的发展而不断向前。可移植性 Java语言的可移植性的基础是与它本身具有的与开发的平台毫无关联的特性所决定的。使用Java语言编译的应用程序在一次编译之后,就可以完美的在各种不同的设备上运行。同时,Java的类库中也可以实现与不同的设备间的接口,使这些类库可以通用。2.2 开发工

26、具Eclipse简介图2-1 Eclipse图标Eclipse是一个开发软件和编写代码的工具。它是可扩展的,且基于Java的。它只是由一组服务和一个框架组成,通过其本身的插件和组件,我们用其来构建我们所需要的开发环境。不过,最基本的是,Eclipse中包括了Java语言的开发工具。尽管许多的编程人员和开发人员都习惯于将Eclipse当作Java的集成开发环境来使用和开发软件,然而开发Eclipse的人员的目标却更加远大。Eclipse其中还设计了一个关于插件的开发系统,这个插件和组件主要针对的人群就是那些想要增加Eclipse兼容性功能方面的编程人员和开发人员,这些编程人员和开发人员可以使用E

27、clipse构建出与Eclipse环境完全集成的工具。由于在Eclipse中全部都是由插件和组件组成的,对于给Eclipse来提供插件和组件,以及给软件开发人员和编程人员提供一致的集成开发工具而言,全部的软件开发人员和编程人员都可以在这种统一的环境下进行软件的开发。这种统一的集成开发工具却并不仅仅限于Java的开发工具而已。虽然Eclipse的开发是由Java完成的,但是它的使用范围却并不仅限于用Java语言来编写开发软件程序;例如,支持诸如COBOL等的编程语言的插件也在其考虑的范围内。有的已经可以使用了,剩下的也计划将要推出。Eclipse还可以用来作为像内容管理系统等各种类型的其它应用程

28、序的基础。 2.3 开发工具JDK简介JDK是由太阳微系统公司推出的一套开发工具。太阳微系统公司提供的基于字符模式Java的JDK:JDK是许多Java最初使用者使用的开发环境。Java源程序的编写借助于第三方的编辑工具。JDK自身由一个标准类库和一组Java实用工具来组成。它的核心应用程序接口都是一些预先就定义好的类库,编程人员和软件开发人员则是会使用这些类来访问Java语言的各种功能。Java的最重要的部分就是JDK,其中包括了一堆的Java工具和Java的基础类库。所有的Java应用服务器都内置了JDK。因此我们要学习Java语言的话,就必须先对JDK有一个系统而全面的了解,这可以更好的

29、帮助你来学习Java语言。JDK它提供了不论你使用何种类型的开发软件,用其来写的Java语言软件程序都必须要用到各种必须类和规定。如果你没有JDK的话,你的Java程序根本就不可能成功运行。3 需求分析及可行性需求分析是对所要做的系统来进行分析,通过使用文字和图表等的综合方式,以相对来说较容易让人理解的方式来描绘系统需求的数据、功能、行为,甚至可以直接评审其系统的正确性。通过查询与其相关的资料,对所做的系统进行系统分析,整理资料后,即可得出详尽的需求分析。需求分析是在软件开发的初始阶段来进行的,它对于整个软件的开发过程以及软件开发后的质量都是非常重要的。需求分析在软件开发中也随着软件系统复杂性

30、的提高及软件系统规模的扩大而愈加突出。在需求分析的进行中,系统开发人员必须对用户的需求进行详尽的调查和系统的分析,结合实际环境的特征、影响,正确的定义目标软件的特征和功能。因此,需求分析在软件开发过程中是至关重要的。3.1 程序概述根据本系统使用者的需求来进行开发设计,主要是要实现如下的功能目标:界面设计要符合人们的审美要求,数据的存储要非常的安全且可靠。还要有强大的查询功能,方便用户浏览战绩等信息,游戏设计也要更加的人性化。增强游戏的趣味性,且要让本贪食蛇游戏系统操作简单、易于维护。3.2 业务需要分析随着游戏行业的不断发展与壮大,现在游戏的制作与开发已经不再是单一的娱乐性质那么简单了,而是

31、包含了更多的其它的游戏设置和个性化的内容,使游戏的内容变得更加丰富多彩,给游戏者以更多的选择、更好的视觉享受。但是现在的贪食蛇游戏模式都相当的单一,玩法过于的传统化,游戏模式也基本是千篇一律的,然而想要在目前众多的休闲娱乐游戏中脱颖而出,本贪食蛇游戏系统就得开发出更加强大的功能来增强游戏的竞争力。所以开发一个独特有趣功能强大的贪食蛇游戏系统是势在必行的。3.3 用户需求分析以上面的业务需要分析为基础,从而进一步的提出游戏系统需要完成的以下的任务:系统需要让游戏者切身感受到游戏的乐趣,重温我们玩贪食蛇时的美好回忆。3.4 功能需求分析本系统主要是要完成预先制定的基本设计要求,让使用者容易操作和快

32、速上手。本系统需要满足以下的几点要求:(1)对于使用者来说,一款全新的软件系统或软件程序在使用之前,往往是陌生的,所以要求本贪食蛇游戏系统要具有良好的交互和完善的说明。(2)能够实现游戏系统中的各项功能,比如利用方向键来控制蛇的运行方向、在随机的地方产生食物、PgUp键和PgDn键可以控制蛇运行的速度快慢等等。同时也要便于进行管理。(3)简单的游戏设置模式,数据的稳定性和可靠性要好,便于游戏系统的传播和推广。3.5 可行性分析为了确保本系统可以开发成功,可行性分析是十分有必要的。可行性分析就是在经过全面调查的基础上,针对其系统的开发是否有必要性,是否可行,对系统的开发从操作、技术、经济等方面进

33、行分析和研究。利用尽可能小的付出和代价在尽可能短的时间内来得出我们所要解决的问题是否能够得到快速的解决,这就是我们为什么要进行可行性研究。本贪食蛇游戏系统是一种既简单有趣而又富有哲理的大众小游戏,一直都深受广大游戏玩家的欢迎和喜爱,是广大玩家在日常生活和娱乐时经常玩的一个有趣的小游戏,正因为有了如此广大的群众基础,所以我们开发一个功能更加完善,有更多的自主选择的贪食蛇游戏系统是可行的。本贪食蛇游戏系统的核心代码是如何实现移动和吃掉食物,蛇如果没有吃到食物,就把蛇目前运动方向上的下一个格子设为目标,并以蛇身格子的颜色绘制这个格子的颜色,然后把尾部的一个格子设为目标,并以游戏框架内部背景的颜色重新

34、绘制出这个格子的颜色,这样就完成了蛇的移动这一目的。那么蛇如果吃到了食物呢,我们只需要把食物的格子颜色绘制成蛇身颜色即可。我们还要能实现贪食蛇吃到食物以后贪食蛇的身体的增长,和碰到墙壁或自己蛇的身体后会死亡,而且能够暂停和开始游戏等等。本次贪食蛇游戏系统的开发运用Java语言来完成,为了便于本贪食蛇游戏系统的传播。因为Java语言是具有平台无关性的。这也正符合了我们对此贪食蛇游戏系统的易于传播推广的要求。由于Java语言开发出的软件或程序可以在任何平台运行,因此对其软件系统的安全性有较高的要求。如果没有完善的安全保证,使用者使用本程序就会非常的危险,可能会导致用户的信息泄漏。在这个问题上,我们

35、必须确保我们的程序系统可以很好的防止对使用者本地系统地威胁和破坏。可行性分析这部分将从以下三个方面进行研究:技术可行性、经济可行性、操作可行性。3.5.1 技术可行性技术可行性就是要考虑软硬件配置是否满足开发的需求,目前的技术条件能否简单快捷的完成开发工作等。而当前的计算机也完全可以实现开发本贪食蛇游戏系统的需求,用的是Java语言来进行开发的,调试方面相对来说较简单,因而在技术可行性角度来说是可行的。软件方面:由于目前开发单机软件程序的技术很成熟,所以本贪食蛇游戏系统的开发平台完全可行可靠,因此我们可以得出其完全能满足本贪食蛇游戏系统的需求。硬件方面:开发本贪食蛇游戏系统是在计算机上运行的,

36、故硬件方面的需求只是需要一台各项功能和设备都完善的计算机即可。因此我们可以得出其也能满足贪食蛇游戏系统的需求。3.5.2 经济可行性经济可行性是指开发并应用此贪食蛇游戏系统,应对其开发所需要的成本和开发完成后可以取得的利益进行分析,从而权衡其得失。随着计算机各种设备价格的不断下降,开发这样一个贪食蛇游戏系统,在正常的情况下成本并不会很高,经过详细而细致的考察,采用Eclipse编程软件,使用科学严谨的开发方法,可以降低软件的开发成本,达到经济高效的目的,因此该游戏系统在经济可行性上是可行的。3.5.3 操作可行性本游戏系统人机交互十分的完善,具有友好的界面、完备的安全性设置和非常详细的操作说明

37、,操作也十分的简单易懂,适合各类人群体验使用。因此该游戏系统在操作可行性上是可行的。4 详细设计与实现4.1 系统概要设计在本游戏系统的概要设计中主要确定了本游戏系统的实现手段和实现方式,给出了后续继续编码的所有技术要点,定义了解决问题的主要技术结构和技术难点,是我在下一阶段进行系统实现的指导性文件,也是最后来考核本游戏系统总体质量的重要技术性文档。本次的游戏系统制作开发是本着从使用者的角度出发,操作要尽量简单明了,界面要求美观大方,使其可以实现简单化、健壮化。因为游戏的使用者大多都是普通的用户,并不具备非常专业的计算机操作方面的知识,过于复杂的游戏系统将会使使用者很不方便使用本游戏系统,因此

38、,简单而又实用的游戏系统就成为了本游戏系统使用者最大的意向,能够适用于任何人群,而且不需要太多的计算机操作方面的知识,仅仅只要求使用的游戏玩家具有最基本的计算机操作知识,即可以使用本游戏系统来进行正常的游戏娱乐。我们需要的游戏系统必须是可以随着使用者需求的调整和改变而能够做出相应的调整和改变的系统,可以方便快速地根据使用者的需要进行客户化开发,力求更加的人性化。这样就能减少系统二次开发的高额成本、人力和时间的浪费,并且能充分的满足、贴合使用者的需求,进而可以大量的节约不必要的开支,更好的为使用者提供更好的服务和程序系统。在系统概要设计中,我们要将整个游戏程序的条理理清楚,把每个技术方面的问题都

39、解决好,还要尽可能的把游戏系统的全部功能需求都考虑到,这样在程序实现的时候,就可以条理清晰的按照步骤一步步的完成整个游戏系统,而不会因为要添加一个之前没考虑到的功能而必须打乱整个计划。4.1.1 游戏运行过程图如图4-1所示,这是整个游戏系统的运行过程图:图4-1 游戏运行过程图4.2 系统功能设计本系统的主要功能如下介绍:(1)设置背景颜色:使用者在游戏过程中可以设置游戏的背景颜色。(2)设置蛇头颜色:使用者在游戏过程中可以设置蛇头的颜色。(3)设置蛇身颜色:使用者在游戏过程中可以设置蛇身的颜色。(4)设置食物颜色:使用者在游戏过程中可以设置食物的颜色。(5)设置贪食蛇的速度:使用者在游戏过

40、程中可以设置贪食蛇的移动速度。(6)选择是否显示网格和网格颜色:使用者在游戏的过程中可以选择是否显示网格,如果使用者选择了显示网格的话,还可以设置网格的颜色。(7)地图模式选择:使用者在游戏中可以对不同游戏地图模式进行选择,地图不同,难度也不同,增添更多的乐趣。 4.3 贪食蛇类结构4.3.1 类文件本系统共包括10个类文件。Java源文件及其功能如下:(1)类MainFrame主要功能:含有main()方法,该文件为本贪食蛇游戏系统的入口。 (2)类GameOptionPanel主要功能:实现本贪食蛇游戏系统的菜单控制,游戏运行等的总体要求,还包括通过按键来控制蛇的各种动作。(3)类Snak

41、eListener主要功能:这个类是贪食蛇的监听器。(4)类GameListener主要功能:这个类是整个游戏的监听器。(5)类Food主要功能:该文件的作用是用来实现组成蛇身的单位-食物。(6)类Ground主要功能:该文件的作用是用来实现障碍物-石头。(7)类Snake主要功能:该文件的作用是用来实现蛇类。(8)类Global主要功能:该文件为工具类,实现一些配置。(9)类Controller主要功能:该文件是系统的控制器,控制蛇、食物、障碍物。(10)类GamePanel主要功能:该文件为游戏的显示界面设置。4.3.2 类的对应关系各个主要的类之间的对应关系如图4-2所示:图4-2 主要

42、类之间的关系4.3.3 通过事件监听建立联系因为贪食蛇并不可能直接来操作显示面板页面(即GamePanel类的实现),所以定义了一个监视器SnakeListener类来给它。 通过事件监听建立起的联系如图4-3所示:图4-3 通过事件监听建立联系4.3.4 主要类的说明(1)主类MainFrame主类含有main()方法,是本贪食蛇游戏系统的入口,从此开始运行本贪食蛇游戏系统。源代码:MainFrame.java。(2)类MainFrame成员变量:optionPanel、gamePanel、snake、food、controller、ground、infoLabel主要方法:gameOver

43、()、gameContinue()、gamePause()、gameStart()源代码:MainFrame.java。(3)类Snake成员变量:body、head、tail、live、pause、speed、listener、UP、DOWN、LEFT、RIGHT主要方法:eatFood()、changeDirection(int)、move()、setBodyColor()、begin()、setHeadColor()源代码:Snake.java。(4)类Food成员变量:color、random源代码:Food.java。(5)类Controller该类包含控制器,控制障碍物Ground

44、类,蛇Snake类,食物Food类,负责游戏的逻辑处理按键事件,根据按键的不同,发出不同的指令:SPACE键或回车键:暂停/继续游戏UP键:改变蛇的移动方向为向上LEFT键:改变蛇的移动方向为向左DOWN键:改变蛇的移动方向为向下RIGHT键:改变蛇的移动方向为向右PgUp/PgDn键:加速/减速蛇的移动速度源代码:Controller.java。(6)类Ground该类为整个贪食蛇游戏系统的地图,即障碍物。主要方法: Ground()、isSnakeEatRock()、setRockColor()、drawMe()源代码:Ground.java。(7)类GameListener此类为游戏的监

45、听类,实现本贪食蛇游戏系统的监听功能。源代码:GameListener.java。(8)类SnakeListener此类为蛇的监听类,实现本贪食蛇游戏系统蛇运动的监听。主要方法: snakeMoved()、snakeEatFood()源代码:SnakeListener.java。(9)类Global此类为整个贪食蛇游戏系统的工具类,存放了一些常量:比如蛇的初始长度和初始速度、格子的宽度、格子的高度等等。源代码:Global.java。(10)类GameOptionPanel此类为本贪食蛇游戏系统的选项面板类,实现了本贪食蛇游戏系统中的控制面板界面。源代码:GameOptionPanel.jav

46、a。(11)类GamePanel此类为本贪食蛇游戏系统的显示界面设置类。主要方法: setBackgroundColor()源代码:GamePanel.java。4.4 系统实现4.4.1 障碍物、食物、蛇的表示我们现在假设用一个大的表格来表示显示区域,这个大表格由一个个小格子组成,这些格子就是最基础的组合道具,一个格子可以代表一个食物,也可以代表一个障碍物,而蛇我们是用几个连在一起的小格子来表示,用坐标来区分这些格子。存储这些坐标则是用一个集合来存储,并且要求能够区分出蛇头和蛇尾。4.4.2 蛇的移动蛇向前移动一步,可以看作是蛇头前面增加了一个格子,蛇的尾巴上少了一个格子(即对蛇进行加头、去

47、尾操作)。4.4.3 存储蛇身的数据结构存储蛇身的数据结构一定得是有顺序的,否则我们就区分不了蛇尾和蛇头了。而且因为要频繁的调用代表蛇头的第一个格子和代表蛇尾的最后一个格子,因此我们在此用LinkedList最合适。因为它有getFirst()方法,getLast()方法和removeLast()方法,可以实现有序和访问的需求。4.4.4 蛇的移动方向那么贪食蛇的移动怎么实现呢,这是由方向向量来控制的。根据原蛇头的向量坐标来确定新产生的蛇头的向量坐标,用int型常量就可以表示方向向量,并且也可以用它来表示贪食蛇的移动方向。比如向上移动就是y+1。在Snake类中添加如下代码:public static final int UP=1;上public static final int LEFT=2;左public static final int DOW

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1