《java课程设计之贪吃蛇.docx》由会员分享,可在线阅读,更多相关《java课程设计之贪吃蛇.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、java课程设计之贪吃蛇 系统描述 (1) 1.1本设计的目的和意义 (1) 1.2设计的主要内容 (1) 1.3设计要达到的目标 (2) 1.4设计需要实现的功能和目标 (2) 1.5游戏设计环境 (2) 二分析与设计 (3) 2.1 游戏处理流程 (3) 2.2需求分析 (4) 2.3功能模块设计 (4) 2.4详细设计 (8) 三系统测试 (19) 四心得体会 (21) 五参考文献 (22) 六附录 (24) 基于Java的游戏“贪吃蛇”的设计和实现 内容提要: “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术和JBuilder开发环境,开发了一个操
2、作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软 件开发流程的目的。 一系统描述 1.1本设计的目的和意义 贪吃蛇游戏一款非常经典的手机游戏,因为它比较简单有趣,无论老少都比较适合。贪吃蛇的设计对每一个Java语言设计者进行语言提高和进阶都是一个很好的锻炼机会。 贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计
3、模式。因此,如何设计和开发好这个贪吃蛇游戏,对于提高Java开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。 正是因为如此,本次毕业设计的目的在于学习Java程序设计基本技术,学习用JBuilder开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握JBuilder环境的使用方法,培养起初步的项目分析能力和程序设计能力。 1.2设
4、计的主要内容 贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现开始、暂停、退出等功能。 1.3设计要达到的目标 本次设计要达到的目标分别从以下模块进行阐述: “游戏主界面模块: 游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形区域界面、游戏的速度选择更新界面、游戏分数的显示更新界面、新生方块的预览、游戏开始按钮、暂停游戏按钮、退出游戏按钮以及游戏排行榜按钮。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。 4游戏控制模块: 这个模块是游戏的中心环节,主要完成控
5、制游戏的开始、暂停、退出等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。 1.4设计实现功能和目标 本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出、等功能,分为:游戏主界面模块、游戏控制模块以二个模块。 4性能: 本软件在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。 4游戏主界面模块: 主要包括游戏图形区域界面、游戏开始按钮、暂停游戏按钮、关闭按钮。游戏的主界面应该力求美观,爽心悦目。 “游戏控制模块: 主要完成控制游戏的开始、暂停、退出等功能,这部分应该做
6、到易懂、易操作而且准确率高,不易出错。 1.5游戏设计环境 本次课程设计所涉及和实现的是用Java编程语言和JBuilder开发工具开发的贪吃蛇游戏。 本次设计的系统环境及工具如下: 运行环境:wi ndows xp 编程语言:Java 使用工具:JBuilder 2022 二分析与设计 2.1游戏处理流程 本次游戏设计的处理流程如图1所示 图1游戏处理流程图 2.2需求分析 2.2.1 用户的特点 游戏开发成功后,最终用户为各个年龄段的人群,用户范围相当广泛。本游戏友好的用户界面,简单易学的按钮操作以及简单通俗的游戏规则,使广大的用户不需要专门进行培训,就可以立即学会如何使用。 2.2.2
7、功能需求 222.1 游戏主界面模块需求 游戏界面主框架主要包括游戏图形区域界面、游戏开始按钮、游戏暂停按钮、关闭按钮。 2.2.2.2 游戏图形区域界面的需求 游戏画布区主要应该包括游戏画布中贪吃蛇随机出现的位置,贪吃蛇重 新出现的位置,事物随机出现的位置。 2.2.3 属性需求 在可使用性方面,要求各个功能实现简单,操作方便,系统处理正确;整个系统恢复性能好,连接速度快,以确保系统可使用性好。 另外,还要求系统的可扩展性、可维护性、可移植性良好。 2.3功能模块设计 软件开发过程中的功能模块设计,主要解决实现该游戏需求的程序模块设计问题。包括如何把该游戏划分成若干个模块、决定各个模块之间的
8、接口、模块之间传递的信息,以及模块结构的设计等。 2.3.1 游戏功能 本系统主要完成以下几方面的功能: 1. 游戏控制功能包括游戏的开始、暂停、退出 2. 界面布局 3. 其他辅助功能 232 总设计模块的划分 根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计, 如图2所示。 图2游戏总设计模块 233 游戏主界面模块 游戏界面主框架主要包括游戏图形区域界面、游戏的开始按钮、暂停按钮、游戏的退出按钮。 游戏界面主框架的主要结构图如图3所示。 图3游戏主界面框架 2.3.4 游戏控制模块 游戏控制模块主要通过主界面上的按钮来控制游戏的开始、游戏的暂停、游戏 的退出这三个功能
9、以及控制游戏分数变化。在这个模块中,需要给各个按钮或文本框加入代码,来对上述的功能加以进一步的实现。 游戏控制模块的主要框架如图4所示。 图4游戏控制模块框架 -游戏开始控制:单击“游戏开始”按钮,游戏画布即有移动的贪吃蛇出现,游戏正式开始。 “游戏暂停控制:单击“暂停游戏”按钮,游戏暂停;再单击,游戏继续。 j游戏退出控制:单击“退出游戏”按钮,退出该游戏。 235 类模块设计 235.1 类模块之间关系 通过对功能要求的分析,将贪吃蛇游戏功能划分为6个类模块,他们的关系如图5所示。 2.3.6各类模块设计概要图5贪吃蛇类之间的关系 凸 SnakeApp类 该类包含main方法,为应用程序的
10、主类。该类用来创建游戏的用户界面,整个程序从该类的main方法开始执行。 “ Sn akeFrame类 用来设计游戏的用户界面。 “ Sn akePa nel 类 设置游戏运行状态,设置蛇头颜色,背景颜色,随机块颜色,移动以及分数更新,实现上下左右移动的方法接口。 已 SnakeModeI类 设置初始化蛇的形状和运行方向,设置随机块的位置,判断游戏是否出界,以及出界后的处理,设置方向的更新。 上Array In dex 类 用来得到坐标,设置坐标以及判断运行方向相同或相反。 丄ArraylndexReadOnly 类 用来得到坐标,以及判断运行方向相同或相反。 理Listener 类 用来控制
11、游戏的速度 237 游戏图形界面的图形显示更新功能 游戏的图形区域界面主要是一个图形显示更新区域,主要包括随机食物的显示更新、进行中和游戏结束时的分数更新和游戏图形区域界面的清除。 游戏图形区域又很多小方格组成,主要是一个表格,根据相应格子的设置标志来显示相应的图形图片,这样就实现了贪吃蛇的实时显示。 238 贪吃蛇蛇身的设计 在贪吃蛇游戏中,具体的蛇身图形的设计是比较重要的一个方面。因为贪吃蛇游戏中主要的游戏动作就是控制蛇身的移动和转向,以便于覆盖随机块。 由于主要的游戏动作都集中在蛇身上,因此蛇身设计就显得格外重要。 239 内部接口 内部模块之间的接口是通过内部函数完成,在程序设计中用设计软件本身所带 的调用函数实现。 2.4详细设计 2.4.1程序主结构 本次所设计贪吃蛇游戏的程序主结构如图6所示。 图6贪吃蛇程序主结构 242 类模块程序流程图 SnakeApp 类 图7 SnakeApp类程序流程图 SnakeFrame 类 图8 SnakeFrame类程序流程图 第10 页 SnakePanel 类 图9 SnakePanel类程序流程图