实训答辩
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、程序物理结构
文件名称及作用:
BackGround类:定义背景 Enemy类:定义敌机
Explo:定义爆炸效果
Hero类:定义玩家控制的英雄战机 MyGameView:输出主体 Bullet类:定义子弹
系统模块划分
GameNature
BackGround
Bullet
Enemy
Hero
Explo
GameWord
GameMassage
三、问题及解决方法
开始对C++的面向对象的思想和逻辑思路的不熟悉, 不明白其中的封装之类的以及多态的思想。后来主要是 通过看书大概的理解了些面向对象的思想和思路以及其 好处。 前期画面闪烁问题得不到解决,上网查资料得知双缓 冲技术,并运用实现。 回收链表的弃用对象遇到问题,删除对象与指针时会 出现错误,最后经过研究,使空指针指向NULL,控制野 指针的出现,从而避免了访问地址冲突,解决了内存释 放的问题。
pDC->TransparentBlt(x, y, width, height, &memDC, 0, 0, width, height, RGB(0, 0, 0));
键盘控制战机移动的函数
GetKeyState(VK_UP) ……
背景音乐 PlaySound();
内存释放技术 ……
delete 删除指针 RemoveAt()链表元素删除
四、心得体会
通过这次实训,我增长了许多知识,学习到了MFC的应 用,但是对于MFC的理解还是不够透彻,不管实际的用处到 底有多大,它的思想是值得学习的,对于面向对象的程序设 计思想的培养很有好处,它是经典的c++面向对象思想的结 构化的体现。同时我也发现了自己已经学过的知识上面的不 足,并且通过实践加深了理解。 在软件开发的过程中要及时做好备份,不光是最新的解 决方案的备份,历史版本也要留一份,这样在遇到不可逆转 错误或者不容易逆转的错误时可以在历史版本的基础上继续 开发,而不必把过多的经历浪费在程序代码的恢复上。
C++实训—飞机大战
信息科学与工程学院 物联网工程2013级1班
宫晨
201301052101
此次实训主要是要做一个飞机大战的游戏,其需要实现的 功能为:实现游戏对象的爆炸特效、文字提示功能、背景音乐 和界面背景特效,其主要是遵循一定的游戏规则进行游戏。游 戏中的主要角色可分为如下几个基本部分:战机、敌机、战机 的导弹、敌机的子弹。 其主要遵循的游戏规则为:玩家通过键盘操控战机 (WASD控制飞机的移动,J键控制飞机发射导弹,K键控制飞 机发射大招);战机有一定生命值;导弹释放存在间隔,有一 定的运行速度,导弹遇到敌机发生爆炸,敌机被炸毁,导弹消 失,玩家得分;由计算机控制敌机种类数量随机出现,从上端 进入,敌机自动向战机发动攻击;炸弹遇到战机时生命值削减, 生命值为零时战机被炸毁,游戏结束;
游戏开始界面 按enter键开始游戏
大型敌机
小型敌机
玩家战机发 射子弹
生命值与 玩家得分 大型敌机导弹 小型Hale Waihona Puke Baidu机子弹
玩家战机
飞机大招
爆炸效果
游戏结束界面 按enter键可以回到开始界面
一、主要技术要求
透明贴图函数 获取矩形区域函数 双缓冲绘图
GetClientRect(&Rect);