概要设计文档

---恢复内容开始---

飞机大战概要设计文档规格说明书

 

1. 引言部分

1.1目的

该文档的目的是描述飞机大战的概要设计,主要内容包括飞机大战的功能简介等

本文档预期的读者包括全体小组成员及指导教师。

1.2 范围

1.2.1 项目目标

开发一个能为生活增添乐趣,填补空闲无聊时间,丰富我们的生活的小游戏,满足我们休闲娱乐的要求。

1.2.2 主要项目需求

扫描二维码关注公众号,回复: 6251768 查看本文章

该游戏主要功能包括:

● 操控战机

● 发射炮弹

● 攻击敌机

1.2.3 项目设计约束、限制

该游戏支持鼠标或键盘操控。

1.3缩写

1.4参考资料

[1]软件工程方法与实践第3版  主编  窦万峰  机械工业出版

2.数据设计

本部分主要描述软件所涉及的外部数据的结构描述。如果数据以数据库文件呈现,则要描述表的名称和表字段结构;如果数据以外部文件的形式呈现,则要描述文件的内部结构。

2.1数据对象和形成的数据结构

该游戏系统涉及的主要数据结构如下:

存档功能:用来记录玩家当前的游戏进度。其数据结构是一个javascript对象类型。

战机:描述战机的基本信息,包括移动的最大最小速度、子弹数量等。其数据结构是一个javascript对象类型。

道具:随着经验的加成到一定值后而生成的物品,用来各提升角色属性值,使角色战力提高。其数据结构是一个javascript对象类型。

敌机:战机在游戏中遇到的敌军战机,包括普通战机和Boss战舰,击败后可获得经验加成。其数据结构是一个javascript对象类型。

游戏基本设置:包括游戏的开始,暂停等功能信息。数据结构是一个javascript对象类型。

系统信息:有关开始界面的相关音乐、背景设置。数据结构是一个javascript对象类型。

2.2文件和数据库结构

描述文件的数据结构或者库表的结构

2.2.1外部文件结构

 包括游戏所需的插图、音乐、保存文档、标志、配置文件、各类数据文档(道具、敌机等)。该游戏主要的外部文件有:

背景音乐文档achievement.mp3、buttet.mp3、game_music.mp3、enemy_down.mp3

插图文档shoot.png、shoot_background.png

游戏进度保存文档file.rpgsave

游戏标志btnbg.png

游戏配置文件project.json

各类数据文档data.json

2.2.2全局数据

该游戏系统的全局变量有:

游戏进行时间Totaltime。

公共事件处理器PublicEventProcessor。

变量计数器VariableCounter

游戏全局基本数据结构定义如下:

properties:()=>({

        pause: cc.Button,

        btnSprite: {

            default: [ ],

            type: cc.SpriteFrame,

            tooltip:'暂停按钮不同状态的图片',

        },

        bomb: cc.Node,

        gameMusic: {

            default: null,

            type: cc.AudioSource

        },

        useBombClip: {

type: cc.AudioClip,

default: null,

},

        enemyGroup: {

            default: null,

            type: require('enemyGroup'),

        },

        hero: {

            default: null,

            type: require('hero'),

        },

        ufoGroup: {

            default: null,

            type: require('ufoGroup'),

        },

        bulletGroup: {

            default: null,

            type: require('bulletGroup'),

        },

        scoreDisplay:cc.Label,

 bombNoDisplay:cc.Label,

    }),

2.2.3文件和数据交叉索

背景音乐文档用在系统地图事件初始化功能中;

背景图片文档用在战斗事件功能中;

游戏标志文档用在数据库初始化功能中;

游戏配置文件用在游戏战斗事件功能中;

各类数据文档用在数据库初始化功能中。

 

3.体系结构设计

3.1数据和控制流复审

1:飞机大作战系统总体数据流图

 

2:游戏开始数据流图

 

3.2得出的程序结构

3:飞机大作战游戏系统结构图

 

4.界面设计
这一部分主要给出界面设计的总体要求和界面序列,以及界面设计规约。

4.1人机界面规约
给出界面风格、约定和操作要求,设计出用户的所有界面。飞机大战的界面主要包括下面几种。

游戏加载界面:该界面用于显示游戏的加载进度。

