JAVA版贪吃蛇游戏--毕业设计.doc
《JAVA版贪吃蛇游戏--毕业设计.doc》由会员分享,可在线阅读,更多相关《JAVA版贪吃蛇游戏--毕业设计.doc(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 毕业设计(论文) 题目:JAVA版贪吃蛇游戏学 生 姓 名 学 号 201022030219 班 级 计算机102202H 所属院(系) 计算机科学与技术 指 导 教 师 2014 年 5 月 20 日JAVA版贪吃蛇游戏 摘 要Java作为一种热门的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。MyEclipse是Borland公司用于快速开发Java应用的一款优秀的集成开发环境,它以其友好的开发界面、强大的组件支持等优点,得到广大程序员的接受和认可。“贪吃蛇”游戏是一个经典的游戏,它因
2、操作简单、娱乐性强而广受欢迎。本文基于Java技术和MyEclipse 6.0开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。本游戏开发采用的技术和方法,对目前游戏类软件开发有一定的指导意义。关键词:Java,贪吃蛇,游戏设计Using Java technology to achieve the Snake gameAbstract Java is a hot programming language,with its simplicit
3、y, portability and platform independence and other advantages, has been widely used, especially the Java and the world wide web is the perfect combination, make its become network programming and the field of embedded programming preferred programming language. MyEclipse Borland is the company for t
4、he rapid development of Java applications an excellent integrated development environment, with its friendly interface, powerful component support and other advantages, by the majority ofprogrammers acceptance and recognition. Snake game is a classic game, because it has the advantages of simple ope
5、ration, strong entertainment and popular. In this paper, based on the Java technology and MyEclipse 6 development environment, development of a simple, beautiful interface, complete function of the snake game. The game is divided into two function module, six modules, realization of the game start,
6、pause, end. Through the games development, achieve the study of Java technology and familiar with software development process purpose. The game development using the technology and method, the game software development has certain guiding significance. Key words: Java ,Snake,design II目 录摘 要I关键词IAbs
7、tractKey words第1章、前言11.1 开发工具11.2 方案论证21.2.1 VB的优点21.2.2 C+的优点21.2.3 Java的优点31.3 需求分析41.4 可行性分析41.5 应用环境5第2章、本论62.1 设计运用技术简介62.1.1 Oop(面相对象编程技术)62.1.2 Swing 技术72.1.3 swt技术82.1.4 Applet技术82.2设计方案论证92.2.1设计思路92.2.2程序概述92.2.3程序流程图102.2.4总设计模块的划分112.2.5类、方法、属性说明122.3程序设计132.3.1 界面设计132.3.2 蛇体设计142.3.3 设
8、置菜单及相关按钮的实现142.3.4 按键监听功能实现152.3.5 游戏速度设置162.3.6 判定贪吃蛇游戏是否结束162.3.7各功能界面截图及操作说明182.3.8 游戏操作界面21第3章、结论263.1测试的目的263.2软件测试263.2.1 测试的基本概念263.2.2 测试的基本步骤273.3 本程序测试28参 考 文 献29致谢30附录31附录:31附录:40IV第1章、前言1.1 开发工具 Sun Microsystems公司在推出Java语言的同时,推出了一套开发工具JDK。Sun提供的基于字符模式的Java开发工具包JDK:Java开发工具(JDK)是许多Java专家最
9、初使用的开发环境。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。 Java源程序编写借助于记事本,Editpuls,UltraEdit等第三方编辑工具。 所有的Java文件编辑、编译、调试、解释运行都是通过使用字符命令来执行操作。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心JavaAPI是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。JDK 是整个Java的核心,包括了Java运行环境(Java RuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java
10、应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。JDK里面是Java类库和Java的语言规范,它提供的是无论你用何种开发软件写Java程序都必须用到的类库和Java语言规范.没有jdk,你的Java程序根本就不能用。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比SunJDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运
11、行效率也要比SunJDK好很多。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swin
12、g窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。已有的分离的插件已经能够支持C/C+(CDT)、PHP、Perl、Ruby,Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。1.2 方案论证学校现已开设的课程有C语言、C+,Java,大四外出培训学习了Java,通过网
13、上以及书籍资料,知道可以通过C,C+,VB,Delphi,Java实现俄罗斯方块游戏的设计。下面简单介绍下VB、C+、Java各自的优点:1.2.1 VB的优点全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。在中国乃至全世界都能看到它的身影,它曾是在中国最为流行的编程工具,到现在还占 据着非常重要的地位,对于它的好坏大家都有一定的了解,VB作为一种较早出现的开发程序以其容易学习,开发效率较高,具有完善的帮助系统等优点曾影响了好 几代编程人员,但是由于VB不具备跨平台这个特性,从而也决定了VB在未来的软件开发中将会逐渐地退出其历史舞台;它对组件技术的支持是基
14、于COM和 ActiveX,对于组件技术不断完善发展的今天,它也显出了它的落后性;同时VB在进行系统底层开发的时候也是相对复杂的,调用API函数需声明,调用 不方便,不能进行DDK编程,不可能深入Ring0编程,不能嵌套汇编;而且面向对象的特性差;网络功能和数据库功能也没有非常突出的表现,综上所 述,VB作为一种可视化的开发工具由于其本身的局限性,导致了它在未来软件开发中逐步被其他工具所代替。1.2.2 C+的优点C+是对C语言的扩充,扩充的绝大部分来自著名语言中的最佳特性:从SIMULA 67中吸取了类,从ALGOL 68中吸取了运算符一名多用、引用和在分程序中任何地方说明变量,综合了Ada
15、的类属和Clu的模块特点,从BCPL中吸取异常处理,从BCPL中吸取了用/表示注释。C+保持了C的紧凑、灵活、高效和易移植强的优点,它对数据抽象的支持主要在于类概念和机制,对面向对象风范的支持主要通过虚拟函数。C+既有数据抽象和面向对象能力,语言运行性能高多,加上C语言的普及,而从C至C+的过渡较为平滑,以及C+与C的兼容程度可使数据巨大的C程序能方便地在C+环境中重用。尽管C+当初的设计本意是帮助管理大型程序,但其用途并不仅限于此。C+的面向对象的特性可有效地用于实际的程序设计工作。C+常常用于设计编辑器、数据库、个人文件系统以及通讯程序等。而且,由于C+共享C的效率,所以用C+可以构成很多
16、高性能的系统软件。1.2.3 Java的优点(1)安全性 Java是一种安全的网络编程语言,不支持指针类型,一切对内存的访问都必须通过对象的实例来实现。这样能够防止他人使用欺骗手段访问对象的私有成员,也能够避免在指针操作中易产生的错误。此外,Java的安全性体现在多个层次上:在编译层,有语法检查;在解释层,有字节码校验器,可进行代码段格式测试和规则检查、访问权限和类型转换合法性检查、操作数堆栈的上溢和下溢检测、代码参数类型合法性检查等;在平台层上,通过配置策略,可设定访问资源域,无须区分本地或远程。(2)可移植性 Java具备有很好的移植性,这主要得益于它与平台无关的特性。同时,Java的类库
17、中也实现了与平台无关的接口,这使得这些类库也能移植。同时,Java编译器主要是由Java本身来实现的,Java的运行系统(解释器)由标准C语言实现,因而整个Java系统都具有可移植性。 (3)多线程机制 Java具有多线程机制,这使得应用程序能够并行地执行。它的同步机制也保证了对共享数据的共享操作,而且线程具有优先级的机制,有助于分别使用不同线程完成特定行为,也提高了交互的实时响应能力。Java的多线程技术使网上实时交互实现很容易,从而为解决网上大数量的客户访问提供了技术基础。(4) 跨平台 通常,在Windows下编写的程序是不能直接拿到UNIX上运行的,因为程序的执行最终必须转换成为计算机
18、硬件的机器指令来执行,专门为某种计算机硬件和操作系统编写的程序是不能够直接放到其他类型的计算机硬件上执行的,至少要做移植工作。要想让程序能够在不同的计算机上运行,就要求程序设计语言能够跨越各种软件和硬件平台,而Java恰恰满足了这一需求。Java编译器能够产生一种与计算机体系结构无关的字节指令,只要安装了Java虚拟机,Java就可以在相应的处理机上执行。1.3 需求分析 本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求:(1) 利用方向键来改变蛇的运行方向。 (2) 有相关按键或选项可以实现游戏的重新开始和暂停、继续,并在随机的地方产生食物。 (3)
19、吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。1.4 可行性分析 贪吃蛇游戏是一种简单的大众的游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,做一个简单的贪吃蛇小游戏。锻炼自己编写代码的能力。 贪吃蛇的核心算法时如何实现移动和吃掉食物,没有碰到食物的时候,把当前运动方向上的下个节点入队,并以蛇节点的颜色绘制这个节点,然后把头指针所指的节点出队,并以游戏框架内部背景色重绘出队的节点,这样就可以达到移动的效果。而在吃到食物的时候,则只需把食物入队即可。实现贪吃蛇的基本的蛇身移动、吃到食物身体增长、和碰到墙壁或自身死亡,能够暂停和开始。本次设计我将主要运用Java语言来完成。Jav
20、a语言是一种跨平台,适合于分布式计算环境的面向对象编程语言,用Java写的应用程序不用修改就可在不同的软硬件平台上运行。由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。1.5 应用环境(1)操作系统:ubuntu、Windows XP 、Windows7等。(2). 应用软件:jdk1.7 第2章、本论2.1 设计运用技术简介2.1.1 Oop(面相对象编程技术)面向对象的语言中一部分是新发明的语言,如Smalltalk、Java,这些语言本身往往吸
21、取了其他语言的精华,而又尽量剔除他们的不足,因此面向对象的特征特别明显,充满了蓬勃的生机;另外一些则是对现有的语言进行改造,增加面向对象的特征演化而来的。如由Pascal发展而来的Object Pascal,由C发展而来的Objective-C,C+ ,由Ada发展而来的Ada 95等,这些语言保留着对原有语言的兼容,并不是纯粹的面向对象语言,但由于其前身往往是有一定影响的语言,因此这些语言依然宝刀不老,在程序设计语言中占有十分重要的地位面向对象主要特征:封装性:封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模
22、块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。继承性:继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继承其它类的全部描述,同时可修改和扩充。继承具有传递性。继承分为单继承(一个子类只有一父类)和多重继承(一个类有多个父类)。类的对象是各自封闭的,如果没继承性机制,则类对象中数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且还促进系统的可扩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 贪吃 游戏 毕业设计
限制150内