java(J2EE)课程设计报告(9)

上传人:xmg****18 文档编号:114636423 上传时间:2019-11-12 格式:DOC 页数:13 大小:91.50KB
返回 下载 相关 举报
java(J2EE)课程设计报告(9)_第1页
第1页 / 共13页
java(J2EE)课程设计报告(9)_第2页
第2页 / 共13页
java(J2EE)课程设计报告(9)_第3页
第3页 / 共13页
java(J2EE)课程设计报告(9)_第4页
第4页 / 共13页
java(J2EE)课程设计报告(9)_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《java(J2EE)课程设计报告(9)》由会员分享,可在线阅读,更多相关《java(J2EE)课程设计报告(9)(13页珍藏版)》请在金锄头文库上搜索。

1、. . . . .烟台工程职业技术学院 系 专业 级课程设计(论文)题 目: 姓名 学号 指导教师(签名) 二一一年七 月 十四 日 Java游戏设计之贪吃蛇【摘要】“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术和JBuilder开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。前言1.1 本设计的目的和意义 贪吃蛇游戏一款非常经典的手机游戏,因为它比较简单有趣,无论老少都比较适合。贪吃蛇的设计对每一个

2、Java语言设计者进行语言提高和进阶都是一个很好的锻炼机会。 贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,如何设计和开发好这个贪吃蛇游戏,对于提高Java开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。正是因为如此,本次毕业设计的目的在于学习Java程序设计基本技术,学习用JBuilder

3、开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握JBuilder环境的使用方法,培养起初步的项目分析能力和程序设计能力。 1.2 设计的主要内容贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现开始、暂停、退出等功能。1.3设计要达到的目标 本次设计要达到的目标分别从以下模块进行阐述:l 游戏主界面模块:游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏

4、图形区域界面、游戏的速度选择更新界面、游戏分数的显示更新界面、新生方块的预览、游戏开始按钮、暂停游戏按钮、退出游戏按钮以及游戏排行榜按钮。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。l 游戏控制模块: 这个模块是游戏的中心环节,主要完成控制游戏的开始、暂停、退出等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。1.4 设计实现功能和目标本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出、等功能,分为: 游戏主界面模块、游戏控制模块以二个模块。l 性能:本软件在设计方面本着方便、实用及娱乐性高的宗旨,在对界面

5、进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。l 游戏主界面模块:主要包括游戏图形区域界面、游戏开始按钮、暂停游戏按钮、关闭按钮。游戏的主界面应该力求美观,爽心悦目。l 游戏控制模块:主要完成控制游戏的开始、暂停、退出等功能,这部分应该做到易懂、易操作而且准确率高,不易出错。1.5游戏设计环境 本次课程设计所涉及和实现的是用Java编程语言和JBuilder开发工具开发的贪吃蛇游戏。本次设计的系统环境及工具如下: 运行环境:windows xp 编程语言:Java 使用工具:JBuilder 2005 分析与设计2.1 游戏处理流程 本次游戏设计的处理流程如图1

6、所示。单击“开始游戏”按钮, 游戏开始,蛇开始随机。键盘操作: 向上左移右移向下没有吃到食物且蛇碰到边界单击“退出游戏”退出游戏游戏中途欲中断,稍后继续游戏单击“暂停游戏”游戏暂停进入游戏画面再次单击开始游戏,游戏恢复图1 游戏处理流程图2.2需求分析2.2.1 用户的特点 游戏开发成功后,最终用户为各个年龄段的人群,用户范围相当广泛。本游戏友好的用户界面,简单易学的按钮操作以及简单通俗的游戏规则,使广大的用户不需要专门进行培训,就可以立即学会如何使用。2.2.2 功能需求2.2.2.1 游戏主界面模块需求游戏界面主框架主要包括游戏图形区域界面、游戏开始按钮、游戏暂停按钮、关闭按钮。2.2.2

7、.2 游戏图形区域界面的需求游戏画布区主要应该包括游戏画布中贪吃蛇随机出现的位置,贪吃蛇重新出现的位置,事物随机出现的位置。2.2.3 属性需求在可使用性方面,要求各个功能实现简单,操作方便,系统处理正确;整个系统恢复性能好,连接速度快,以确保系统可使用性好。另外,还要求系统的可扩展性、可维护性、可移植性良好。2.3 功能模块设计软件开发过程中的功能模块设计,主要解决实现该游戏需求的程序模块设计问题。包括如何把该游戏划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及模块结构的设计等。2.3.1 游戏功能 本系统主要完成以下几方面的功能:1. 游戏控制功能包括游戏的开始、暂停、退

8、出2. 界面布局3. 其他辅助功能2.3.2 总设计模块的划分根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计,如图2所示。贪吃蛇游戏游戏主界面模块游戏控制模块图2 游戏总设计模块2.3.3 游戏主界面模块游戏界面主框架主要包括游戏图形区域界面、游戏的开始按钮、暂停按钮、游戏的退出按钮。游戏界面主框架的主要结构图如图3所示。游戏的主界面框架游戏图形区域界面(即游戏画布)游戏控制按钮界面图3 游戏主界面框架2.3.4 游戏控制模块 游戏控制模块主要通过主界面上的按钮来控制游戏的开始、游戏的暂停、游戏的退出这三个功能以及控制游戏分数变化。在这个模块中,需要给各个按钮或文本框加入

