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 游戏对象84.3 战机对象94.4 敌机对象
2、104.5 导弹对象114.6 炸弹对象124.7 爆炸对象134.4 文字对象140. 文档简介0.1 文档目指引模块编码人员编码。0.2 文档范畴模块功能简介及实现规定0.3 读者对象模块编码人员0.4 参照文献0.5 术语与缩写解释缩写、术语解 释1. 模块命名规则2. 模块汇总2.1 模块汇总表游戏规则子系统模块名称功能简述人工智能人机对战规则实现游戏子系统模块名称功能简述应用程序对象游戏程序加载、游戏对象绘制、游戏规则调用、玩家键盘事件获取游戏对象各个游戏对象抽象父类战机对象战机类敌机对象敌机类导弹对象导弹类炸弹对象炸弹类爆炸对象爆炸类文字对象文字类2.2 UML活动图2.3类体系3
3、. 游戏规则子系统3.1 人工智能模块名称人工智能功能描述人机对战规则规则接口与属性void AI( void );数据构造与算法/随机产生敌机/检测四个方向键,移动战机/产生战机导弹、炸弹/碰撞检测补充阐明4. 3游戏对象子系统4.1 应用程序对象模块名称应用程序对象功能描述游戏程序加载、游戏对象绘制、游戏规则调用、玩家键盘事件获取接口与属性CPlaneGame g_Game;数据构造与算法class CPlaneGamepublic:virtual void OnDraw(CDC* pDC); / 重写以绘制该视图protected:/内存DCCDC* m_pMemDC;/设备DCCCli
4、entDC* m_pDC;/内存位图CBitmap* m_pMemBitmap;protected:/初始化游戏BOOL InitGame();/结束游戏void StopGame();/刷新游戏帧画面void UpdateFrame(CDC* pMemDC);void AI();/获得键状态1-downint GetKey(int nVirtKey)return (GetKeyState(nVirtKey) & 0x8000)?1 :0;CMyPlane* m_pMe;CObList m_ObjList4;/用链表来管理游戏对象;补充阐明4.2 游戏对象模块名称游戏对象功能描述各个游戏对象抽
5、象父类接口与属性数据构造与算法/游戏对象父类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 m_ptPos;protected:/加载图像static BOOL LoadImage(CImageList& imgList,UINT bmpID
6、,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);BOOL Draw(CDC* pDC,BOOL bPause);static BOOL LoadImage();void SetHorMotion(int nMot
7、ion)m_nHorMotion = nMotion;int GetHorMotion() constreturn m_nHorMotion;void SetVerMotion(int nMotion)m_nVerMotion = nMotion;int GetVerMotion() constreturn m_nVerMotion;CRect GetRect()return CRect(m_ptPos,CPoint(m_ptPos.x+PLANE_WIDTH,m_ptPos.y+PLANE_HEIGHT);/与否可以开火发射导弹BOOL Fired();public:static const
8、 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 CGameObjectpublic:CEnemy(void);CEnemy
9、(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() constreturn m_nMotion;/与否可以开火发射子弹BOOL Fired();private:static const int ENEMY_HEIGHT = 35;static CImageList m_Images;int m_nMotion;
10、/方向 1-向下 0-停止 -1-向上/图像索引int m_nImgIndex;/速度int m_V;int m_nWait;/发射延时;补充阐明4.5 导弹对象模块名称导弹对象功能描述图像加载、贴图、位置存储接口与属性new CBomb数据构造与算法class CBomb :public CGameObjectpublic:CBomb(int x,int y);CBomb(void);BOOL Draw(CDC* pDC,BOOL bPause);static BOOL LoadImage();CRect GetRect()return CRect(m_ptPos,CPoint(m_ptPo
11、s.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 CGameObjectpublic:CBall(int x,int y,int nMontion);CBall(void);BOOL Draw(CDC* pDC,BOOL bPause);static BOOL LoadImage();CRect
12、 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_nMotion;补充阐明4.7 爆炸对象模块名称爆炸对象功能描述图像加载、贴图、位置存储接口与属性new CExplosion;数据构造与算法class CExplosion :public CGameObjectpublic:CExplosion(int x,int y);CExplos
13、ion(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;补充阐明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);补充阐明
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100