c飞机大战实训总结报告附带码.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录 TOC \o 1-3 \h \u 12846 1. 概述 3 9120 1.1 实训项目介绍 3 14952 1.2 实训功效说明 3 19434 1.2.1 基础功效 3 4161 1.2.2 附加功效 3 10583 2. 相关技术 4 31157 2.1 Windows定时器技术 4 3051 2.2 透明贴图实现技术 4 2246 2.3 CObList链表 5 32620 2.4获取矩形区域 6 31945 2.5使用AfxMessageBox显示游戏过程中提醒信息 6 9715 2.6内存释放 6 14114 2.7 CImageList处理爆炸效果 6 19520 2.8对话框应用 6 9937 3. 总体设计和具体设计 7 11660 3.1 系统模块划分 7 27010 3.2 关键功效模块 8 19167 3.2.1 系统对象类图 8 5627 3.2.2 系统主程序活动图 9 6719 3.2.3 系统部分步骤图 9 797 4. 编码实现 12 13363 4.1 绘制游戏背景位图程序 12 14295 4.2 飞机大战游戏对象绘制程序 13 6757 4.3 飞机大战游戏对象战机位置动态控制 15 21433 4.4 飞机大战游戏对象之间碰撞实现 17 18551 4.5 游戏界面输出目前信息 19 320XX 5. 项目程序测试 XX 20 2106 5.1战机移动及子弹发射模块测试 20 5.2 敌机及炸弹模块测试 20 5.3 爆炸模块测试 20 2160 6. 实训中碰到关键问题及处理方法 21 3309 7. 实训体会 21 1. 概述 1.1 实训项目介绍 此次实训项目是做一个飞机大战游戏,应用MFC编程,完成一个界面简练流畅、游戏方法简单,玩起来易于上手桌面游戏。该飞机大战项目利用关键技术即是MFC编程中部分函数、链表思想和贴图技术。 1.2 实训功效说明 1.2.1 基础功效 (1)设置一个战机含有一定速度,经过键盘,方向键可控制战机位置,空格键发射子弹。 (2)界面中敌机出现位置,和敌机炸弹发射均为随机,敌机和敌机炸弹均含有一定速度,且伴随关卡难度增大,数量和速度均增加。 (3)对于随机产生敌机和敌机炸弹,若超出矩形区域,则释放该对象。 (4)添加爆炸效果,包含战机子弹打中敌机爆炸、敌机炸弹打中战机爆炸、战机和敌机相撞爆炸和战机子弹和敌机炸弹相撞爆炸四种爆炸效果。且爆炸发生后敌机、子弹、炸弹均消失,战机生命值减一。 1.2.2 附加功效 (1) 为游戏界面添加了背景图片,并在战机发射子弹、战机击中敌机、敌机击中战机、和战机敌机相撞时均添加了背景音效。 (2)为游戏设置了不一样关卡,每个关卡难度不一样,敌机和敌机炸弹速度伴随关卡增大而加紧,进入第二关以后敌机从上下方均会随机出现,且随机发射炸弹。 (3)第一关卡敌机从上方飞出,速度一定,战机每打掉一直敌机则增加一分,每积十分,则为战机增加一个生命值,当战机得分超出50分则可进入下一关;进入第二、三关时敌机速度加紧,分别从上下两方飞出,此时战机每得分20、30分,才会增加一个生命值,得分超出100、150分则进入下一关、通关。 (4) 在游戏界面输出目前游戏进行信息,包含目前得分、目前关卡和击中敌机数量。 (5)增加了鼠标控制战机位置这一效果,战绩位置伴随鼠标移动而移动,而且点击鼠标左键可使得战机发射子弹。 (6)实现了暂停游戏功效,玩家可经过键盘上‘Z’键,对游戏进行暂停。 (7)经过对话框弹出可提醒玩家是否查看游戏说明、是否进入下一关、是否重新开始等消息,使得玩家可自己选择。 2. 相关技术 2.1 Windows定时器技术 Windows定时器是一个输入设备,它周期性地在每经过一个指定时间间隔后就通知应用程序一次。程序将时间间隔告诉Windows,然后Windows给您程序发送周期性发生WM_TIMER消息以表示时间到了。本程序中使用多个定时器,分别控制不一样功效。在MFCAPI函数中使用SetTimer()函数设置定时器,设置系统间隔时间,在OnTimer()函数中实现响应定时器程序。 2.2 透明贴图实现技术 绘制透明位图关键就是创建一个“掩码”位图(mask bitmap),这个“掩码”位图是一个单色位图,它是位图中图像一个单色剪影。 在具体介绍实现过程之前先介绍下所使用画图函数和函数参数所代表功效;整个绘制过程需要使用到BitBlt()函数。整个功效实现过程以下: (1) 创建一张大小和需要绘制图像相同位图作为“掩码”位图; (2) 将新创建“掩码”位图存放至掩码位图设备描述表中; (3) 把

文档评论(0)

181****8523 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档