您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Java课程设计贪吃蛇
湖南商学院课程设计课程名称信息系统开发语言(二)题目贪吃蛇游戏设计系部计算机与信息工程学院专业信息管理与信息系统班级1402班学号140940071学生姓名刘家成任课教师胡德发2016年6月15日引言Java是一种简单的,面向对象的,分布式的,说明型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的语言之一,Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性。目前,很多新的技术领域都涉及Java语言,国内外许多大学已将Java语言列入了本科教学计划,掌握Java已经成为共识。本次课程设计就是利用Java语言来编写简单的猜数大小游戏,下面给出了该设计的理论分析和具体步骤。一、选题的目的与意义“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的,并且可以灵活的使用MyEclipse应用程序。同时更加深入的了解字符界面的编程过程。使我更熟练地掌握Java程序框架的搭建和类的创建格式。在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图。这些工作,更能锻炼我的逻辑思维,更能培养我思考的全面性。让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。对自己在这个学期学习Java语言的收获进行一个评估,发现自己的缺陷,完善自己所学会的知识,让自己掌握数据结构的应用技巧和Java的实际操作,并能解决现实问题,最终达到提高分析问题、解决问题和实践应用能力。二、环境需求需求名称详细要求开发软件Jdk1.8MyEclipse运行平台Win8三、需求分析1.前期分析玩家通过键盘控制蛇在游戏区运动。当蛇头碰到软件提供的食物时,得分并且蛇身增加一个单位。当蛇头碰到蛇身或者墙壁时,游戏结束。2.要求实现以下功能(1)游戏功能:玩家可以在游戏区域控制贪吃蛇吃食物。(2)状态提示功能:使玩家能够在游戏过程中随时了解得分情况。(3)游戏控制:玩家可以通过游戏可控制功能选择开始新一局、暂停或者退出游戏。(4)级别设置:玩家可以根据自己的需要自行设定游戏开始的级别3.开发环境分析硬件要求能运行Windows8操作系统的微机系统。Java程序设计语言及相应的集成开发环境,JDK和MyEclipse开发工具。JDK简介:JDK是Java语言的软件开发工具包。JDK包含JRE,JDK是开发人员必装软件,JRE是客户端运行时必装软件。MyEclipse简介:MyEclipse,是在eclipse基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、JavaEE以及移动应用的开发。MyEclipse,是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse,附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。MyEclipse的设计思想是:一切皆为插件。它自身的核心是非常小的,其它所有的功能都以插件的形式附加到该核心上。四、类的设计1.类的定义类是把具有相同属性的事物划分为一类,从而得出抽象的概念。在面向对象程序设计中,类是一个独立的程序单位,是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了抽象描述。类的概念使我们能对属于该类的全部对象进行统一的描述。在定义对象之前应先定义类。2类的分类:从用户的角度看,Java源程序中的类分为两种:系统定义的类:即Java类库,它是系统定义好的类。Java语言由语法规则和类库两部分组成,语法规则确定Java程序的书写规范;类库则提供了Java程序与运行它的系统软件(Java虚拟机)之间的接口。用户自定义类:系统定义的类虽然实现了许多常见的功能,但是用户程序仍然需要针对特定问题的特定逻辑来定义自己的类。进行Java程序设计,实际上就是定义类的过程。一个Java源程序文件往往是由许多个类组成的。五、系统的概要设计5.1设计目标本软件是针对贪吃蛇小游戏的JAVA程序,利用方向键改变蛇的运行方向,空格键、P键暂停或者继续游戏,并在随机的地方产食物,吃到食物就变成新的蛇体,碰到墙壁或者自身则游戏结束,否则正常运行。开始创建游戏区游戏开局提示游戏结束创建贪吃蛇蛇身运动结束是否碰到蛇身/墙随机显示食物否是加上蛇身否是否吃到食物是5.2系统功能模块本系统共包括1个JAVA源文件的7个类文件(1)类之间的关系如图所示。snakegamesnakegramesnakerunnablesnakepanelnodestatusrunnablesnake(2)JAVA源文件及其功能如表1所示表1序号文件名主要功能1Snakegame该文件为程序入口,含有main方法2snakeframe实现菜单控制运行等总体要求,实现方向键盘等控制游戏以及分数3snake该文件实现蛇的结构和具体运动4node该文件实现组成蛇的单位-食物5statusrunnable该文件为记录状态的线程6snakerunnable该文件为蛇运动以及记录分数线的线程六、系统的详细设计6.1程序设计1、主类SnakeGame(1)主类为此程序的入口,定义了SnakeGame的对象frame,开始运行此程序。(2)源代码见文件2、类SnakeFrame(1)成员变量见表2表2成员变量描述变量类型名称蛇面板PrivateJPanelsnakepanel速度标签PrivateJLabelspeedlabel蛇类对象PrivateSnakesnake菜单条PrivateJMenubarbar暂停菜单项JMenultempauseltem开始菜单项JMenultembeginltem(3)方法见表3表3方法名功能Snakepanel()创建蛇的面板addkeyListener监视器setBounds()设置尺寸JMenu()创建菜单3、类snake(1)成员变量见表4表4成员变量描述变量类型名称是否运动BooleanisRun蛇体ArrayListNodeBody食物NodeFood方向IntDerection分数Intsoore已暂停PublicstaticfinalintPAUSED游戏结束PublicstaticfinalintGAMEOVER(2)方法见表5表5方法名功能isEaten()判断食物是否被蛇吃掉,如果食物在蛇运行方向的正前方,并与蛇头接触,则被吃掉isCollsion判断是否链接makeFood()在随机的地方产生食物changeDerrection(intnewDer)改变运行方向Move()设在运行中所采取的措施4、类Node(1)成员表量见表6表6成员变量描述变量类型名称食物块宽PublicstaticfinalintW食物块高PublicstaticfinalintH横坐标intX纵坐标intY七、功能的实现1观察者见图2得分以及暂停重新开始功能见图3蛇体运行见图4坐标的实现见图5运行按键见图6食物的产生以及蛇体的增长见图7得分情况见图八、运行1游戏开始2游戏得分3按空格键或者P键暂停游戏4按回车、R、S键重新开始九、系统测试9.1测试意义系统测试是为了发现错误儿执行程序的过程,成功的测试是发现了至今尚未发现的错误测试。测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据就发个阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些示例来运行程序,以便发现错误,系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析设计和实施的最后复查。根据测试的开概念和目的,在进行信息系统测试应遵循以基本原则。Java语言提供了异常(Exception)处理机制帮助程序员发现并处理异常。所谓异常就是在程序执行过程中能干扰程序正常流程的事件。导致异常的原因很多,比如文件找不到、数组越界、除以零等。当异常出现时,一个异常对象将被自动生成并传递给Java“运行时环境”(runtimesystem),说得专业一点,就是抛出一个异常。异常对象包含了异常类型、程序运行状态等信息。“运行时环境”得到异常对象后便打断程序的正常流程,自动寻找一个专门处理该异常的代码块来解决问题。这样的代码块称作异常句柄(ExceptionHandler)。你可以在异常句柄中尝试修复错误、重试或报错,或者实在无法进行下去的时候来个自我了断。如果“运行时环境”找不到异常句柄,Java程序便会自行中断。使用异常机制的诸多好处使得程序更健壮,界面更友善。把程序的业务逻辑与错误处理分开,代码更合理,更美观。异常可以分层次处理,使得代码更简洁。同类的异常可以归到一类一起处理,处理更方便。十、测试结果测试成功!运行成功!没有错误!十一、反思与体会由于我没有项目经验,时间的紧迫以及自己能力有限,编写的贪吃蛇游戏还是相对简单,本程序功能还有所不足,少了个游戏说明、成绩判定和宝箱功能模块。通过对贪吃蛇游戏的开发研究,我把所学的知识综合运用到开发过程中,同时在网上查找有关信息,使我获得了许多在课本中学不到的知识。本课程设计是培养我们运用所学知识提出、分析和解决实际问题,做一个简单的小游戏,提高我用计算机Java语言编程来解决实际问题。的确,从理解课程设计要求到完成整个编程,从理论到实践,通过本程序的设计,可以巩固以前所学的知识,在做程序设计的过程中,我注意到当程序出现问题时,要学会去调试,调试的过程就是让你把不懂得地方弄的透彻明白。这次课程设计不仅让我懂得了写程序不能闭门造车,要努力扩宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资料。我相信在以后通过自己不断的努力我会在编程这条路上越走越远。湖南商学院课程设计评审表姓名刘家成专业班级信管1402题目:贪吃蛇游戏设计评审意见评审项目成绩立题或选题(10%)A:优秀B:良好C:中等D:及格E:不及格获取信息能力(10%)A:优秀B:良好C:中等D:及格E:不及格方案的新颖性(10%)A:优秀B:良好C:中等D:及格E:不及格方案的综合性(20%)A:优秀B:良好C:中等D:及格E:不及格方案的内容(40%)A:优秀B:良好C:中等D:及格E:不及格文档的格式(10%)A:优秀B:良好C:中等D:及格E:不及格总评100%成绩指导教师签名评审时间:2016年月日
本文标题:Java课程设计贪吃蛇
链接地址:https://www.777doc.com/doc-1904260 .html