c++实训报告飞机大战

c++实训报告飞机大战

ID:27933489

大小:278.00 KB

页数:15页

时间:2018-12-07

c++实训报告飞机大战_第1页
c++实训报告飞机大战_第2页
c++实训报告飞机大战_第3页
c++实训报告飞机大战_第4页
c++实训报告飞机大战_第5页
资源描述:

《c++实训报告飞机大战》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.实训报告飞机大战游戏设计与开发专业名称:______________________班级:__________________学号:___________________信息科学与工程学院二零一一年十一月.页脚....目录1.概述【一级标题,黑体,四号,加粗,顶头】42.相关技术42.1透明贴图函数(技术一的名称)42.2CObList链表(技术二的名称)42.3获取矩形区域函数52.4添加爆炸效果函数52.5弹出对话框函数52.6字体的个性化输出函数52.7鼠标键盘控制战机位置的函数62.8延迟函数62.9设置定时器62.10双缓冲技术62.11内存释

2、放技术63.总体设计与详细设计73.1系统模块划分83.2主要功能模块93.3扩展功能设计思路94.编码实现94.1游戏初始创建104.2定时器104.3背景设定104.4键盘控制函数114.5文字显示函数114.6游戏对象进行碰撞测试和碰撞销毁,文字提示函数124.7选择下一关卡以及选择完成后的执行代码134.8游戏结束代码144.9鼠标控制战机代码144.10重新开始游戏代码155.实训中遇到的主要问题及解决方法156.实训体会16.页脚....1.概述【一级标题,黑体,四号,加粗,顶头】(介绍所做的项目,要实现的主要功能)【正文,五号,宋体,首行缩进

3、2字符】此次实训主要是要做一个飞机大战的游戏,其需要实现的功能为:实现游戏对象的爆炸特效、声音特效、文字提示功能和界面背景特效,其主要是遵循一定的游戏规则进行游戏。游戏中的主要角色可分为如下几个基本部分:战机、敌机、战机的导弹、敌机的子弹。其主要遵循的游戏规则为:战机数量为1;由玩家通过键盘控制(方向键控制位置、CTRL键发射导弹)战机;导弹释放存在间隔,有一定的运行速度;导弹遇到敌机发生爆炸,敌机被炸毁,导弹消失,玩家得分;由计算机控制敌机自动向战机发动攻击;敌机数量随机,计算机生成敌机时随机选择类别;敌机从游戏区域的上下两端进入,左右位置随机;敌机行驶

4、期间,不左右移动,不反向移动;当敌机到达战机下方时发射炸弹对战机进行攻击;运行线路为直线,方向为从下至上,或从下至上,不可左右移动。纵向由发射位置起至游戏区域结束;炸弹遇到战机时发生爆炸,战机被炸毁,炸弹消失,游戏结束;炸弹运行时有速度限制。2.相关技术此次实训的飞机大战游戏其中的技术主要就是一些函数、内存释放和双缓冲技术。2.1透明贴图函数(技术一的名称)此次实训中用于贴图的函数:LoadImage(CImageList&imageList,UINTbmpID,COLORREFcrMask,intcx,intcy,intnInitial)//此函数主要用

5、于将图片放入图像链表imageList中。img_Bomb.Draw(pDC,0,m_m_ptPos,ILD_TRANSPARENT)//此函数主要是讲img_Bomb1链表中的图像显示在pDC这个句柄中。ILD_TRANSPARENT表示是透明贴图。其中主要就是CImageList图像列表。它是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用WINDOWS32位应用程序接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。2.2CObList链表(技术二

6、的名称)CObListm_ObjListball;//主要是定义一个CObList类的一个链表对象用于存储所有的此种相关的对象,易于后续的添加删除和提取数据。POSITIONposball=NULL,posball_t=NULL;//定义指针posball=pDoc->m_ObjListball.GetHeadPosition();//指针读取头结点pDoc->pball=(Cball*)pDoc->m_ObjListball.GetNext(posball);//指针读取下一个结点.页脚....2.3获取矩形区域函数CRectrc;//定义GetClie

7、ntRect(&rc);//获取其矩形区域获取结果课为:rc.Width()//矩形区域的宽度rc.Height()//矩形区域的高度CRecttmpRect;tmpRect.IntersectRect(&bRect,eRect))//判断两个矩形是否有交接2.4添加爆炸效果函数PlaySound((LPCTSTR)IDR_WAVE1,AfxGetInstanceHandle(),SND_RESOURCE

8、SND_ASYNC);//此函数用于将ID为IDR_WAVE1的音频在执行此语句时进行播放。2.5弹出对话框函数if(AfxMessageBox(L"是

9、否进入下一关?",MB_YESNO)==6){}//此函数主要是弹

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。