C实训报告——飞机大战.docVIP

  • 97
  • 0
  • 约2.43万字
  • 约 28页
  • 2018-10-09 发布于重庆
  • 举报
C实训报告——飞机大战

软件开发生?产 实习报告 姓名 XXX 学号 XXXXX?X 班级 XXXX 项目名称 飞机大战游?戏 实习地点 XXX 实习时间 XXX 实习成绩 指导教师签?字 信息科学与?工程学院 2014 年 10 月 6 日 软件开发生?产实习报告? 实习目的 1.1使学生全?面了解软件?项目实施的?过程,理解软件企?业对于程序?员的基本素?质和技术能?力要求。 1.2使学生掌?握C++及Wind?ow程序设?计的基本技?术,能够运用M?FC技术及?其开发环境?进行小型项?目的开发。 1.3重点培养?学生的独立?创新精神和?查阅资料能?力,提高其口头?和书面的沟?通能力。 1.4使学生掌?握快速学习?新知识、新技术方法?,培养良好的?分析问题和?解决问题的?能力 1.5重点提高?学生的编程?能力,使学生建立?正确的编程?理念,养成规范的?编程习惯。 2. 实习计划 2.1 C++语言知识复?习,尤其是指针?的安全和类?型转换继承?的使用、多态的使用?。 2.2 项目技术学?习:Windo?ws窗体消?息机制、透明绘图、游戏对象的?面向对象分?析和设计、API使用?,参考相应的?书籍详尽的?学习。 2.3 Windo?ws API编程?基础练习,实现简单的?透明贴图,即把战机图?片贴到屏幕?上。 2.4 读懂老师给?的游戏项目?技术架构设?计、游戏对象的?面向对象分?析和设计、UML建模?,同时把其余?的图片包括?敌机、子弹、爆炸效果登?都贴到屏幕?上。 2.5 项目编码、测试(包括讲师演?练)、完成基本功?能,主要实现战?机的控制移?动、敌机的随机?出现并移动?和敌机发射?子弹等。 2.6 项目迭代,完成扩展功?能,把本项目的?功能(尤其是人工?智能部分)实现。 2.7 全部代码测?试并改进,尽可能好的?完善项目。 3.实习过程 3.1 技术准备 提高程序编?写能力,提高程序调?试能力,资料检索、阅读能力,强大的自学?能力,加深对面向?对象程序设?计的理解。具体说来,需要掌握指?针的安全和?类型转换,继承和组合?的区别、继承的使用?,多态的使用?,GDI的应?用以及UM?L建模,了解游戏编?程架构、Win32? API编程?。再具体来说?: 3.1.1透明贴图?实现技术 绘制透明位?图的关键就?是创建一个?“掩码”位图(mask bitma?p),这个“掩码”位图是一个?单色位图,它是位图中?图像的一个?单色剪影。 在详细介绍?实现过程之?前先介绍下?所使用的画?图函数以及?函数参数所?代表的功能?;整个绘制过?程需要使用?到BitB?lt()函数。整个功能的?实现过程如?下: (1) 创建一张大?小与需要绘?制图像相同?的位图作为?“掩码”位图; (2) 将新创建的?“掩码”位图存储至?掩码位图的?设备描述表?中; (3) 把位图设备?描述表的背?景设置成“透明色”,不需要显示?的颜色; (4) 复制粘贴位?图到“掩码”位图的设备?描述表中,这个时候“掩码”位图设备描?述表中存放?的位图与位?图设备描述?表中的位图?一样; (5) 把需要透明?绘制的位图?与对话框绘?图相应区域?的背景进行?逻辑异或操?作绘制到对?话框上; (6) 把“掩码”位图与这个?时候对话框?相应区域的?背景进行逻?辑与的操作?; (7) 重复步骤5?的操作,把需要透明?绘制的位图?与对话框绘?图相应区域?的背景进行?逻辑异或操?作绘制到对?话框上; (8) 最后把系统?的画笔还给?系统,删除使用过?的GDIO?bject?,释放非空的?指针,最后把新建?的设备描述?表也删除。 BOOL CGame?Objec?t::LoadI?mage(CImag?eList? imgLi?st,UINT bmpID?, COLOR?REF crMas?k,int cx,int cy,int nInit?ial) { CBitm?ap bmp; if(!bmp.LoadB?itmap?(bmpID?)) retur?n FALSE?; if(!imgLi?st.Creat?e(cx, cy, ILC_C?OLOR2?4|ILC_M?ASK, nInit?ial, 0)) retur?n FALSE?; imgLi?st.Add(bmp, crMas?k); retur?n TRUE; } 3.1.2 CObLi?st链表 在本程序中?我使用了C?ObLis?t链表来分?别存储敌机?,炸弹,导弹,爆 炸效果和掉?落物品。CobLi?st类似于?一个双向链?表,POSIT?ION类型

文档评论(0)

1亿VIP精品文档

相关文档