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

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息科学与工程学院软件实践实训报告 PAGE PAGE 16 实 训 报 告 飞机大战游戏设计与开发 专业名称:软件工程11-2 学 号:201101051723 姓 名:王佳贺 信息科学与工程学院 二零一三年十一月 目 录 TOC \o 1-3 \h \z \u 1. 概述【一级标题,黑体,四号,加粗,顶头】 4 2. 相关技术 4 2.1 透明贴图函数(技术一的名称) 4 2.2 CObList链表(技术二的名称) 4 2.3获取矩形区域函数 5 2.4添加爆炸效果函数 5 2.5弹出对话框函数 5 2.6字体的个性化输出函数 5 2.7鼠标键盘控制战机位置的函数 6 2.8 延迟函数 6 2.9设置定时器 6 2.10双缓冲技术 6 2.11 内存释放技术 6 3. 总体设计与详细设计 7 3.1 系统模块划分 8 3.2 主要功能模块 9 3.3 扩展功能设计思路 9 4. 编码实现 9 4.1游戏初始创建 10 4.2定时器 10 4.3背景设定 10 4.4键盘控制函数 11 4.5文字显示函数 11 4.6游戏对象进行碰撞测试和碰撞销毁,文字提示函数 12 4.7选择下一关卡以及选择完成后的执行代码 13 4.8游戏结束代码 14 4.9鼠标控制战机代码 14 4.10重新开始游戏代码 15 5. 实训中遇到的主要问题及解决方法 15 6. 实训体会 16 1. 概述【一级标题,黑体,四号,加粗,顶头】 (介绍所做的项目,要实现的主要功能)【正文,五号,宋体,首行缩进2字符】 此次实训主要是要做一个飞机大战的游戏,其需要实现的功能为:实现游戏对象的爆炸特效、声音特效、文字提示功能和界面背景特效,其主要是遵循一定的游戏规则进行游戏。 游戏中的主要角色可分为如下几个基本部分:战机、敌机、战机的导弹、敌机的子弹。其主要遵循的游戏规则为:战机数量为1;由玩家通过键盘控制(方向键控制位置、CTRL键发射导弹)战机;导弹释放存在间隔,有一定的运行速度;导弹遇到敌机发生爆炸,敌机被炸毁,导弹消失,玩家得分;由计算机控制敌机自动向战机发动攻击;敌机数量随机,计算机生成敌机时随机选择类别;敌机从游戏区域的上下两端进入,左右位置随机;敌机行驶期间,不左右移动,不反向移动;当敌机到达战机下方时发射炸弹对战机进行攻击;运行线路为直线,方向为从下至上,或从下至上,不可左右移动。纵向由发射位置起至游戏区域结束;炸弹遇到战机时发生爆炸,战机被炸毁,炸弹消失,游戏结束;炸弹运行时有速度限制。 2. 相关技术 此次实训的飞机大战游戏其中的技术主要就是一些函数、内存释放和双缓冲技术。 2.1 透明贴图函数(技术一的名称) 此次实训中用于贴图的函数: LoadImage(CImageList imageList,UINT bmpID,COLORREF crMask,int cx,int cy,int nInitial) //此函数主要用于将图片放入图像链表imageList中。 img_Bomb.Draw(pDC,0,m_m_ptPos,ILD_TRANSPARENT) //此函数主要是讲img_Bomb1链表中的图像显示在pDC这个句柄中。ILD_TRANSPARENT表示是透明贴图。 其中主要就是CImageList图像列表。它是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用WINDOWS32位应用程序接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。 2.2 CObList链表(技术二的名称) CObList m_ObjListball; //主要是定义一个CObList类的一个链表对象用于存储所有的此种相关的对象,易于后续的添加删除和提取数据。 POSITION posball=NULL,posball_t=NULL; //定义指针 posball=pDoc-m_ObjListball.GetHeadPosition();//指针读取头结点 pDoc-pball= (Cball *)pDoc-m_ObjListball.GetNext(posball); //指针读取下一个结点 2.3获取矩形区域函数 CRect rc; //定义 GetClientRect(rc); //获取其矩形区域 获取结果课为:rc.Width() //矩形区域的宽度rc.H

文档评论(0)

151****0181 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档