c飞机大战实训报告

c飞机大战实训报告

ID:27683579

大小:154.71 KB

页数:16页

时间:2018-12-05

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

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

1、实训报告飞机大战游戏设计与开发姓名:陆再旺专业名称:__数字媒体技术.班级:2011级学号:_201101051114信息科学与工程学院二零一三年十二月目录1.项目概述错误!未定义书签。2.相关技术错误!未定义书签。2.1透明贴图技术错误!未定义书签。2.2CObList技术错误!未定义书签。2.3获取矩形区域函数错误!未定义书签。2.4键盘控制战机位置函数错误!未定义书签。2.5设置定时器42.6双缓冲技术42.7内存释放技术43.总体设计与i羊细设计53.1规则子系统53.2游戏对象子系统53.3系统模块划分63.4主要功能模块71.綱势见7

2、2.实训中遇到的主要问题及解决方法n3.实训体会141.项目概述此次实训主要是做一个飞机大战的游戏,其需要实现的功能为:实现游戏对象的爆炸特效,文字提示功能和界而背景特效,遵循游戏规则进行游戏;。游戏中的重要角色可分为如丁几个部分:战机,敌机,战机的导弹,敌机的子弹,游戏规则为:玩家通过键盘控制用一个战机去击毁从上下两端进入的尽可能多的故机从而获得分数。敌机数量随机,进入画囬对战机进行攻击,两者或战机导弹与敌机相遇是发生爆炸,战机生命结束即游戏结束。2.相关技术2.1透明贴图函数函数原型:LoadTmage(CTmageList&imageLis

3、t,UNITbmpTD,COLORcrMask,intex,intcy,intnlnitial)//此函数主要就是用于将图片放入图像链表imageList屮。(以画敌机为例)CGameObject::LoadImage(mImages,IDBEnemy,RGB(0,0,0),ENRMYJIETGIIT,ENEMYJIRTGHT,0);m_Images.Draw(pDC,0,m_ptPos,ILD_TRANSPARENT);//此函数主要就是将niImages链表屮的阁像显示在pDC这个句柄屮。ILD_TKANSPARENT表示是透明贴图。它是相同

4、大小图像的一个集合,每个集合屮均以图像的索引序号基数,阁像列表通常由大图标或位图构成,其中包含透明位图模式。可用WINDOWS32位应用程序接口函数APT来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等揀作。2.2CObList链表函数原型:CobListm_0bjListball;//主要就是定义一个CObList类的一个链表对象用于存储所有的与此种相关的对象,易于后续的添加删除和提取数据。(以画敌机为例)CObListlistEnemy;POSITIONpos=listEnemy.GetHeadPosition();pos!=NU

5、LL;//读収头指针CEnemy*pEnemy=(CEnemy*)listEnemy.GetNext(pos);//GetNext获取循环遍历中的卜•一个元素2.3获取矩形区域函数CRectrect;//定义GetClientRect(&rect);//获取其矩形区域rect.IntersectRect(pEnemy->GetRect(),plane.GetRect());//判断两个矩形是否有交接2.4键盘控制战机位置函数//用于键盘控制其位置OnKeyDown(UINTnChar,UINTnKepCnt,UINTnFlags)if(nChar

6、==VK_LEFI)plane.SetHorMotion(-1);elseif(nChar==VKRIGHT)plane.SetHorMotion(1);elseif(nChar==VKUP)plane.SetVerMotion(-1);elseif(nChar==VKDOWN)plane.SetVerMotion(1);OnKeyUp(UINTnChar,UINTnRepCnt,UINTnElags)if(nChar==VK_LEFT)piane.SetHorMotion(0);elseif(nChar==VKRIGHT)plane.SetHo

7、rMotion(0);elseif(nChar==VK_UP)plane.SetVerMotion(0);elseif(nChar-=VK_DOWN)plane.SetVerMotion(0);2.5设置定时器SetTimer(1,20,NULL);//设置每20毫秒刷新一次定时器告诉WINDOWS—个时间间隔,然后WINDOWS以此时间间隔周期性出发程序。通常由两种方法来实现:发送WM_TIMEK消息和调用应用程序定义的回调函数。2.6双缓冲技术双缓冲技术主要就是利用缓存的原理进行将所有的东西都先存在一个缓冲的虚拟的区域,然后再一次性的将所有的

8、虚拟缓存中的东西都放入实在的存储器中。CDCdc;//定义新的设置上下文对象,下一步绘图就在这里CBitmapbitmap;//定义新的

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

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

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