您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > java贪吃蛇游戏的设计论文
大连交通大学计算机工程实践摘要近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。JBuilder是Borland公司用于快速开发Java应用的一款优秀的集成开发环境,它以其友好的开发界面、强大的组件支持等优点,得到广大程序员的接受和认可。“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术和JBuilder开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。本文在介绍Java相关技术和国内外发展现状的基础上,对“贪吃蛇”游戏的整个生命周期的各个开发阶段进行了详细地介绍。首先,分析了开发本游戏软件的可行性,重点分析本设计所采用的技术的可行性。其次,从游戏主界面等几方面,分析了本游戏的功能需求;从可使用性和安全性方面分析了属性需求。然后,进行了游戏的概要设计和详细设计,这也是本文的重点。概要设计给出二个功能模块的主框架以及六个类模块的函数调用关系;详细设计介绍了Java2标准运行环境的配置,重点给出各个类模块的程序流程图以及UML图,列表介绍了各个类包含的变量、使用的方法,展示了游戏的界面。为了保证程序代码的正确性和功能实现的可靠性,本文还介绍了游戏软件的程序调试过程和功能测试结果。大连交通大学计算机工程实践目录第一章系统开发环境........................................................11.1开发工具..........................................................11.2应用环境..........................................................1第二章系统需求分析........................................................22.1需求分析..........................................................22.2可行性分析........................................................2第三章系统概要设计........................................................33.1设计目标..........................................................33.2系统功能模块......................................................3第四章系统详细设计........................................................54.1程序设计..........................................................54.2各功能界面截图....................................................8第五章系统测试...........................................................145.1测试的意义.......................................................145.2测试过程.........................................................145.3测试结果.........................................................14参考文献.................................................................15大连交通大学计算机工程实践1第一章系统开发环境1.1开发工具SunMicrosystems公司在推出Java语言的同时,推出了一套开发工具JDK。Sun提供的基于字符模式的Java开发工具包JDK:Java开发工具(JDK)是许多Java专家最初使用的开发环境。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。Java源程序编写借助于记事本,Editpuls,UltraEdit等第三方编辑工具。所有的Java文件编辑、编译、调试、解释运行都是通过使用字符命令来执行操作。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心JavaAPI是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。JDK里面是java类库和java的语言规范,它提供的是无论你用何种开发软件写java程序都必须用到的类库和java语言规范.没有jdk,你的java程序根本就不能用。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(JavaVirtualMachine)运行效率要比SunJDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。但不管怎么说,我们还是需要先把SunJDK掌握好。1.2应用环境(1).操作系统:Solaris、WindowsNT、Windows95等(2).应用软件:jdk1.5大连交通大学计算机工程实践2第二章系统需求分析2.1需求分析本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求:(1)利用方向键来改变蛇的运行方向。(2)空格键暂停或继续游戏,并在随机的地方产生食物。(3)吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。2.2可行性分析贪吃蛇游戏是一种简单的大众的游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,做一个简单的贪吃蛇小游戏。贪吃蛇的核心算法时如何实现移动和吃掉食物,没有碰到食物的时候,把当前运动方向上的下个节点入队,并以蛇节点的颜色绘制这个节点,然后把头指针所指的节点出队,并以游戏框架内部背景色重绘出队的节点,这样就可以达到移动的效果。而在吃到食物的时候,则只需把食物入队即可。实现贪吃蛇的基本的蛇身移动、吃到食物身体增长、和碰到墙壁或自身死亡,能够暂停和开始。本次设计我将主要运用java语言来完成。Java语言是一种跨平台,适合于分布式计算环境的面向对象编程语言,用Java写的应用程序不用修改就可在不同的软硬件平台上运行。由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。大连交通大学计算机工程实践3第三章系统概要设计3.1设计目标本软件是针对贪吃蛇小游戏的JAVA程序,利用方向键来改变蛇的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。3.2系统功能模块本系统共包括1个java源文件和7个类文件。1.类之间的关系如图1所示。图1类之间的关系SnakeGameSnakeFrameSnakeNodeSnakePanelStatusRunnableSnakeRunnable大连交通大学计算机工程实践42.java源文件及其功能如表所示。表1java源文件及其功能序号文件名主要功能1SnakeGame该文件为程序入口,含有main方法。2SnakeFrame实现菜单控制运行等总体要求,实现方向键控制蛇的方向,空格键控制游戏暂停或继续,还有分数等。3Snake该文件实现蛇的结构和具体运动,如判断食物是否和怎样被吃掉及判断后的动作。4Node该文件实现组成蛇身的单位-食物。5SnakePanel该文件实现画板功能,用红蓝间隔画蛇身。6StatusRunnable该文件为记录状态的线程。7SnakeRunnable该文件为蛇运动以及记录分数的线程。大连交通大学计算机工程实践5第四章系统详细设计4.1程序设计1.主类SnakeGame(1)主类为此程序的入口,定义了SnakeFrame的对象frame,开始运行此程序。(2)源代码见文件SnakeGame.Java2.类SnakeFrame(1)成员变量见表2表2主要成员变量成员变量描述变量类型名称状态标签PrivateJLabelstatusLabel分数标签PrivateJLabelscoreLabel蛇面板privateJPanelsnakePanel速度标签privateJLabelspeedLabel蛇类对象privateSnakesnake菜单条privateJMenuBarbar游戏菜单JMenugameMenu帮助菜单JMenuhelpMenu速度菜单JMenuspeedMenu新菜单项JMenuItemnewItem暂停菜单项JMenuItempauseItem关于菜单项JMenuItemaboutItem慢菜单项JMenuItemslowItem中间菜单项JMenuItemmidItem快菜单项JMenuItemfastItem开始菜单项JMenuItembeginItem帮助菜单项JMenuItemhelpItem大连交通大学计算机工程实践6(2)方法见表3表3主要方法方法名功能SnakePanel()创建蛇的面板addKeyListener监视器setBounds()设置尺寸JLabel()设置标签JMenu()创建菜单JMenuItem构造菜单项3.类Snake(1)成员变量见表4表4主要成员变量成员变量描述变量类型名称是否运动booleanisRun蛇体ArrayListNodebody食物Nodefood方向intderection分数intscore状态intstatus速度intspeed慢publicstaticfinalintSLOW中publicstaticfinalintMID快publicstaticfinalintFAST运动中publicstaticfinalintRUNNING已暂停publicstaticfinalintPAUSED游戏结束publicstaticfinalintGAMEOVER左publicstaticfinalintLEFT大连交通大学计算机工程实践7上publicstaticfinalintUP右publicstaticfinalintRIGHT下publicstaticfinalintDOWN(2)方法见表5表5主要方法方法名功能isEaten()判断食物是否被蛇吃掉,如果食物在蛇运行方向的正前方,并且与蛇头接触,则被吃掉isCollsion()判断是否碰撞makeFood()在随机的地方产生食物changeDerection(intnewDer)改变运行方向move()蛇在运行中所采取的措施4.类Node(1)成员变量见表6表6主要成员变量成员变量描述变量类型名称食物块宽publicstaticfinalintW食物块高publicstaticfinalintH横坐标intx
本文标题:java贪吃蛇游戏的设计论文
链接地址:https://www.777doc.com/doc-2879118 .html