好好学习,天天向上,一流范文网欢迎您!
当前位置:首页 >> 最新范文 内容页

飞机大战游戏_模块设计报告

飞机大战游戏_模块设计报告 本文关键词:模块,大战,飞机,报告,设计

飞机大战游戏_模块设计报告 本文简介:飞机大战游戏模块设计报告文件标识:QRSX-004-DOC-AS当前版本:1.0作者:青软实训文件状态:[]草稿[√]正式发布[]正在修改完成日期:青岛软件园软件人力资源服务有限公司实训服务中心3D版黑白棋,《模块设计报告》?青软实训,2008Page2of14版本历史版本/状态作者参与者起止日期备

飞机大战游戏_模块设计报告 本文内容:

飞机大战游戏

模块设计报告

文件标识:

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_ObjList[4];

//用链表来管理游戏对象

};

补充说明

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

版黑白棋,

《模块设计报告》

?

青软实训,2008Page

14

of

14

4.4

文字对象文字对象

模块名称文字对象

功能描述图像加载、贴图、位置存储

接口与属性new

CText;

数据结构

与算法

class

CText

:public

CGameObject

{

public:

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));

}

};

补充说明

TAG标签: