飞机大战游戏_模块设计报告.doc_第1页
飞机大战游戏_模块设计报告.doc_第2页
飞机大战游戏_模块设计报告.doc_第3页
飞机大战游戏_模块设计报告.doc_第4页
飞机大战游戏_模块设计报告.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

飞机大战游戏 模块设计报告 文件标识: QRSX-004-DOC-AS 当前版本:1.0 作 者:青软实训 文件状态: 草稿 正式发布 正在修改 完成日期: 青岛软件园软件人力资源服务有限公司 实训服务中心 3D 版黑白棋, 模块设计报告 青软实训,2008Page 2 of 14 版 本 历 史 版本/状态作者参与者起止日期备注 1.0/发布张玉星 3D 版黑白棋, 模块设计报告 青软实训,2008Page 3 of 14 目目目 录录录 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 3D 版黑白棋, 模块设计报告 青软实训,2008Page 4 of 14 0. 文档介绍文档介绍 0.1 文档目的文档目的 指导模块编码人员编码。 0.2 文档范围文档范围 模块功能介绍及实现要求 0.3 读者对象读者对象 模块编码人员 0.4 参考文献参考文献 0.5 术语与缩写解释术语与缩写解释 缩写、术语缩写、术语解解 释释 3D 版黑白棋, 模块设计报告 青软实训,2008Page 5 of 14 1. 模块命名规则模块命名规则 2. 模块汇总模块汇总 2.1 模块汇总表模块汇总表 游戏规则子系统游戏规则子系统 模块名称功能简述 人工智能人机对战规则的实现 游戏子系统游戏子系统 模块名称功能简述 应用程序对象游戏程序的加载、游戏对象的绘制、游戏规则的调用、玩家的键盘事 件获取 游戏对象各个游戏对象的抽象父类 战机对象战机类 敌机对象敌机类 导弹对象导弹类 炸弹对象炸弹类 爆炸对象爆炸类 文字对象文字类 3D 版黑白棋, 模块设计报告 青软实训,2008Page 6 of 14 2.2 UML 活动图活动图 启动程序 游戏初始化 初始化游戏对象 初始化绘图环境 绘制游戏对象 碰撞运算 积分判断 游戏是否结束 2.3 类体系类体系 +Draw() : bool 游游戏戏对对象象 敌敌机机战战机机导导弹弹 炸炸弹弹爆爆炸炸效效果果文文字字提提示示 3. 游戏规则子系统游戏规则子系统 3.1 人工智能人工智能 模块名称人工智能 功能描述人机对战规则规则 接口与属性void AI( void ); 数据结构 与算法 /随机产生敌机 /检测四个方向键,移动战机 3D 版黑白棋, 模块设计报告 青软实训,2008Page 7 of 14 /产生战机导弹、炸弹 /碰撞检测 补充说明 4. 3 游戏对象子系统游戏对象子系统 4.1 应用程序对象应用程序对象 模块名称应用程序对象 功能描述游戏程序的加载、游戏对象的绘制、游戏规则的调用、玩家的键盘事件获 取 接口与属性 CPlaneGame g_Game; 数据结构 与算法 class CPlaneGame public: virtual void OnDraw(CDC* pDC); / 重写以绘制该视图重写以绘制该视图 protected: /内存内存DC CDC* m_pMemDC; /设备设备DC CClientDC* m_pDC; /内存位图内存位图 CBitmap* m_pMemBitmap; protected: /初始化游戏初始化游戏 BOOL InitGame(); /结束游戏结束游戏 void StopGame(); /刷新游戏的帧画面刷新游戏的帧画面 void UpdateFrame(CDC* pMemDC); void AI(); 3D 版黑白棋, 模块设计报告 青软实训,2008Page 8 of 14 /获得键的状态获得键的状态1-down int GetKey(int nVirtKey) return (GetKeyState(nVirtKey) CMyPlane* m_pMe; CObList m_ObjList4; /用链表来管理游戏对象 ; 补充说明 4.2 游戏对象游戏对象 模块名称游戏对象 功能描述各个游戏对象的抽象父类 接口与属性 数据结构 与算法 /游戏对象的父类 class CGameObject : public CObject public: CGameObject(int x=0,int y=0); virtual CGameObject(); /绘制对象 virtual BOOL Draw(CDC* pDC,BOOL bPause)=0; /获得矩形区域 virtual CRect GetRect()=0; /获得左上角坐标 CPoint GetPoint() return m_ptPos; 3D 版黑白棋, 模块设计报告 青软实训,2008Page 9 of 14 protected: /加载图像 static BOOL LoadImage(CImageList protected: /物体的位置 CPoint m_ptPos; ; 补充说明 4.3 战机对象战机对象 模块名称战机对象 功能描述战机类,战机图像加载、贴图、位置存储 接口与属性CMyPlane* m_pMe; 数据结构 与算法 class CMyPlane :public CGameObject public: CMyPlane(void); CMyPlane(void); BOOL Draw(CDC* pDC,BOOL bPause); static BOOL LoadImage(); void SetHorMotion(int nMotion) m_nHorMotion = nMotion; int GetHorMotion() const return m_nHorMotion; void SetVerMotion(int nMotion) m_nVerMotion = nMotion; 3D 版黑白棋, 模块设计报告 青软实训,2008Page 10 of 14 int GetVerMotion() const return m_nVerMotion; CRect GetRect() return CRect(m_ptPos,CPoint(m_ptPos.x+PLANE_WIDTH,m_ptPos.y+PLANE_HEIGHT); /是否可以开火发射导弹 BOOL Fired(); public: static const int PLANE_WIDTH=50; static const int PLANE_HEIGHT=60; 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); 3D 版黑白棋, 模块设计报告 青软实训,2008Page 11 of 14 BOOL Draw(CDC* pDC,BOOL bPause); static BOOL LoadImage(); CRect GetRect() return CRect(m_ptPos,CPoint(m_ptPos.x+ENEMY_HEIGHT,m_ptPos.y+ENEMY_HEIGHT); int GetMontion() const return m_nMotion; /是否可以开火发射子弹 BOOL Fired(); 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 CGameObject public: CBomb(int x,int y); CBomb(void); 3D 版黑白棋, 模块设计报告 青软实训,2008Page 12 of 14 BOOL Draw(CDC* pDC,BOOL bPause); static BOOL LoadImage(); CRect GetRect() return 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: CBall(int x,int y,int nMontion); CBall(void); BOOL Draw(CDC* pDC,BOOL bPause); static BOOL LoadImage(); CRect GetRect() return CRect(m_ptPos,CPoint(m_ptPos.x+BALL_HEIGHT,m_ptPos.y+BALL_HEIGHT); private: static const int BALL_HEIGHT=8; static CImageList m_Images; 3D 版黑白棋, 模块设计报告 青软实训,2008Page 13 of 14 int m_nMotion; ; 补充说明 4.7 爆炸对象爆炸对象 模块名称爆炸对象 功能描述图像加载、贴图、位置存储 接口与属性new CExplosion; 数据结构 与算法 class CExplosion :public CGameObject public: CExplosion(int x,int y); CExplosion(void); BOOL Draw(CDC* pDC,BOOL bPause); static BOOL LoadImage(); CRect GetRect() return 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; ; 补充说明 3D 版黑白棋, 模块设计报告 青软实训,200

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论