飞机大战详细设计说明书
1 .引言部分
本节主要介绍项目的背景和术语的定义等。
1.1创建目的
本部分阐明了编写详细设计说明书的目的,并指出了读者的对象。
本文档的目的是详细描述设计飞机战争的每个模块。 其中包括模块接口、调用关系、处理流程和算法以及一级模块测试计划等。 整体结构设计等。
本文档的主要读者包括全体团队成员和指导教师。
1.2项目背景
此部分必须包括项目的源、创建成员等。
作为软件工程这门课程实验的最终设计,这个课题由我们小组提出并完善。 项目全程共科1704班组无罗北只由基坑全员完成。
1.3定义
本节提供了本文档中使用的专业术语的定义和缩写。
Bgm :背景音乐,也就是背景音乐。
敌机:我们战斗机的敌人,共有三种类型,分为小型、中型、Boss战斗机。
精灵机(即我们的战斗机,在游戏引擎中,主角被称为精灵机,所以我们的战斗机被命名为精灵机。
攻击力:对对方造成伤害是多少?
暂停功能:游戏中按暂停按钮进入暂停模式,按暂停按钮返回游戏
攻击范围:攻击的最大范围。 如果超出这个范围,就判断不能攻击。
战斗机大招:在游戏中随机着陆透明屏幕道具,吃红色降落伞道具获得透明屏幕功能。 工具数量重叠,每次按下工具按钮消耗一个工具,就会启动大技巧,清除屏幕上的敌机。
狂暴模式:吃随机落下的黑色降落伞工具,战斗机双向子弹自动进入狂暴模式。 在这种状态下战斗机处于狂暴状态,不会失去生命值,持续时间为15s。
1.4参考资料
[1]少笑茶.软件工程方法与实践[M] .北京:机械工业出版社,2016 .
[2]少笑茶.软件工程实验教程[M] .北京:机械工业出版社,2016 .
1.5版信息
具体版本信息如表1.3所示
表1.3具体版本信息
修改号码
修改日期
修改后的版本
修正位置
修改内容创建
1
2019-6-18
1.3
一切都是
完成修改
2 .总体设计
本节简要介绍了系统需求和软件结构的配置,以跟踪需求和设计。
2.1需求概览
飞机大作战系统的需求定义如下。
系统初始化设定:设定游戏开始时间、当前得分等基本参数。 初始化游戏对象和绘图环境等。
游戏开始:系统初始化界面和对象,自动记录分数,按照指示驾驶战斗机,显示当前成绩。
查看分数:游戏界面直接显示当前分数。
退出游戏:显示是否确认退出的提示,释放游戏对象,自动显示当前积分。
2.2软件配置
飞机大作战游戏系统的软件结构图如图所示。
3 .程序说明
在本部分中,您将详细设计每个模块。
3.1模块的基本信息
1-1初始化模块,说明:
功能:系统初始化接口和对象
1-2画面制作模块,说明如下。
功能:制造敌机、战斗机、炮弹和工具
1-2-2-2操作战斗机模块时,说明如下。
功能:按照提示在对战游戏操作过程中进行碰撞检测,拦截键盘和鼠标拖动事件。
1-2-4制作道具模块。 说明如下。
功能:制造添加子弹工具和清除屏幕工具两种工具,也计入清除屏幕工具
1-3记录分数的模块。 说明如下。
功能:记录当前分数
1-4查看成绩模块,说明如下。
功能:看成绩
3.2算法
要开始游戏,请调用以下模块:
1-2画面制作模块:制作战斗机、敌机、子弹、道具
1-3记录分数模块:根据击毁敌机的数量计数
1-4成绩模块显示:显示当前分数
要调用以下模块:
1-4成绩显示模块:显示最终成绩
3.3程序逻辑
开始游戏逻辑图
开始游戏程序逻辑
1 .系统初始化模块
功能说明:
)1)打开游戏,初始化游戏,生成游戏角色
)2)开始游戏
2 .操作战斗机模块
功能说明
)1)根据敌机出现的位置,手动改变我方战斗机位置,避免碰撞
)2)鼠标操作或键盘操作战斗机运动方向和位置
3 .记录分数模块
功能说明
(1)根据游戏中消灭敌机的数量增加分数
)分数与破坏敌机的数量同时变化,记录在游戏画面的指定位置
4 .显示结果模块
功能描述
(1) 游戏过程战斗过程会随时根据结果记录数据
(2) 在战斗过程中记录游戏分数变化,并将结果反馈给游戏主界面
3.4 接口
整体游戏要注意Cocos creator游戏引擎接口
由于支持鼠标和键盘操控,要进行鼠标和键盘接口异常检测和处理。
3.5性能
(1)支持鼠标操作、键盘操作操作
(2)在CPU、内存占用的条件下,无重点问题发生。
3.6编码实现
本部分主要选取部分功能实现方式进行代码描述。
(1) 游戏初始化场景的创建
定义一个类,里面包含游戏中所用的所有数据
properties: {
按钮;
分数;
子弹;
碰撞;
暂停;
战机;
敌机;
音效;
}
onload:function(){
调用函数,初始化游戏
…………
}
创建战斗界面场景,并通过require()引入其他界面的js文件,onLoad:function(){}监听初始化事件
(2) 碰撞功能的实现
碰撞:function() {
选择结构
if(子弹碰撞)
选择结构
switch(条件)
case选择1:
………
break;
case选择2:
………
break;
………
else(敌机碰撞)
调用函数
………
}
通过编写一个选择结构,判断碰撞类型,每种碰撞应该触发对应的函数
(3) 鼠标拖动事件
鼠标拖动:function (事件){
监听鼠标拖动事件,调用cocos引擎的鼠标拖动函数
}
(4) 显示、存储分数功能
分数:function () {
选择结构
定义变量,获取分数值
if(分数不为零)
调用cocos引擎的数据存储方法,存入数据
显示数据到游戏界面
else(分数为零)
后台提示错误
}
(5) 键盘监听事件
键盘:function (事件){
监听键盘事件,调用cocos引擎的键盘监听函数
}
3.7测试要点
采用黑盒测试方法,对战机的初始值、成绩显示、以及界面与地图上事件的触发为测试要点。