游戏开始界面:该界面作为游戏的起始界面,只有开始游戏一个按键。点开始游戏即可进行游戏;该界面还显示了游戏名称,下方是不断有飞机划过。

系统总控界面:系统总控界面是系统的主界面,主要完成与用户的交互任务,接收用户的请求,并调用相应的模块。另外总控界面应能够显示用户的角色信息和驾驭者的工作时间,以及显示强制交换的系统时间等。

系统设置界面:系统设置界面主要设置系统的运行参数。

游戏界面:用户通过鼠标操作飞机进行游戏,不可触碰其他飞行物,可通过攻击来消灭其他飞行物。

游戏结束界面:若触碰了其他飞行物,游戏结束。该界面显示了历史最高分数、最终得分。可选择重新开始、历史成绩、离开游戏。
4.2人机界面设计规约
  给出界面序列关系,以及每个界面的操作规则和处理规则。

登陆界面序列:输入用户名和密码 — 验证身份。

游戏总控制界面序列:启动游戏 — 启动新游戏 — 进入游戏 —(游戏存档)— 结束游戏。

  启动游戏 — 载入存档 — 进入游戏 —(游戏存档)— 结束游戏

 

5.接口设计

5.1外部接口设计

与外部系统或设备的连接关系和通信方式。

5.1.1外部数据接口

暂无。

5.1.2外部系统或设备接口

与外部系统或接口的连接方式和通信方式。本系统与外部接口仅仅是硬件的接口要求,鼠标、键盘的要求是USB接口连接。

5.2内部接口设计规约

内部接口是软件逻辑模块之间的调用接口。内部接口设计规约定义内部模块之间的调用关系和传递的数据结构。

5.2.1内部模块接口调用关系

内部模块的接口调用关系可参看图B-8,为了便于讨论,我们给每一个模块一个编号,并对结构图进一步进行优化。它们的接口调用关系如下。

 

  B-9 飞机大战系统结构图(带编号)

● 系统总模块:SceneManager.run

●  登陆模块SceneManager.login

 1.1读入用户名和密码:SceneManager.

1.2 验证身份:SceneManager.verify.

● 总控模块:SceneManager.program.

2.1 开始游戏:SceneManager.startgame.

2.1.1 初始化:SceneManager.init.

2.1.2 记录分数:DataManager.score.

2.1.3 操控战机:TouchInput.fight.

2.1.4 显示成绩:DataManager.achieve.

2.2 系统设置:ConfigManager.makeData

2.3 游戏帮助:SceneManager.help.

2.4 查看当前分数:DataManager.nscore

2.4.1 显示结果:DataManager.outcome

2.5 退出游戏:SceneManager.endgame

5.2.2接口数据结构

描述接口的每个参数数据结构、参数顺序和默认值。

主要数据结构有user、Managers等。

6.模块过程设计

6.1 处理说明

游戏程序加载模块:设置基本的参数,对各个子系统模块进行初始化操作。

游戏界面设计模块:设置游戏界面等等。

游戏对象绘制模块:对战机、敌机、炮弹等进行设计。

游戏动作执行模块:进行攻击,移动等等。

游戏规则调用模块:对玩家当前所做出的动作做出相应的反应,判断是否射中,击毁敌机等等。

6.2使用的模块

系统程序加载模块在启动时,会初始化其他各个模块。

其余各个模块在游戏进行时,会相互调用。

7.需求交叉索引

描述需求与模块的关系、存在交叉的部分,即共享模块的调用关系。

●登录功能:1登陆。

●用户管理:1-1读入用户名和密码、1-2 验证身份。

●游戏开始: 2-1 开始游戏。

●设置系统:2-2 系统设置。

●帮助:2-3 游戏帮助。

●显示成绩:2-4 查看当前分数、2-4-1 显示结果。

●结束游戏: 2-5 退出游戏。

8.测试部分

本部分描述测试的原则与方法,以及测试策略和计划。

8.1测试方针

针对主要功能优先测试,查看是否游戏顺利进行,得分是否正确等等。测试方法黑盒测试方式与白盒测试方式相结合。

8.2集成策略

本项目采用自顶向下的方式进行测试。

一层一层往下测试。

8.3特殊考虑

注意击中敌机与得分设置,和键盘或鼠标的稳定性。

 

---恢复内容结束---

猜你喜欢

转载自www.cnblogs.com/pinkbig/p/10880762.html
今日推荐