- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 新编地图学教程(第二版)练习题.pdf
- 《分数乘法》评课稿.doc
- 景德镇小吃街管理法.docx
- 操作系统实训报告.doc
- 成本控制最佳实践报告.doc
- 《劝学》教案【最新5篇】.doc
- 大学生寒假实践报告鉴定表.doc
- 关于环保的暑期社会实践报告.doc
- 作业成本法实验报告.doc
- 四升五奥数测试题.doc
- 化学反应速率与平衡.ppt
- 企业会计信息质量问题及对策【精品发布】.doc
- 免疫学的应用高二上学期生物人教版选择性必修一.pptx
- 高中物理自由落体运动课题研究力学部分+课件+-2023-2024学年高一上学期物理人教版必修第一册.pptx
- 北师大版生物七年级上册 《细胞的基本结构和功能》第2课时CEP课件1.pptx
- Unit 4 Grammar and usage(教学课件)-高中英语牛津译林版(2020)选择性必修第三册.pptx
- 特异性免疫高二上学期生物人教版选择性必修1.pptx
- 期末复习课件专题9+物体的浮沉条件及应用(2)++2023-2024学年人教版八年级物理下册.pptx
- 其他植物激素高二上学期生物人教版选择性必修1.pptx
- 三大费用核算节税技巧【会计实务操作教程】.pptx
文档评论(0)