C++实训报告 飞机大战游戏设计与开发

C++实训报告 飞机大战游戏设计与开发

ID:44921651

大小:310.01 KB

页数:27页

时间:2019-11-05

C++实训报告 飞机大战游戏设计与开发_第1页
C++实训报告 飞机大战游戏设计与开发_第2页
C++实训报告 飞机大战游戏设计与开发_第3页
C++实训报告 飞机大战游戏设计与开发_第4页
C++实训报告 飞机大战游戏设计与开发_第5页
资源描述:

《C++实训报告 飞机大战游戏设计与开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实训报告飞机大战游戏设计与开发姓名***专业名称:数学专业班级:*****学号:******信息科学与工程学院二零一三年十一月目录1.概述…………………………………………………………………22.相关技术…………………………………………………………22.1获取矩形区域函数…………………………………………………………22.2添加爆炸效果函数…………………………………………………………22.3弹出对话框函数……………………………………………………………32.4字体的个性化输出函数………………………………………………

2、……42.5键盘控制战机位置和发射子弹的函数……………………………………42.6设置定时器…………………………………………………………………42.7双缓冲技术…………………………………………………………………52.8内存释放技术………………………………………………………………53.需求分析……………………………………………………………53.1功能需求分析………………………………………………………………53.2数据需求分析………………………………………………………………63.3行为需求分析……………………………

3、…………………………………64.总体设计与详细设计……………………………………………64.1系统模块划分………………………………………………………………84.2主要功能模块………………………………………………………………84.3扩展功能设计思路…………………………………………………………95.编码实现…………………………………………………………96.测试情况说明……………………………………………………246.1主要模块测试情况(白盒)………………………………………………246.2主要功能测试情况(黑盒)………

4、………………………………………247.实训中遇到的主要问题及解决方法……………………………258.实训体会…………………………………………………………25信息科学与工程学院软件实践实训报告1.概述飞机大战游戏是基于Windows桌面的射击类游戏。做为一个游戏首先要保证游戏本身的规则,而这个版本的一个重要的功能就是其2D的展现形式。飞机大战游戏作为PC中一款桌面游戏,界面简洁流畅、游戏方式简单,玩起来易于上手。其实现的功能为:实现游戏对象的爆炸特效、声音特效、文字提示功能和界面背景,其主要是遵循一定的游戏规则进

5、行游戏。游戏中的主要角色可分为如下几个基本部分:战机、敌机、战机的导弹、敌机的子弹。其主要遵循的游戏规则为:战机数量为1;由玩家通过键盘控制(方向键控制位置、空格键发射导弹)战机;导弹释放存在间隔,有一定的运行速度;导弹遇到敌机发生爆炸,敌机被炸毁,玩家得分;由计算机控制敌机自动向战机发动攻击;敌机数量随机,计算机生成敌机时随机选择位置;敌机从游戏区域的上下两端进入;敌机行驶期间,不左右移动,不反向移动;敌机发射炸弹对战机进行攻击,运行线路为直线,方向为从下至上,或从下至上,不可左右移动,敌机炸弹击中战机,战

6、机生命值减1。该游戏有关卡,战机生命值减为0,游戏结束,选择是否重新开始;战机仍有生命值时,并且得到要求的分数可进入下一关。2.相关技术此次实训的飞机大战游戏其中的技术主要就是一些函数(获取矩形区域函数、添加爆炸效果函数、弹出对话框函数、字体的个性化输出函数、键盘控制战机位置和发射子弹的函数)、设置定时器、内存释放和双缓冲技术。2.1获取矩形区域函数CRectCBomb::getRect(void){returnCRect(CPoint(Pos.x,Pos.y),CPoint(Pos.x+55,Pos.y+2

7、0));}CRectbombRect=bomb->getRect();CRectCEnemy::getRect(void){returnCRect(CPoint(Pos.x,Pos.y),CPoint(Pos.x+35,Pos.y+35));}CRectenemyRect=enemy->getRect();CRecttempRect;tempRect.IntersectRect(&bombRect,enemyRect)//判断两个矩形是否有交接2信息科学与工程学院软件实践实训报告2.2添加爆炸效果函数Play

8、Sound((LPCTSTR)IDR_WAVE2,AfxGetInstanceHandle(),SND_RESOURCE

9、SND_ASYNC);//此函数用于将ID为IDR_WAVE1的音频在执行此语句时进行播放。2.3弹出对话框函数if(AfxMessageBox(L"GAMEOVER!重新开始?",MB_YESNO)==1){//清空敌机链表ListEnemy1.RemoveAll();List

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。