1、飞机大战游戏模块设计报告飞机大战游戏模块设计报告文件状态: 草稿 正式发布 正在修改文件标识:QRSX-004-DOC-AS当前版本:1.0作 者:青软实训完成日期:青岛软件园软件人力资源服务有限公司实训服务中心版 本 历 史版本/状态作者参与者起止日期备注1.0/发布张*0. 文档介绍 40.1 文档目的 40.2 文档范围 40.3 读者对象 40.4 参考文献 40.5 术语与缩写解释 41. 模块命名规则 52. 模块汇总 52.1 模块汇总表 52.2 UML活动图 62.3类体系 63. 游戏规则子系统 63.1 人工智能 64. 3游戏对象子系统 74.1 应用程序对象 74.2
2、 游戏对象 84.3 战机对象 94.4 敌机对象 104.5 导弹对象 114.6 炸弹对象 124.7 爆炸对象 134.4 文字对象 140. 文档介绍0.1 文档目的指导模块编码人员编码。0.2 文档范围模块功能介绍及实现要求0.3 读者对象模块编码人员0.4 参考文献0.5 术语与缩写解释缩写、术语解 释1. 模块命名规则2. 模块汇总2.1 模块汇总表游戏规则子系统模块名称功能简述人工智能人机对战规则的实现游戏子系统模块名称功能简述应用程序对象游戏程序的加载、游戏对象的绘制、游戏规则的调用、玩家的键盘事件获取游戏对象各个游戏对象的抽象父类战机对象战机类敌机对象敌机类导弹对象导弹类炸
3、弹对象炸弹类爆炸对象爆炸类文字对象文字类2.2 UML活动图2.3类体系3. 游戏规则子系统3.1 人工智能模块名称人工智能功能描述人机对战规则规则接口与属性void AI( void );数据结构与算法/随机产生敌机/检测四个方向键,移动战机/产生战机导弹、炸弹/碰撞检测补充说明4. 3游戏对象子系统4.1 应用程序对象模块名称应用程序对象功能描述游戏程序的加载、游戏对象的绘制、游戏规则的调用、玩家的键盘事件获取接口与属性CPlaneGame g_Game;数据结构与算法class CPlaneGamepublic: virtual void OnDraw(CDC* pDC); / 重写以绘
4、制该视图protected: /内存DC CDC* m_pMemDC; /设备DC CClientDC* m_pDC; /内存位图 CBitmap* m_pMemBitmap;protected: /初始化游戏 BOOL InitGame(); /结束游戏 void StopGame(); /刷新游戏的帧画面 void UpdateFrame(CDC* pMemDC); void AI(); /获得键的状态1-down int GetKey(int nVirtKey) return (GetKeyState(nVirtKey) & 0x8000) 1 : 0; CMyPlane* m_pMe;
5、 CObList m_ObjList4; /用链表来管理游戏对象;补充说明4.2 游戏对象模块名称游戏对象功能描述各个游戏对象的抽象父类接口与属性数据结构与算法/游戏对象的父类class CGameObject : public CObjectpublic: CGameObject(int x=0,int y=0); virtual CGameObject(); /绘制对象 virtual BOOL Draw(CDC* pDC,BOOL bPause)=0; /获得矩形区域 virtual CRect GetRect()=0; /获得左上角坐标 CPoint GetPoint() return
6、 m_ptPos; 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 CGameObjectpublic: CMyPlane(void); CMyPlane(void)
7、; 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; int GetVerMotion() const return m_nVerMotion; CRect GetRect() return CRect(m_ptPos,C
8、Point(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 敌机对象模
9、块名称敌机对象功能描述图像加载、贴图、位置存储接口与属性new CEnemy数据结构与算法class CEnemy :public CGameObjectpublic: CEnemy(void); CEnemy(void); 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_nMoti
10、on; /是否可以开火发射子弹 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 CGameObjectpublic: CBomb(int x,i
11、nt y); CBomb(void); 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
12、:public CGameObjectpublic: 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; int m_nMot
13、ion;补充说明4.7 爆炸对象模块名称爆炸对象功能描述图像加载、贴图、位置存储接口与属性new CExplosion;数据结构与算法class CExplosion :public CGameObjectpublic: 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+EXPLOSIO
14、N_WIDTH); private: /炸弹的图片列表 static CImageList m_Images; /图像索引的步进计数 int m_nProcess;public: static const int EXPLOSION_WIDTH = 66;补充说明4.4 文字对象模块名称文字对象功能描述图像加载、贴图、位置存储接口与属性new CText;数据结构与算法class CText :public CGameObjectpublic: CText(int x,int y); CText(void); BOOL Draw(CDC* pDC,BOOL bPause); CRect GetRect() return CRect(m_ptPos,CPoint(m_ptPos.x,m_ptPos.y); ;补充说明
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1