飞机大战实训报告Word格式文档下载.docx
- 文档编号:13314781
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:38
- 大小:89.09KB
飞机大战实训报告Word格式文档下载.docx
《飞机大战实训报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《飞机大战实训报告Word格式文档下载.docx(38页珍藏版)》请在冰豆网上搜索。
这个程序使用CObList链表来存储各效果。
CobList类似于一个双向链表,POSITION类型的变量为链表的键.使用POSITION变量,既可以作为链表循环中的循环变量,也可以作为标记某个位置的标签.我们可以通过获得某元素的POSITION来访问它。
本程序中主要用到的函数有:
GetHeadPosition():
获取链表首元素的POSITION;
AddTail():
将新的元素添加到链表最后;
GetNext(POSITION&
rPosition):
使rPosition指向下一个元素.
3设置定时器
SetTimer()函数来设置定时器。
4背景滚动
为了让游戏场景更加逼真,游戏节奏更加合理,可以通过让背景滚动来提高游戏的场景效应,实现这一技术时,可以将一张背景图片复制为2张,从上到下连续的拼接在一起,使其不会出现图片的卡顿和瞬移现象。
5内存释放技术
这个程序中有大量的地方需要使用内存,如果不及时删除会出现闪图等情况,容易导致程序崩溃,要及时释放内存资源。
3。
总体设计与详细设计
1系统模块划分
3.2主要功能模块
类关系图:
4.编码实现
//PlaneGameView。
cpp:
CPlaneGameView类的实现
voidCPlaneGameView:
:
UpdateFrame(CDC*pMemDC)
{
//绘制天空
if(level==0)
{
CPaintDCdc(this);
CBitmapbmpBackground;
//位图对象
bmpBackground.LoadBitmap(IDB_BITMAP1);
CDCdcMem;
//定义一个工具箱(设备上下文)
dcMem.CreateCompatibleDC(&
dc);
BITMAPbitmap;
bmpBackground。
GetBitmap(&bitmap);
//建立绑定关系
CBitmap*back=dcMem。
SelectObject(&
bmpBackground);
//保存原有CDC对象,并选入新CDC对象入DC
staticintcurr=1;
if(curr<
=1)
curr=GAME_HEIGHT-1;
curr—=1;
pMemDC-〉BitBlt(0,0,GAME_WIDTH,GAME_HEIGHT—curr,&
dcMem,0,curr,SRCCOPY);
pMemDC—>
BitBlt(0,GAME_HEIGHT-curr,GAME_WIDTH,curr,&
dcMem,0,0,SRCCOPY);
}
if(level>
=1&&
l==0&
&boss==0)
pMemDC—〉FillSolidRect(0,0,GAME_WIDTH,GAME_HEIGHT,RGB(0,0,0));
l++;
z=1;
}
if(level==1&&
l!
=0&&boss!
=0)
{
CPaintDCdc(this);
CBitmapbmpBackground;
bmpBackground。
LoadBitmap(IDB_BITMAP1);
CDCdcMem;
dcMem。
CreateCompatibleDC(&dc);
BITMAPbitmap;
CBitmap*back=dcMem.SelectObject(&
staticintcurr=1;
if(curr〈=1)
curr=GAME_HEIGHT-1;
curr—=1;
pMemDC—>
BitBlt(0,0,GAME_WIDTH,GAME_HEIGHT-curr,&
dcMem,0,curr,SRCCOPY);
pMemDC—〉BitBlt(0,GAME_HEIGHT—curr,GAME_WIDTH,curr,&dcMem,0,0,SRCCOPY);
if(level==2&&l!
=0&&
boss!
=0)
CPaintDCdc(this);
bmpBackground.LoadBitmap(IDB_MAP2);
CDCdcMem;
dcMem。
CreateCompatibleDC(&
dc);
BITMAPbitmap;
bmpBackground.GetBitmap(&
bitmap);
CBitmap*back=dcMem.SelectObject(&bmpBackground);
staticintcurr=1;
if(curr〈=1)
curr=GAME_HEIGHT-1;
curr-=1;
pMemDC-〉BitBlt(0,0,GAME_WIDTH,GAME_HEIGHT-curr,&
dcMem,0,curr,SRCCOPY);
pMemDC->
BitBlt(0,GAME_HEIGHT-curr,GAME_WIDTH,curr,&dcMem,0,0,SRCCOPY);
if(level==3&
&
l!
=0&&boss!
CBitmapbmpBackground;
bmpBackground.LoadBitmap(IDB_MAP3);
CreateCompatibleDC(&dc);
GetBitmap(&
bitmap);
CBitmap*back=dcMem.SelectObject(&
bmpBackground);
curr=GAME_HEIGHT—1;
curr—=1;
BitBlt(0,0,GAME_WIDTH,GAME_HEIGHT-curr,&
dcMem,0,curr,SRCCOPY);
BitBlt(0,GAME_HEIGHT-curr,GAME_WIDTH,curr,&dcMem,0,0,SRCCOPY);
}
if(level==4&&
bmpBackground.LoadBitmap(IDB_MAP4);
//兼容
bmpBackground.GetBitmap(&bitmap);
CBitmap*back=dcMem。
pMemDC-〉BitBlt(0,0,GAME_WIDTH,GAME_HEIGHT-curr,&dcMem,0,curr,SRCCOPY);
BitBlt(0,GAME_HEIGHT—curr,GAME_WIDTH,curr,&
dcMem,0,0,SRCCOPY);
}
if(level==5&
&l!
boss!
LoadBitmap(IDB_MAP5);
SelectObject(&bmpBackground);
pMemDC-〉BitBlt(0,0,GAME_WIDTH,GAME_HEIGHT—curr,&
dcMem,0,curr,SRCCOPY);
BitBlt(0,GAME_HEIGHT—curr,GAME_WIDTH,curr,&
dcMem,0,0,SRCCOPY);
5&
=0&
&boss!
bmpBackground.LoadBitmap(IDB_MAP6);
CBitmap*back=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 飞机 大战 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)