9、代码,来对上述的功能加以进一步的实现。 游戏控制模块的主要框架如图4所示。游戏控制模块游戏的开始功能游戏的暂停功能游戏的退出功能图4 游戏控制模块框架l 游戏开始控制:单击“游戏开始”按钮,游戏画布即有移动的贪吃蛇出现,游戏正式开始。l 游戏暂停控制:单击“暂停游戏”按钮,游戏暂停;再单击,游戏继续。l 游戏退出控制:单击“退出游戏”按钮,退出该游戏。2.3.5 类模块设计2.3.5.1类模块之间关系通过对功能要求的分析,将贪吃蛇游戏功能划分为6个类模块,他们的关系如图5所示。SnakeApp(主类)(主类)SnakeFrame(用户界面类)SnakePanel(游戏界面 及内容)ArrayI

10、ndex(游戏方向)图5 贪吃蛇类之间的关系SnakeModel(游戏内容)ArrayIndexReadOnly(方向)(游戏方向)Listener类(控制速度)2.3.6 各类模块设计概要l SnakeApp类该类包含main方法,为应用程序的主类。该类用来创建游戏的用户界面,整个程序从该类的main方法开始执行。l SnakeFrame类用来设计游戏的用户界面。l SnakePanel类设置游戏运行状态,设置蛇头颜色,背景颜色,随机块颜色,移动以及分数更新,实现上下左右移动的方法接口。l SnakeModel类设置初始化蛇的形状和运行方向,设置随机块的位置,判断游戏是否出界,以及出界后的处

11、理,设置方向的更新。l ArrayIndex类 用来得到坐标,设置坐标以及判断运行方向相同或相反。l ArrayIndexReadOnly类用来得到坐标,以及判断运行方向相同或相反。l Listener类用来控制游戏的速度2.3.7 游戏图形界面的图形显示更新功能游戏的图形区域界面主要是一个图形显示更新区域,主要包括随机食物的显示更新、进行中和游戏结束时的分数更新和游戏图形区域界面的清除。游戏图形区域又很多小方格组成,主要是一个表格,根据相应格子的设置标志来显示相应的图形图片,这样就实现了贪吃蛇的实时显示。2.3.8 贪吃蛇蛇身的设计在贪吃蛇游戏中,具体的蛇身图形的设计是比较重要的一个方面。因

12、为贪吃蛇游戏中主要的游戏动作就是控制蛇身的移动和转向,以便于覆盖随机块。由于主要的游戏动作都集中在蛇身上,因此蛇身设计就显得格外重要。2.3.9 内部接口 内部模块之间的接口是通过内部函数完成,在程序设计中用设计软件本身所带的调用函数实现。心得体会通过这次课程设计,我对上学期所学的JAVA语言程序设计有一个更深刻的了解,将所学的知识应用于实践,由于所学知识有限,为了使游戏能够能够实现自己预先的构想,我们这组通过上网找代码和去图书馆借书找程序,比较画好的流程图及功能模块,不断阅读修改代码使程序达到预期所要实现的目标,完成课程设计后,可以感觉到自己对Java程序的又有了新的认识。在这次课程设计中,

13、我主要负责窗体和判断蛇的运动的设计和开发,在SnakeApp类中先定义了窗体的长度和宽度,然后通过frame.show()显示窗体,用注册监听器到Window的接口,利用System.exit(0)语句来完成关闭窗口的设计,在窗体大小的设计中,宽度和高度是采用宏定义的形式。在ArrayIndex和ArrayIndexReadOnly类的设计中,两个类的设计基本相似,但是在本组成员其他类的调用中用法不一样,先定义了X和y的坐标,定义构造函数,用getx()和gety()方法得到X和Y的坐标,用setX(int x) 和setY(int y)方法设置X和Y的坐标,用布尔型判断equalOrReV,

14、equals,reverse方法,判断蛇的各种运行方向,以便在其他设计中能够更好的判断蛇是否出界,是否与随机块即食物出现时正在运行的方向一致。在做Java设计之前也有做过其他的课程设计,大多规模很小。在数据库、各种应用软件和游戏中,我仍觉得对游戏的设计有极大的热情。因为其各个模块间的联系十分紧密,代码重复执行率高,当经过无数次的调试、修改后,能最终看到成品,有无比自豪的心情。大学期间做过图书馆管理程序等简单的数据库管理系统的课程设计,思想大致相似,变化范围有限,没有太多自己可发挥的余地。大家作品的最终结果都离不开同一个模式。相比一些数据库软件,游戏的设计有很多人情色彩和艺术思想的发挥,正式商业的软件的人性化界面和各个游戏间迥异的结构每每会让人有去开发的冲动。综合运用以前所学习的知识,设计一个JAVA手机游戏,并能实现以下的功能:游戏声音的控制、游戏等级的控制、最高分的记录、游

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号