欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    Java版贪吃蛇毕业论文完整版(附带源码地址).doc

    • 资源ID:968544       资源大小:465.50KB        全文页数:22页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java版贪吃蛇毕业论文完整版(附带源码地址).doc

    1、摘 要近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。eclipse是IBM公司用于快速开发Java应用的一款优秀的集成开发环境,它以其友好的开发界面、强大的组件支持以及开源等优点,得到广大程序员的接受和认可。“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术和eclipse开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,八个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,

    2、达到学习Java技术和熟悉软件开发流程的目的。本文在介绍Java相关技术和国内外发展现状的基础上,对“贪吃蛇”游戏的整个生命周期的各个开发阶段进行了详细地介绍。首先,分析了开发本游戏软件的可行性,重点分析本设计所采用的技术的可行性。其次,从游戏主界面等几方面,分析了本游戏的功能需求;从可使用性和安全性方面分析了属性需求。然后,进行了游戏的概要设计和详细设计,这也是本文的重点。概要设计给出二个功能模块的主框架以及八个类模块的函数调用关系;详细设计介绍了Java2标准运行环境的配置,重点给出各个类模块的程序列表,介绍了各个类包含的变量、使用的方法,展示了游戏的界面。为了保证程序代码的正确性和功能实

    3、现的可靠性,本文还介绍了游戏软件的程序调试过程和功能测试结果。关键词:Java;eclipse;贪吃蛇;开发流程Snake game design and developmentAbstractIn recent years, Java, as a new programming language, with its simplicity, portability and platform independence and other advantages, had been used widely, especially Java and the perfect combination of

    4、 the world wide web, to make it a network programming and embedded programming field preferred programming language. Eclipse is IBM used for fast development Java application of a good integrated development environment, with its friendly development interface, powerful components support and open s

    5、ource etc, and receive the accepted and approved by the programmer.Snake game is a classic game, it was simple operation, strong and popular entertainment. This paper, based on the Java technology and eclipse development environment, develop a simple operation, interface aesthetics, the function is

    6、more complete snake game. The whole game program is divided into two function module, eight class module, realize the games to begin, pause, over. Through the development of the game, to learn Java technology and familiar with the purpose of the software development process.Based on the introduction

    7、 of Java related technology and the domestic and foreign development present situation, on the basis of snake game of the whole life cycle of each development phases are introduced in detail. First of all, analyzes the feasibility of this game software development, this paper analyzes the design of

    8、the feasibility of the technology. Second, from the game in such aspects as the interface, and analyzes the function requirements of this game; Can use sex and safety from analyzes the attribute demand. Then, the summary of game design and detailed design, this also is the focus of this paper. Gener

    9、al design gives two function modules main frame and eight class module function call relationship; The detailed design Java2 standard operation environment is introduced the configuration, each module of the key given a list of programs, in each kind of variable contains, and use of the method, show

    10、 the game interface. In order to guarantee the correctness of the program code and function of the realization of the reliability, this paper also introduces the game software program debugging process and function test results.Key Words:Java;Eclipse;Snake;Development processword文档 可自由复制编辑目 录摘要IAbst

    11、ractII引 言1第一章 系统开发环境21.1 开发工具21.2 应用环境2第二章 系统需求分析22.1 需求分析22.2 可行性分析3第三章 系统概要设计33.1 设计目标33.2 系统功能模块33.3 系统数据结构设计43.3.1 蛇、石头、食物的表示43.3.2 蛇的移动53.3.3 存储蛇身的数据结构53.3.4 蛇的移动方向53.3.5 如何显示蛇身63.3.6 蛇身的移动方向63.3.7 吃到食物判定6第四章 系统详细设计64.1 程序设计64.1.1 主类MainFrame64.1.2 类MainFrame74.1.3 类Snake74.1.4 类Food84.1.5 类Con

    12、troller84.1.6 类Ground94.1.7 类GameListener94.1.8 类SnakeListener94.1.9 类Globel94.1.10 类 GameOptionPanel94.2 各功能界面截图94.2.1 贪吃蛇游戏的基本运行界面94.2.2 程序开始运行界面11第五章 系统测试155.1 测试的意义155.2 测试过程165.3 测试结果16参考文献16结 论17致 谢17引 言本文档为“编程实习贪吃蛇游戏”的全程设计说明书。包括需求分析、概要设计、详细设计等方面。 本文档的预期读者为: (1)评审小组老师 (2)项目开发小组人员 (3)与本项目相关的其他人

    13、员等 贪吃蛇是世界知名的益智类小游戏,选择这个题目一方面的原因是为了将我们自己的所学知识加以运用;另一方面,虽然很小就接触这个游戏,但是它的制作方法对我们而言还是很神秘的。我们希望通过自己的所学知识把它剖析开来,通过自己的动手实践,真正的了解它的本质和精髓。 希望通过这次实践,我们能从中提高自己的编程能力。并从中学会从零开始分析设计程序。 本游戏的开发语言为Java。开发工具选用Eclipse。 Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。这里采用Java作为开发语言主要是基于Java的面向对象和可移植性。 Eclipse

    14、 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 类是 面向对象程序设计语言中的一个概念。 类(Class)实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。 类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。实际上

    15、它本身并不是对象,因为它不存在于内存中。当引用类的代码运行时,类的一个新的实例,即对象,就在内存中创建了。虽然只有一个类,但能从这个类在内存中创建多个相同类型的对象。第一章 系统开发环境1.1 开发工具 Sun Microsystems公司在推出Java语言的同时,推出了一套开发工具JDK。Sun提供的基于字符模式的Java开发工具包JDK: Java开发工具(JDK)是许多Java专家最初使用的开发环境。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。 Java源程序编写借助于记事本,Editpuls,UltraEdit等第三方编辑工具。 所有的Jav

    16、a文件编辑、编译、调试、解释运行都是通过使用字符命令来执行操作。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心JavaAPI是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。JDK 是整个Java的核心,包括了Java运行环境(Java RuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。 JDK里面是java类库和java的语言规范,它提供的是无论你用何种开发软件写java程序都必须用到的类库和java语言规范.

    17、没有jdk,你的java程序根本就不能用。 最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比SunJDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。1.2 应用环境(1) 操作系统: Windows 7等。(2) 应用软件:jdk1.6,eclipse。第二章 系统需

    18、求分析2.1 需求分析本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求:(1) 利用方向键来改变蛇的运行方向。 (2) 空格键暂停或继续游戏,并在随机的地方产生食物。 (3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。2.2 可行性分析贪吃蛇游戏是一种简单的大众的游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,做一个简单的贪吃蛇小游戏。 贪吃蛇的核心算法时如何实现移动和吃掉食物,没有碰到食物的时候,把当前运动方向上的下个节点入队,并以蛇节点的颜色绘制这个节点,然后把头指针所指的节点出队,并以游戏框架内部背景色重绘出队的节点,这样就可

    19、以达到移动的效果。而在吃到食物的时候,则只需把食物入队即可。实现贪吃蛇的基本的蛇身移动、吃到食物身体增长、和碰到墙壁或自身死亡,能够暂停和开始。本次设计我将主要运用java语言来完成。Java语言是一种跨平台,适合于分布式计算环境的面向对象编程语言,用Java写的应用程序不用修改就可在不同的软硬件平台上运行。 由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。第三章 系统概要设计3.1 设计目标本软件是针对贪吃蛇小游戏的Java程序,利用方向键来改变蛇

    20、的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。3.2 系统功能模块本系统共包括10个类文件。java源文件及其功能如表所示。表3.1 java源文件及其功能序号文件名主要功能1MainFrame该文件为程序入口,含有main方法。2GameOptionPanel实现菜单控制运行等总体要求,实现方向键控制蛇的方向,空格键控制游戏暂停或继续,还有分数等。3SnakeListener蛇的监听器4GameListener游戏监听器5Food该文件实现组成蛇身的单位-食物。6Ground该文件实现障碍物-石头7Snake该文件实现

    21、蛇类8Global该文件为工具类,实现一些配置9Controller控制器,控制蛇、食物、石头10Globel该文件为工具类存放一些常量3.3 系统数据结构设计3.3.1 蛇、石头、食物的表示 我们可以把显示区域想象成一个大大的表格,里面的格子就是组成蛇的基本单位,一个格子可以代表一个食物,也可以代表一个石头,几块连在一起的石头就可以代表一条蛇。使用坐标来区分这些格子。 图3.1 蛇、石头、食物的表示这里我们用一个集合来存储这些坐标,并且要求能够区分出蛇头和蛇尾。 3.3.2 蛇的移动 蛇向前移动一步,可以看作是蛇头前面增加了一个节点,蛇的尾巴上少了一个节点(即去尾,加头) 3.3.3 存储蛇

    22、身的数据结构 由于要区分蛇头和蛇尾,因此这个数据结构必须是有序的。另一方面,我们需要经常的访问第一个和最后一个节点,所以LinkedList最合适。因为它有getFirst(),getLast(),和removeLast()方法。 3.3.4 蛇的移动方向 这里讨论蛇的移动方向控制。蛇下一步移动到哪里,是由方向来控制的。 这里我们用int型常量来表示蛇的移动方向。因为我们是根据原蛇头的坐标和方向来确定新蛇头的坐标。在原坐标的基础上,根据蛇头的运动方向来确定新蛇头的坐标,比如向上移动就是y-1. 图3.2 蛇的移动3.3.5 如何显示蛇身 显示蛇身,其实就是填充用颜色填充格子。 需要4个参数,像

    23、素坐标x,像素坐标y,格子宽度,格子高度。 像素坐标就是矩形左上角的坐标 3.3.6 蛇身的移动方向 (1)相反方向 和上一次移动的方向相反的方向称为相反方向,这种输入应该忽略。这样可以防止蛇从自己的身体中穿过。 (2)无效方向 在蛇的这一次移动之后和下一次移动之前这个时间间隔内输入了多个非相反方向,只有最后一个是有效方向,其他的都是无效方向。 蛇的最终运动方向以有效方向为准。 3.3.7 吃到食物判定 这里通过判定坐标是否重合来判断,只需要判断蛇头是否和食物重合就可以了,因为蛇的身体都是走蛇头走过的地方。第四章 系统详细设计4.1 程序设计4.1.1 主类MainFrame (1)主类为此程

    24、序的入口,定义了MainFrame的对象frame,开始运行此程序。 (2)源代码见文件MainFrame.Java4.1.2 类MainFrame(1)成员变量见表4.1表4.1 主要成员变量成员变量描述变量类型名称选项面板private GameOptionPaneloptionPanel游戏面板private GamePanelgamePanel速度标签private JLabelspeedLabel蛇类对象private Snakesnake石头对象private Groundground食物对象private Foodfood控制对象private Controllercontrol

    25、ler速度标签private JLabelinfoLabel (2)方法见表4.2表4.2 主要方法方法名功能gameOver()游戏结束gameStart()游戏开始gameContinue游戏继续gamePause()游戏暂停 4.1.3 类Snake (1)成员变量见表4.3表4.3 主要成员变量成员变量描述变量类型名称上下左右(方向)IntUP、DOWN、LEFT、RIGHT蛇体LinkedListbody食物Foodfood状态intstatus是否活着booleanlive是否暂停Booleanpause速度intspeed监听Set listener (2)方法见表4.4表4.4

    26、 主要方法方法名功能eatFood()判断食物是否被蛇吃掉,如果食物在蛇运行方向的正前方,并且与蛇头接触,则被吃掉isCollsion()判断是否碰撞makeFood()在随机的地方产生食物changeDerection(int)改变运行方向move()蛇在运行中所采取的措施 4.1.4 类Food (1)成员变量见表4.5表4.5 主要成员变量成员变量描述变量类型名称颜色private ColorColor随机Randomrandom (2)源代码见文件Food.java4.1.5 类Controller 该类包含控制器和处理按键逻辑,控制器,控制Ground, Snake, Food.负责

    27、游戏的逻辑.处理按键事件,实现了SnakeListener接口的snakeMoved()方法, 可以处理Snake 触发的事件,该类继承KeyAdapter类并且覆盖keyPressed()方法:处理按键事件, 根据按键不同, 发出不同的指令: UP: 改变蛇的移动方向为向上 DOWN: 改变蛇的移动方向为向下 LEFT: 改变蛇的移动方向为向左 RIGHT: 改变蛇的移动方向为向右 newGame()开始新游戏的方法4.1.6 类Ground 可以叫做地形, 或地面,和食物一样,Ground也有x,y坐标和颜色等属性.构造方法Ground()初始化地图,设置格局,可以通过setColor()

    28、方法设置石头的颜色 ,方法isSnakeEatRock判断蛇是否吃到食物,最后运用drawMe方法显示石头。4.1.7 类GameListener 此类为游戏监听类,实现游戏的监听功能。 源代码见文件GameListener.java4.1.8 类SnakeListener 此类为蛇的监听类,实现蛇运动的监听,蛇的监听器 snakeMoved(Snake snake)。源代码见文件SnakeListener.java4.1.9 类Globel 工具类.此类中存放了其他类中用到的一些常量:一个格子的所占像素CELL_SIZE*CELL_SIZE,面板的宽和高:WIDTH和HEIGHT。 源代码见

    29、文件Globel.java4.1.10 类 GameOptionPanel此类为游戏的选项面板类,实现游戏面板的控制。 源代码见文件GameOptionPanel.java4.2 各功能界面截图4.2.1 贪吃蛇游戏的基本运行界面图4.1初始界面图4.2 控制面板图4.3 速度标签4.2.2 程序开始运行界面(1)鼠标点击开始新游戏按钮,开始游戏:图4.4 开始游戏(地图1)图4.5 开始游戏(地图2)图4.6 开始游戏(地图3)有加速 有改颜色 有网格(2)按空格键,游戏开始运行,蛇开始移动,并且吃到一次食物即红色方块后就变成蛇体:图4.7 吃到食物 身体变长 (3)按方向键改变蛇的运行方向

    30、,并且碰壁后从新开始游戏,红色方块随机地方产生:图4.8 碰壁死亡 第五章 系统测试5.1 测试的意义系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。 测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行程序,以便发现错误。系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试时应遵循以基本原则。5.2 测试过程(1)拟定测试计划。在制定测试计划时,要充分考虑整个项目的开发时间和

    31、开发进童以及一些人为因素和客观条件等,使得测试计划是可行的。测试计划的内容主要有测试的内容、进度安排、测试所需的环境和条件、测试培训安排等。(2)编制测试大纲。测试大纲是测试的依据。它明确详尽地规定了在测试中针对系统的每一项功能或特性所必须完成的基本测试项目和测试完成的标准。(3)根据测试大纲设计和生成测试用例。在设计测试用例的时候,可综合利用前面介绍的测试用例和设计技术,产生测试设计说明文档,其内容主要有被测项目、输人数据、测试过程、预期输出结果等。 (4)实施测试。测试的实施阶段是由一系列的测试周期组成的。在每个测试周期中,测试人员和开发人员将依据预先编制好的测试大纲和准备好的测试用例,对

    32、被测软件或设备进行完整的测试。 (5)生成测试报告。测试完成后,要形成相应的测试报告,主要对测试进行概要说明,列出测试的结论,指出缺陷和错误,另外,给出一些建议,如可采用的修改方法,各项修改预计的工作量及修改的负责人员。 5.3 测试结果程序运行正常,没有发现什么错误。参考文献1 张思民.Java开发技术与工程实践M.清华大学出版社,2010-112 汤阳光.传智播客贪吃蛇游戏项目开发Z 3 刘彬彬,马文强.Eclipse应用开发完全手册M.人民邮电出版社,2007-94 (美)克罗夫特著.彭晖译.Java游戏高级编程M.清华大学出版社,2005-8-15 王晓东.计算机算法设计与分析(第三版

    33、)M.电子工业出版社,2009-12-16 荣钦科技.Java2游戏设计M.清华大学出版社,2004-117 (美)埃克尔著,陈昊鹏译.Java编程思想(第四版)M.机械工业出版社,20078 文杰书院.Java程序设计完全自学手册M.机械工业出版社,2010-19 李兆峰,庞永庆.Java程序设计与项目实践M.电子工业出版社,2011-6-110李钟蔚.Java开发实战宝典M.清华大学出版社,2009-12 11耿祥义,张跃平. Java2实用教程(第三版)M.清华大学出版社,200612陈昊鹏同译者作品 .Java编程思想(第4版) M.机械工业出版社,200713卜照斌同译者作品 段来盛

    34、 赖伶 等.Java 2编程详解M.电子工业出版社,200114(美)Mark Allen Weiss 冯舜玺译. 数据结构与算法分析M.机械工业出版社,2009-1-115周大庆. 实用数据结构教程M.人民邮电出版社,2007-5-1结 论毕业设计可以说是对我大学4年学习成果的考核和总结。在这几个月里我通过自己的努力以及赵悦老师的耐心指导,本着严谨求实、开拓创新的精神,完成了这次大学4年里最后的设计实践。这次设计是我第一次从理论构思到实际工程论证的设计,它使我更深刻的理解了在大学里学到的知识。让我把大学里所学的知识从头梳理和使用了一遍,巩固了我的知识,也接触到一些未曾接触过的东西,收获不浅。

    35、致 谢在本论文的写作过程中,我的导师王琴老师倾注了大量的心血,从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,在此我表示衷心感谢。同时我还要感谢在我学习期间给我极大关心和支持的各位老师以及关心我的同学和朋友。写作毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新的学习生活的开始。从论文选题到搜集资料,从写稿到反复修改,期间经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中心情是如此复杂。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感。那种感觉就宛如在一场盛大的颁奖晚会上,我在晚会现场看着其他人一个接着一个上台领奖,

    36、自己却始终未能被念到名字,经过了很长很长的时间后,终于有位嘉宾高喊我的大名,这时我忘记了先前漫长的无聊的等待时间,欣喜万分地走向舞台,然后迫不及待地开始抒发自己的心情,发表自己的感想。这篇毕业论文的就是我的舞台。 我要感谢,非常感谢我的导师王老师。她为人随和热情,治学严谨细心。在闲聊中她总是能像知心朋友一样鼓励你,在论文的写作和措辞等方面她也总会以“专业标准”严格要求你,从选题、定题开始,一直到最后论文的反复修改、润色,许老师始终认真负责地给予我深刻而细致地指导,帮助我开拓研究思路,精心点拨、热忱鼓励。正是王老师的无私帮助与热忱鼓励,我的毕业论文才能够得以顺利完成,谢谢王老师。 word文档 可自由复制编辑


    注意事项

    本文(Java版贪吃蛇毕业论文完整版(附带源码地址).doc)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922