飞机大战游戏 模块设计报告
更新时间:2023-12-29 12:40:01 阅读量: 教育文库 文档下载
- 飞机大战游戏单机闯关推荐度:
- 相关推荐
飞机大战游戏 模块设计报告
文件状态: [ ] 草稿 [√] 正式发布 [ ] 正在修改
文件标识: QRSX-004-DOC-AS 当前版本: 1.0 作 者: 青软实训 完成日期: 青岛软件园软件人力资源服务有限公司 实训服务中心
3D版黑白棋,《模块设计报告》
版 本 历 史
版本/状态 1.0/发布
作者 张玉星 参与者 起止日期 备注
? 青软实训,2008
Page 2 of 14
3D版黑白棋,《模块设计报告》
目 录
0. 文档介绍 ............................................................................................................................ 4 0.1 文档目的 ....................................................................................................................... 4 0.2 文档范围 ....................................................................................................................... 4 0.3 读者对象 ....................................................................................................................... 4 0.4 参考文献 ....................................................................................................................... 4 0.5 术语与缩写解释 ............................................................................................................ 4 1. 模块命名规则 ..................................................................................................................... 5 2. 模块汇总 ............................................................................................................................ 5 2.1 模块汇总表 ................................................................................................................... 5 2.2 UML活动图 .................................................................................................................. 6 2.3类体系 ............................................................................................................................ 6 3. 游戏规则子系统 ................................................................................................................. 6 3.1 人工智能 ....................................................................................................................... 6 4. 3游戏对象子系统 ............................................................................................................... 7 4.1 应用程序对象 ............................................................................................................... 7 4.2 游戏对象 ....................................................................................................................... 8 4.3 战机对象 ....................................................................................................................... 9 4.4 敌机对象 ..................................................................................................................... 10 4.5 导弹对象 ..................................................................................................................... 11 4.6 炸弹对象 ..................................................................................................................... 12 4.7 爆炸对象 ..................................................................................................................... 13 4.4 文字对象 ..................................................................................................................... 14
? 青软实训,2008
Page 3 of 14
3D版黑白棋,《模块设计报告》
0. 文档介绍
0.1 文档目的
指导模块编码人员编码。
0.2 文档范围
模块功能介绍及实现要求
0.3 读者对象
模块编码人员
0.4 参考文献
0.5 术语与缩写解释
缩写、术语 解 释
? 青软实训,2008
Page 4 of 14
3D版黑白棋,《模块设计报告》
1. 模块命名规则
2. 模块汇总
2.1 模块汇总表
游戏规则子系统 模块名称 人工智能 游戏子系统 模块名称 应用程序对象 功能简述 人机对战规则的实现 功能简述 游戏程序的加载、游戏对象的绘制、游戏规则的调用、玩家的键盘事件获取 各个游戏对象的抽象父类 战机类 敌机类 导弹类 炸弹类 爆炸类 文字类 游戏对象 战机对象 敌机对象 导弹对象 炸弹对象 爆炸对象 文字对象
? 青软实训,2008
Page 5 of 14
3D版黑白棋,《模块设计报告》
2.2 UML活动图
启动程序初始化游戏对象游戏初始化初始化绘图环境游戏是否结束绘制游戏对象碰撞运算积分判断
2.3类体系
游戏对象+Draw() : bool敌机战机导弹炸弹爆炸效果文字提示
3. 游戏规则子系统
3.1 人工智能
模块名称 功能描述 接口与属性 数据结构 与算法 ? 青软实训,2008
人工智能 人机对战规则规则 void AI( void ); //随机产生敌机 //检测四个方向键,移动战机 Page 6 of 14
3D版黑白棋,《模块设计报告》
//产生战机导弹、炸弹 //碰撞检测 补充说明 4. 3游戏对象子系统
4.1 应用程序对象
模块名称 功能描述 应用程序对象 游戏程序的加载、游戏对象的绘制、游戏规则的调用、玩家的键盘事件获取 CPlaneGame g_Game; 接口与属性 数据结构 与算法 class CPlaneGame { public: protected: protected: void AI(); Page 7 of 14
//刷新游戏的帧画面 void UpdateFrame(CDC* pMemDC); //初始化游戏 BOOL InitGame(); //结束游戏 void StopGame(); //内存DC CDC* m_pMemDC; //设备DC CClientDC* m_pDC; //内存位图 CBitmap* m_pMemBitmap; virtual void OnDraw(CDC* pDC); // 重写以绘制该视图 ? 青软实训,2008
3D版黑白棋,《模块设计报告》
CObList m_ObjList[4]; //用链表来管理游戏对象 //获得键的状态1->down int GetKey(int nVirtKey) { } CMyPlane* m_pMe; return (GetKeyState(nVirtKey) & 0x8000)? 1 : 0; }; 补充说明
4.2 游戏对象
模块名称 功能描述 接口与属性 数据结构 与算法 游戏对象 各个游戏对象的抽象父类 //游戏对象的父类 class CGameObject : public CObject { public: //获得左上角坐标 CPoint GetPoint() { } return m_ptPos; //获得矩形区域 virtual CRect GetRect()=0; CGameObject(int x=0,int y=0); virtual ~CGameObject(); //绘制对象 virtual BOOL Draw(CDC* pDC,BOOL bPause)=0; ? 青软实训,2008
Page 8 of 14
3D版黑白棋,《模块设计报告》
protected: //加载图像 static BOOL LoadImage(CImageList& imgList,UINT bmpID,COLORREF crMask,int cx,int cy,int nInitial); protected: //物体的位置 CPoint m_ptPos; }; 补充说明
4.3 战机对象
模块名称 功能描述 接口与属性 数据结构 与算法 战机对象 战机类,战机图像加载、贴图、位置存储 CMyPlane* m_pMe; class CMyPlane :public CGameObject { public: void SetVerMotion(int nMotion) { m_nVerMotion = nMotion; Page 9 of 14
void SetHorMotion(int nMotion) { } int GetHorMotion() const { } return m_nHorMotion; m_nHorMotion = nMotion; static BOOL LoadImage(); BOOL Draw(CDC* pDC,BOOL bPause); CMyPlane(void); ~CMyPlane(void); ? 青软实训,2008
3D版黑白棋,《模块设计报告》
CRect GetRect() { return } int GetVerMotion() const { } return m_nVerMotion; CRect(m_ptPos,CPoint(m_ptPos.x+PLANE_WIDTH,m_ptPos.y+PLANE_HEIGHT)); public: static const int PLANE_WIDTH=50; static const int PLANE_HEIGHT=60; //是否可以开火发射导弹 BOOL Fired(); } private: }; 补充说明 static CImageList m_Images; int m_nHorMotion;//飞机水平运行方向0->静止,1->右 -1->左 int m_nVerMotion;//飞机垂直运行方向0->静止,1->上 -1->下 int m_nWait;//发射延时
4.4 敌机对象
模块名称 功能描述 接口与属性 数据结构 与算法 敌机对象 图像加载、贴图、位置存储 new CEnemy class CEnemy :public CGameObject { public: CEnemy(void); ~CEnemy(void); ? 青软实训,2008
Page 10 of 14
3D版黑白棋,《模块设计报告》
CRect GetRect() { return static BOOL LoadImage(); BOOL Draw(CDC* pDC,BOOL bPause); CRect(m_ptPos,CPoint(m_ptPos.x+ENEMY_HEIGHT,m_ptPos.y+ENEMY_HEIGHT)); int GetMontion() const { } //是否可以开火发射子弹 BOOL Fired(); return m_nMotion; } private: }; 补充说明 static const int ENEMY_HEIGHT = 35; static CImageList m_Images; int m_nMotion;//方向 1->向下 0->停止 -1->向上 //图像索引 int m_nImgIndex; //速度 int m_V; int m_nWait;//发射延时 4.5 导弹对象
模块名称 功能描述 接口与属性 数据结构 与算法 导弹对象 图像加载、贴图、位置存储 new CBomb class CBomb : { public: CBomb(int x,int y); ~CBomb(void); Page 11 of 14
public CGameObject ? 青软实训,2008
3D版黑白棋,《模块设计报告》
CRect GetRect() { return static BOOL LoadImage(); BOOL Draw(CDC* pDC,BOOL bPause); CRect(m_ptPos,CPoint(m_ptPos.x+10,m_ptPos.y+BOMB_HEIGHT)); } private: }; 补充说明 static const int BOMB_HEIGHT = 20; static CImageList m_Images; 4.6 炸弹对象
模块名称 功能描述 接口与属性 数据结构 与算法 炸弹对象 图像加载、贴图、位置存储 new CBall; class CBall :public CGameObject { public: CRect GetRect() { return static BOOL LoadImage(); BOOL Draw(CDC* pDC,BOOL bPause); CBall(int x,int y,int nMontion); ~CBall(void); CRect(m_ptPos,CPoint(m_ptPos.x+BALL_HEIGHT,m_ptPos.y+BALL_HEIGHT)); } private: ? 青软实训,2008
static const int BALL_HEIGHT=8; Page 12 of 14
3D版黑白棋,《模块设计报告》
}; 补充说明 static CImageList m_Images; int m_nMotion;
4.7 爆炸对象
模块名称 功能描述 接口与属性 数据结构 与算法 爆炸对象 图像加载、贴图、位置存储 new CExplosion; class CExplosion :public CGameObject { public: CRect GetRect() { return static BOOL LoadImage(); BOOL Draw(CDC* pDC,BOOL bPause); CExplosion(int x,int y); ~CExplosion(void); CRect(m_ptPos,CPoint(m_ptPos.x+EXPLOSION_WIDTH,m_ptPos.y+EXPLOSION_WIDTH)); } private: //炸弹的图片列表 static CImageList m_Images; //图像索引的步进计数 int m_nProcess; public: }; 补充说明 static const int EXPLOSION_WIDTH = 66;
? 青软实训,2008
Page 13 of 14
3D版黑白棋,《模块设计报告》
4.4 文字对象
模块名称 功能描述 接口与属性 数据结构 与算法 文字对象 图像加载、贴图、位置存储 new CText; class CText :public CGameObject { public: CRect GetRect() { } return CRect(m_ptPos,CPoint(m_ptPos.x,m_ptPos.y)); BOOL Draw(CDC* pDC,BOOL bPause); CText(int x,int y); ~CText(void); }; 补充说明
? 青软实训,2008
Page 14 of 14
正在阅读:
飞机大战游戏 模块设计报告12-29
这个故事让我学会了做人要谦让作文300字07-15
模拟路灯控制系统(廖钰龙) - 图文12-23
蜡油加氢处理掺炼植物油工艺技术研究05-25
人教版高中生物必修一说课稿1 - 图文05-14
碧之轨迹攻略断章+终章1 - 图文11-05
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 模块
- 大战
- 飞机
- 报告
- 设计
- 游戏
- 交易押题卷四(题目)
- 报关员考试精讲班第1讲讲义
- 2.1大气的组成和垂直分布 复习提纲+练习+答案
- 初中英语教学中渗透中国传统文化的教学
- 电压降计算的各种公式
- 2015年休闲食品零售企业组织架构和部门职能设计
- 阀门 中英文对应
- 海马煲汤
- 美国中小学“21世纪技能”计划及启示
- 整理后:初三机械能和内能测试题
- 弹簧制图知识和弹簧画法
- 2019-2025年中国PPP项目市场深度评估与投资战略研究报告(定制版)目录
- 包头市昆区2017届中考第二次模拟英语试卷(扫描版,有答案) - 图文
- SAP2000常见问题 - 图文
- 浅谈房地产消费者心理
- 最新七年级下册生物期中考试试卷分析资料
- 教师资格证考试幼儿教育学 第二套
- 农民工工资保障制度宣传标语
- 新人教版五年级数学下册第一、二单元教案
- 新编日语2(修订版)1-10课单词