1 / 15
文档名称:

c实训报告(飞机大战).doc

格式:doc   大小:273KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c实训报告(飞机大战).doc

上传人:1136365664 2018/4/9 文件大小:273 KB

下载得到文件列表

c实训报告(飞机大战).doc

相关文档

文档介绍

文档介绍:实训报告
飞机大战游戏设计与开发
专业名称:软件工程11-2
学号:201101051723
姓名:王佳贺
信息科学与工程学院
二零一三年十一月
目录
1. 概述【一级标题,黑体,四号,加粗,顶头】 4
2. 相关技术 4
透明贴图函数(技术一的名称) 4
CObList链表(技术二的名称) 4
5
5
5
5
6
延迟函数 6
6
6
内存释放技术 6
3. 总体设计与详细设计 7
系统模块划分 8
主要功能模块 9
扩展功能设计思路 9
4. 编码实现 9
10
10
10
11
11
,文字提示函数 12
13
14
14
15
5. 实训中遇到的主要问题及解决方法 15
6. 实训体会 16
1. 概述【一级标题,黑体,四号,加粗,顶头】
(介绍所做的项目,要实现的主要功能)【正文,五号,宋体,首行缩进2字符】
此次实训主要是要做一个飞机大战的游戏,其需要实现的功能为:实现游戏对象的爆炸特效、声音特效、文字提示功能和界面背景特效,其主要是遵循一定的游戏规则进行游戏。
游戏中的主要角色可分为如下几个基本部分:战机、敌机、战机的导弹、敌机的子弹。其主要遵循的游戏规则为:战机数量为1;由玩家通过键盘控制(方向键控制位置、CTRL键发射导弹)战机;导弹释放存在间隔,有一定的运行速度;导弹遇到敌机发生爆炸,敌机被炸毁,导弹消失,玩家得分;由计算机控制敌机自动向战机发动攻击;敌机数量随机,计算机生成敌机时随机选择类别;敌机从游戏区域的上下两端进入,左右位置随机;敌机行驶期间,不左右移动,不反向移动;当敌机到达战机下方时发射炸弹对战机进行攻击;运行线路为直线,方向为从下至上,或从下至上,不可左右移动。纵向由发射位置起至游戏区域结束;炸弹遇到战机时发生爆炸,战机被炸毁,炸弹消失,游戏结束;炸弹运行时有速度限制。
2. 相关技术
此次实训的飞机大战游戏其中的技术主要就是一些函数、内存释放和双缓冲技术。
透明贴图函数(技术一的名称)
此次实训中用于贴图的函数:
LoadImage(CImageList& imageList,UINT bmpID,COLORREF crMask,int cx,int cy,int nInitial) //此函数主要用于将图片放入图像链表imageList中。
(pDC,0,m_m_ptPos,ILD_TRANSPARENT) //此函数主要是讲img_Bomb1链表中的图像显示在pDC这个句柄中。ILD_TRANSPARENT表示是透明贴图。
其中主要就是CImageList图像列表。它是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用WINDOWS32位应用程序接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。
CObList链表(技术二的名称)
CObList m_ObjListball; //主要是定义一个CObList类的一个链表对象用于存储所有的此种相关的对象,易于后续的添加删除和提取数据。
POSITION posball=NULL,posball_t=NULL; //定义指针
posball=pDoc->();//指针读取头结点
pDoc->pball= (Cball *)pDoc->(posball); //指针读取下一个结点

CRect rc; //定义
GetClientRect(&rc); //获取其矩形区域获取结果课为:() //() //矩形区域的高度
CRect tmpRect;
(&bRect,eRect))//判断两个矩形是否有交接

PlaySound((LPCTSTR)IDR_WAVE1,AfxGetInsta