系统设计概要说明书 V 1.0
飞机大战游戏
.
.
1.1 背景
拟开发一款激战游戏系统,该系统要实现的功能包括。 玩家管理:绘制玩家
敌机管理:绘制敌机、敌机移动 按键管理:操作控制
地图管理:绘制地图、地图移动 子弹管理:绘制子弹、子弹移动
道具管理:绘制道具、道具功能处理、道具移动 爆炸管理:绘制爆炸、移除爆炸 BOSS管理:绘制BOSS、BOSS移动
业务逻辑处理:产生多个敌机、多个子弹、碰撞、
1.2 数据分析
分析上面的需求,我们可以得出,系统中应该有如下数据表。 地图信息(BackGround)字段及说明如表5-1。
表5-1 BackGround的字段及说明
字段名称 bg_x bg_y image 数据类型 int int Image 地图坐标 地图坐标 资源图片 说明 玩家信息表(Plane)字段及说明表5-2。
表5-2 Plane的字段及说明
字段名称 pl_x pl_y image scope poold 数据类型 int int Image int int 玩家飞机坐标 玩家飞机坐标 玩家资源图片 玩家分数 玩家血量 说明 敌人信息表(EnPlane)字段及说明5-3。
表5-3 EnPlane的字段及说明
字段名称 ep_x ep_y 数据类型 int int 敌方飞机坐标 敌方飞机坐标 说明 .
.
image Image 敌方飞机资源图片 子弹信息表(Bullet)字段及说明表5-4。
表5-4 Bullet的字段及说明
字段名称 pb_x pb_y epb_x epb_y boss_x boss_x image 数据类型 int int int int int int Image 我方飞机子弹坐标 我方飞机子弹坐标 敌方飞机子弹坐标 敌方飞机子弹坐标 boss子弹坐标 boss子弹坐标 子弹资源图片 说明 爆炸信息表(Explode)字段及说明表5-5。
表5-5 Explode的字段及说明
字段名称 ep_x ep_y image 数据类型 int int Image 爆炸坐标 爆炸坐标 爆炸资源图片 说明 道具信息表(Tools)字段及说明表5-6。
表5-6 Tools的字段及说明
字段名称 t_x t_y image 数据类型 int int Image 道具坐标 道具坐标 道具资源图片 说明 BOSS信息表(BOSS)字段及说明表5-7。
表5-7 BOSS的字段及说明
字段名称 bo_x bo_y image 数据类型 int int Image Boss 坐标 Boss 坐标 Boss资源图片 说明
1.3 需求描述
在上面我们分析出了激战游戏所需要的字段,以及模拟的系统中的相关功能。在本次项
目开发中我们将会为其实现一个具有一定功能和友好用户界面的飞机大战游戏系统。该系统使用流程如下。
.
.
游戏名:飞机大战游戏。 开始游戏:按Enter键进入游戏。
基本业务:实现玩家移动、发射子弹、敌机移动、敌机发射子弹、碰撞爆炸、获取道具、 获取道具奖励、通过玩家击落敌机计算积分,击杀BOSS结束游戏。
玩家击落敌机每次增加10分,积分达到100分,出现Boss。
1.4 功能分析
1.4.1 背景业务
1、 绘制背景
通过GDI+绘制背景,背景可随机产生,每次玩家进入游戏,都可随机产生背景 2、 背景移动
背景从上往下移动,当背景的上边框超过游戏界面下边框时应自动补图。
1.4.2 玩家实现
1、玩家移动
玩家通过键盘wasd移动,j发射子弹 提示:玩家飞行不可超出游戏界面
1.4.3 敌机实现
1、创建敌机
通过确定敌机ep_x坐标随机产生敌机 2、敌机移动
改变敌机ep_y坐标从上往下飞行,注意:当飞机飞出游戏边界需要移除敌机
.
.
1.4.4 子弹实现
1、绘制子弹
创建一颗子弹Drawme()方法 2、子弹移动
子弹分为2种,我军子弹,敌军子弹 3、创建子弹
子弹是多个不确定个数,用集合保存子弹,在业务逻辑处理类中通过调用子弹类的绘制方法,依次遍历子弹。
注意:子弹创建之后可能是无限发射,需要用概率来解决子弹无限发射问题
1.4.5 爆炸实现
1、绘制爆炸
创建一个爆炸Drawme()方法 2、判断爆炸
爆炸分2种情况,敌机遇到玩家子弹爆炸和玩家血量为零时发生爆炸,爆炸是一组连贯的资源图片,判断数组索引来影响爆炸顺序,爆炸使用矩形碰撞方式,通过调用矩形
IntersectsWith()方法,解决爆炸问题
1.5 项目实现
1.5.1 运行环境
最低配置 CPU:486以上 内存:32MB
显卡:16Bit 支持DirectX, 800×600 推荐配置 CPU:MMX 200以上 内存:MB
显卡:16Bit 支持DirectX, 800×600 .
.
1.5.2 类图构成
.
.
.
.
.
.
.
.
1.5.3 功能说明
序号 1 2 3 功能项 飞机能够移动,发射子弹, 用子弹击毁敌人。 飞机通过吃掉道具,改变自身属性。 敌军飞机可以击毁我军飞机。 描 述 1.用wasd四个键控制飞机上下左右的移动。 2.j键发射子弹。 3.子弹发射出去,撞击敌军使之爆炸。 1.飞机通过接触道具获得道具的加成。 2.增强子弹威力: 1.敌军飞机由电脑随机产生。 2.当敌军飞机子弹击中我军飞机,我军飞机血量减去10。 3.当我军飞机碰撞敌军飞机时,我军损失一定生命值,敌军撞毁。当生命值为0时,则游戏结束。 1.我军得到100分数,Boss出现。 2.Boss拥有比普通敌机更多的血量和更高的攻击。 3.当我军飞机与Boss碰撞时,我军直接游戏结束。 4.当我军子弹打中Boss时,可以适当的加血,但血量不会超出总血量。 4 Boss出现以及打败Boss。
.
.
1.6 业务逻辑
1.6.1 主界面模块
1. 进入游戏的初始状态如下图状态。通过用户双击桌面上的游戏图标
则会弹出此界面。
2. 单击Enter键进入游戏
游戏运行画面
.
.
获得道具变换
子弹
.
.
获得一定分数后,BOSS就会出现
.
.
如果将BOSS打死,将出现游戏胜利页面
.
.
游戏结束页面
.
.
1.6.2 操作逻辑
页面、动作 游戏页面 按w键 按a键 按s键 按d键 按j键
调用方法 Update() paint() move() move() move() move() hitEnPlane() hitBoss() 传值描述 无返回值,加载窗体,绘制游戏对象,重绘。 无参数,无返回值,执行后位置向上移动或者不动。 无参数,无返回值,执行后位置向左移动或者不动。 无参数,无返回值,执行后位置向下移动或者不动。 无参数,无返回值,执行后位置向右移动或者不动。 无返回值,点击后发射子弹 .
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务