超级玛丽JAVA小游戏概要设计文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1.导言 (2)
1.1编写目的 (2)
1.2项目范围 (2)
1.3参考资料 (2)
1.4缩写说明 (2)
1.5术语定义 (2)
2.任务概述 (3)
2.1目标 (3)
2.2开发环境 (3)
2.3运行硬件环境要求 (3)
3.功能需求 (3)
3.1游戏功能划分 (3)
3.2功能划分的架构图 (4)
3.3具体的功能模块 (4)
3.4功能描述 (4)
3.5程序的总体架构 (4)
3.6程序的三层结构图 (5)
4.面向对象设计 (5)
4.1用例图 (5)
4.2顺序图 (6)
4.3活动图 (6)
4.4主要类图 (7)
4.5各个模块的方法或类名类表示 (7)
4.6地图绘制中的坐标说明 (8)
5.运行需求 (8)
5.1界面设计技术 (8)
5.2硬、软件接口要求 (8)
5.3故障处理 (9)
6.其它需求 (9)
6.1可扩展性要求 (9)
1.导言
1.1编写目的
该文档的目的是说明超级玛丽游戏的功能和设计方向、目标等描述游戏项目的概要设计。其主要内容包括:游戏项目的功能简介,接口设计,模块设计,界面设计。本文档预期读者包括:项目管理人员,编程人员,数据库设计人员,美工,测试人员。
1.2项目范围
该文档定义了游戏的模块,结构单元,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。
1.3参考资料
《软件工程案例教程》机械工业出版社韩万江编著
《J2ME手机游戏开发技术详解》清华大学出版社李振鹏龚剑编著1.4缩写说明
UML:Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。
1.5术语定义
MIDP2.0定义:MIDP2.0也叫MIDP_NG,它的编号是JSR118。MIDP2.0与1.0相比有很大提高,增加的特性包括:提供域安全模型,以允许对应用程序进行签名和论证;提供TCP、UDP网络接口;内置OTA;更好的用户界面;基本的声音API。
2.任务概述
2.1目标
实现超级玛丽游戏的主要功能,主人翁可以吃到蘑菇变大,吃到花可以发射子弹,有的水管可以下去,可以踩到乌龟,可以顶破砖块,实现大家熟悉的基本功能。
2.2开发环境
●开发环境:Eclipse+window7+JDK1.60以上
●数据库:SQL2005以及以上
2.3运行硬件环境要求
●CPU:P41.8GHz以上
●内存:256MB以上
●客户机:普通PC
●分辨率:推荐使用1024×768像素
●能够运行IE9.0以及以上
3.功能需求
3.1游戏功能划分
游戏的基本功能应该包括菜单处理,程序逻辑处理,持久性处理和挂起恢复处理。
◆关于菜单的处理,包括可以选择的进入游戏、保存、帮助和音效开关等。
◆程序的逻辑处理就是涵盖了程序中除菜单外几乎所有的功能。
◆持久性处理就是资源的载入和游戏的进度保存。
3.2功能划分的架构图
3.3具体的功能模块
1)游戏控制模块
2)查询记录模块
3)关卡选择模块
4)游戏设置模块
3.4功能描述
玩家打开程序,在游戏菜单页面有四个选项。
◆关卡选择:选择已玩过的关卡进行游戏;
◆开始游戏:从游戏的第一关进行游戏,玩家通过按键控制主人公马里奥进行
不同的操作;
◆查询记录:查询五个最高游戏分数,排名由上往下递减。
◆游戏设置(包括音乐设置和按键设置):玩家可以设置游戏进行时的音乐开
或关以及修改相应的控制键。
3.5程序的总体架构
本程序采用3层程序架构,业务表现层,业务逻辑层和数据持久层。
◆业务表现层。主要是游戏界面的绘制,通过指定的接口绘制,与游戏的逻辑
分离。
◆业务逻辑层。主要是游戏的人物和敌人的动作,碰撞的判断,这个与表现层
无关,需要表示层调用定义好的接口与逻辑层的通信
◆数据持久层。保存游戏中的数据,载入游戏中需要的资源,与程序逻辑层无
关
3.6
程序的三层结构图
4.面向对象设计
4.1用例图
关卡选择查询记录表现层(绘制屏幕)
逻辑层(程序的逻辑)
数据持久层(数据存储)
4.2顺序图4.3活动图
4.4主要类图
注意:此图中,方框里的表示一个个的类,箭头不是表示联系,而是代表泛化
4.5各个模块的方法或类名类表示
模块类/方法
驱动模块Public void run(){}
进度条技术Public class LPProgressThread extends Canvas implements Runnable{}核心类LPSprite Public class LPSprite{}除地图类的所有类的派生类
逻辑层的类MarioGameManage对菜单及游戏的逻辑处理
表示层的类MarioGameCanvas,实现Runnable接口,派生自Canvas
地图描绘Public void drawMaps(Praphics g,LPMaps maps){}
碰撞检测Boolean checkTileCollisionHorizon(){}
矩形类及碰撞判断累Public class LPRect{}
键控处理的实现Public void judgeKeyCode(int keyCode,int gameKeyCode){}
滚屏的实现Void ScollScreen(){}
主要人物玛丽Public class MarioMainSprite extends LPSprite{}
核心函数action Public void action(){}
乌龟的实现Class EnemyTortoise extends MarioEnemySprite{}
菜单的实现Public class LPMenu{}
游戏主类Canvas Public class MarioGameCanvas extends Canvas implements
Runnable,CommandListener,LPIGameStart{}
游戏主Manager类Public class MarioGameManage implements LPIGameManager{}
游戏中新对象的产生和垃圾收集Public void createBrokenBrick(int x,int y,int xSpeed,int ySpeed)
游戏中关于暂停和恢复的处理Public void startApp(){}