logo资料库

用java语言编写的贪吃蛇游戏的报告.doc

第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
资料共26页,剩余部分请下载后查看
1.1 本设计的目的和意义
1.2 设计的主要内容
1.3设计要达到的目标
1.5游戏设计环境
2.1 游戏处理流程
2.2需求分析
2.2.1 用户的特点
2.2.2 功能需求
2.2.2.1 游戏主界面模块需求
2.2.2.2 游戏图形区域界面的需求
2.2.3 属性需求
2.3.1 游戏功能
2.3.2 总设计模块的划分
2.3.3 游戏主界面模块
2.3.4 游戏控制模块
2.3.5 类模块设计
2.3.5.1类模块之间关系
2.3.6 各类模块设计概要
2.3.7 游戏图形界面的图形显示更新功能
2.3.8 贪吃蛇蛇身的设计
2.3.9 内部接口
2.4 详细设计
2.4.1程序主结构
2.4.2 类模块程序流程图
SnakeFrame类
SnakePanel类
SnakeModel类
ArrayIndexReadOnly类
ArrayIndex类
listener类
2.4.3 类模块具体设计
SnakeApp.java程序
SnakeFrame.java程序
①SnakekFrame类程序
② listener类程序
ArrayIndex.java程序
ArrayIndexReadOnly.java程序
SnakePanel.java程序
SnakeModel.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
第 1 页 基于 Java 的游戏“贪吃蛇”的设计和实现 内容提要: “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。 本文基于 Java 技术和 JBuilder 开发环境,开发了一个操作简单、界面美观、功能 较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实 现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习 Java 技术和熟悉软 件开发流程的目的。 1.1 本设计的目的和意义 一 系统描述 贪吃蛇游戏一款非常经典的手机游戏,因为它比较简单有趣,无论老少都比较 适合。贪吃蛇的设计对每一个 Java 语言设计者进行语言提高和进阶都是一个很好的 锻炼机会。 贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设 计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与 更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及 一些设计模式。因此,如何设计和开发好这个贪吃蛇游戏,对于提高 Java 开发水平 和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继 承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关 系和数据通信关系。 正是因为如此,本次毕业设计的目的在于学习 Java 程序设计基本技术,学习用 JBuilder 开发 Java 程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发 的完整过程。学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发 过程,熟练地掌握 Java 程序设计的基本技术和方法,熟练地掌握 JBuilder 环境的 使用方法,培养起初步的项目分析能力和程序设计能力。 1.2 设计的主要内容 贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块游戏控制模 块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现开始、暂停、 退出等功能。
第 2 页 1.3 设计要达到的目标 本次设计要达到的目标分别从以下模块进行阐述: 游戏主界面模块: 游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形 区域界面、游戏的速度选择更新界面、游戏分数的显示更新界面、新生方块的预览、 游戏开始按钮、暂停游戏按钮、退出游戏按钮以及游戏排行榜按钮。从很大程度上 决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。 游戏控制模块: 这个模块是游戏的中心环节,主要完成控制游戏的开始、暂停、退出等功能。 为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。 1.4 设计实现功能和目标 本设计所开发的是基于 Java 的一个贪吃蛇游戏软件,主要实现游戏的开始、暂 停、退出、等功能,分为: 游戏主界面模块、游戏控制模块以二个模块。 性能: 本软件在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过 程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。 游戏主界面模块: 主要包括游戏图形区域界面、游戏开始按钮、暂停游戏按钮、关闭按钮。游戏 的主界面应该力求美观,爽心悦目。 游戏控制模块: 主要完成控制游戏的开始、暂停、退出等功能,这部分应该做到易懂、易操作 而且准确率高,不易出错。 1.5 游戏设计环境 本次课程设计所涉及和实现的是用 Java 编程语言和 JBuilder 开发工具开发的 贪吃蛇游戏。 本次设计的系统环境及工具如下: 运行环境:windows xp 编程语言:Java 使用工具:JBuilder 2005
第 3 页 二 分析与设计 2.1 游戏处理流程 本次游戏设计的处理流程如图 1 所示。 进入游戏画面 单击“开始游戏”按钮, 游戏开始,蛇开始随机。 键盘操作: 左移 右移 向下 向上 没 有 吃 到 食 物 且 蛇 碰 到 边界 游戏中途欲中 断,稍后继续 游戏 单击“退出游戏” 单击“暂停游戏” 退出游戏 游戏暂停 再次单击开始 游戏,游戏恢复 图 1 游戏处理流程图
第 4 页 2.2 需求分析 2.2.1 用户的特点 游戏开发成功后,最终用户为各个年龄段的人群,用户范围相当广泛。本游戏 友好的用户界面,简单易学的按钮操作以及简单通俗的游戏规则,使广大的用户不 需要专门进行培训,就可以立即学会如何使用。 2.2.2 功能需求 2.2.2.1 游戏主界面模块需求 游戏界面主框架主要包括游戏图形区域界面、游戏开始按钮、游戏暂停 按钮、关闭按钮。 2.2.2.2 游戏图形区域界面的需求 游戏画布区主要应该包括游戏画布中贪吃蛇随机出现的位置,贪吃蛇重 新出现的位置,事物随机出现的位置。 2.2.3 属性需求 在可使用性方面,要求各个功能实现简单,操作方便,系统处理正确;整个系 统恢复性能好,连接速度快,以确保系统可使用性好。 另外,还要求系统的可扩展性、可维护性、可移植性良好。 2.3 功能模块设计 软件开发过程中的功能模块设计,主要解决实现该游戏需求的程序模块设计问 题。包括如何把该游戏划分成若干个模块、决定各个模块之间的接口、模块之间传 递的信息,以及模块结构的设计等。 2.3.1 游戏功能 本系统主要完成以下几方面的功能: 1. 游戏控制功能——包括游戏的开始、暂停、退出 2. 界面布局 3. 其他辅助功能
第 5 页 2.3.2 总设计模块的划分 根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计, 如图 2 所示。 贪吃蛇游戏 游 戏 主 界 面 模 块 游 戏 控 制 模 块 图 2 游戏总设计模块 2.3.3 游戏主界面模块 游戏界面主框架主要包括游戏图形区域界面、游戏的开始按钮、暂停按钮、游 戏的退出按钮。 游戏界面主框架的主要结构图如图 3 所示。 游戏的主界面框架 ( 即 游 戏 画 布 ) 游 戏 图 形 区 域 界 面 游 戏 控 制 按 钮 界 面 图 3 游戏主界面框架
第 6 页 2.3.4 游戏控制模块 游戏控制模块主要通过主界面上的按钮来控制游戏的开始、游戏的暂停、游戏 的退出这三个功能以及控制游戏分数变化。在这个模块中,需要给各个按钮或文本 框加入代码,来对上述的功能加以进一步的实现。 游戏控制模块的主要框架如图 4 所示。 游戏控制模块 游 戏 的 开 始 功 能 游 戏 的 暂 停 功 能 游 戏 的 退 出 功 能 图 4 游戏控制模块框架 游戏开始控制:单击“游戏开始”按钮,游戏画布即有移动的贪吃蛇出现,游 戏正式开始。 游戏暂停控制:单击“暂停游戏”按钮,游戏暂停;再单击,游戏继续。 游戏退出控制:单击“退出游戏”按钮,退出该游戏。 2.3.5 类模块设计 2.3.5.1 类模块之间关系
第 7 页 通过对功能要求的分析,将贪吃蛇游戏功能划分为 6 个类模块,他们的关系如 图 5 所示。 SnakeApp (主类) Listener 类 (控制速度) SnakeFrame (用户界面类) SnakeModel (游戏内 容) SnakePanel (游戏界面 及内容) ArrayIndexRea dOnly(方向) ArrayIndex (游戏方向) 2.3.6 各类模块设计概要 SnakeApp 类 图 5 贪吃蛇类之间的关系 该类包含 main 方法,为应用程序的主类。该类用来创建游戏的用户界面,整个 程序从该类的 main 方法开始执行。 SnakeFrame 类 用来设计游戏的用户界面。 SnakePanel 类 设置游戏运行状态,设置蛇头颜色,背景颜色,随机块颜色,移动以及分数更 新,实现上下左右移动的方法接口。 SnakeModel 类 设置初始化蛇的形状和运行方向,设置随机块的位置,判断游戏是否出界,以 及出界后的处理,设置方向的更新。 ArrayIndex 类 用来得到坐标,设置坐标以及判断运行方向相同或相反。
分享到:
收藏