打飞机游戏是一款非常经典的游戏,大家想知道用c++语言怎么实现呢?这里小编就给大家带来C++打飞机的游戏源代码,详细会对大家学习c++语言有很大的帮助。晶海护士考试app下载-晶海护士考试手机版2.2.0安卓版

C++打飞机的游戏代码
voidTitleDisplay(void) //显示序
{
HRESULT ddrval;
//计算图象卷轴的坐标数据
RECTbackR1,frontR1,backR2,frontR2,backR3,frontR3;
staticintn=0;
staticintx1=0,x2=0,x3=0;
if(x1==310&&bSoundDrive)
{
cDSound.Play(false,1);
}
if(x1<420||x2<640)
{
x1+=1;
if(x1>420)x1=420;
if(x1<200)
{
SetRect(&backR1,0,0,x1,480);
SetRect(&frontR1,640-x1,0,640,480);
}
else
{
SetRect(&backR1,0,0,200,480);
SetRect(&frontR1,640-x1,0,840-x1,480);
}
if(x1>100)
{
x2+=2;
}
if(x2>640)x2=640;
if(x2<220)
{
SetRect(&backR2,0,0,x2,480);
SetRect(&frontR2,640-x2,0,640,480);
SetRect(&backR3,220-x2,0,220,480);
SetRect(&frontR3,0,0,x2,480);
}
else
{
SetRect(&backR2,0,0,220,480);
SetRect(&frontR2,640-x2,0,860-x2,480);
SetRect(&backR3,0,0,220,480);
SetRect(&frontR3,x2-220,0,x2,480);
}
//清屏后台缓冲区
DDBLTFX ddBltFx;
ddBltFx.dwSize=sizeof(DDBLTFX);
ddBltFx.dwFillColor=DDColorMatch(lpDDSBack,RGB(0,0,0));
lpDDSBack->Blt(NULL,NULL,NULL,DDBLT_WAIT|DDBLT_COLORFILL,&ddBltFx);
//将背景图象Blit到后台缓冲区
lpDDSBack->Blt(&frontR1,lpDDSPic6,&backR1,DDBLT_WAIT,NULL);
//将前景图象透明Blit到后台缓冲区
lpDDSBack->Blt(&frontR2,lpDDSPic4,&backR2,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
lpDDSBack->Blt(&frontR3,lpDDSPic5,&backR3,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
}
else///移动开始
{
//清屏后台缓冲区
DDBLTFX ddBltFx;
ddBltFx.dwSize=sizeof(DDBLTFX);
ddBltFx.dwFillColor=DDColorMatch(lpDDSBack,RGB(0,0,0));
lpDDSBack->Blt(NULL,NULL,NULL,DDBLT_WAIT|DDBLT_COLORFILL,&ddBltFx);
SetRect(&frontR1,0,0,640,480);
SetRect(&backR1,0,0,640,480);
lpDDSBack->Blt(&frontR1,lpDDSPic1,&backR1,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
x3+=1;
if(x3<540)
{
SetRect(&backR1,540-x3,0,540,100);
SetRect(&frontR1,0,380,x3,480);
}
else
{
if(x3<640)
{
SetRect(&backR1,0,0,540,100);
SetRect(&frontR1,x3-540,380,x3,480);
SetRect(&backR2,1080-x3,100,540,200);
SetRect(&frontR2,0,380,x3-540,480);
lpDDSBack->Blt(&frontR2,lpDDSPic8,&backR2,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
}
if(x3>=640&&x3<1080)
{
SetRect(&backR1,0,0,540-(x3-640),100);
SetRect(&frontR1,100+x3-640,380,640,480);
SetRect(&backR2,1080-x3,100,540,200);
SetRect(&frontR2,0,380,x3-540,480);
lpDDSBack->Blt(&frontR2,lpDDSPic8,&backR2,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
}
if(x3>=1080&&x3<1180)
{
SetRect(&backR1,0,0,540-(x3-640),100);
SetRect(&frontR1,100+x3-640,380,640,480);
SetRect(&backR2,0,100,540,200);
SetRect(&frontR2,x3-1080,380,x3-540,480);
lpDDSBack->Blt(&frontR2,lpDDSPic8,&backR2,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
SetRect(&backR2,540-(x3-1080),0,540,100);
SetRect(&frontR2,0,380,x3-1080,480);
lpDDSBack->Blt(&frontR2,lpDDSPic8,&backR2,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
}
if(x3>=1180&&x3<1620)
{
SetRect(&backR1,540-(x3-1080),0,540,100);
SetRect(&frontR1,0,380,x3-1080,480);
SetRect(&backR2,0,100,540-(x3-1180),200);
SetRect(&frontR2,x3-1080,380,640,480);
lpDDSBack->Blt(&frontR2,lpDDSPic8,&backR2,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
}
if(x3>=1620&&x3<1720)
{
SetRect(&backR1,0,100,540-(x3-1180),200);
SetRect(&frontR1,100+x3-1180,380,640,480);
SetRect(&backR2,0,0,540,100);
SetRect(&frontR2,x3-1620,380,x3-1080,480);
lpDDSBack->Blt(&frontR2,lpDDSPic8,&backR2,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
SetRect(&backR2,540-(x3-1620),100,540,200);
SetRect(&frontR2,0,380,x3-1620,480);
lpDDSBack->Blt(&frontR2,lpDDSPic8,&backR2,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
if(x3>=1719)x3=640;
}
}
lpDDSBack->Blt(&frontR1,lpDDSPic8,&backR1,DDBLT_WAIT|DDBLT_KEYSRC,NULL);
}
//打印刷新率fps
HDChdc;
chartemp[32];
lpDDSBack->GetDC(&hdc);
SetBkMode(hdc,TRANSPARENT);
SetTextColor(hdc,RGB(0,255,0));
sprintf(temp,"%d帧/秒",iFps);
TextOut(hdc,0,0,temp,strlen(temp));
lpDDSBack->ReleaseDC(hdc);
//换页
while(1)
{
ddrval=lpDDSPrimary->Flip(NULL,DDFLIP_WAIT);//调用换页函数
if(ddrval==DD_OK)//成功则退出while循环
break;
if(ddrval==DDERR_SURFACELOST)//如果页面丢失,则恢复页面
{
if(!InitThread())break;//重新提取背景
ddrval=lpDDSPrimary->Restore();//恢复主页面
if(ddrval!=DD_OK)
break;
ddrval=lpDDSPic1->Restore();//恢复离屏页面1
if(ddrval!=DD_OK)
break;
ddrval=lpDDSPic4->Restore();//恢复离屏页面4
if(ddrval!=DD_OK)
break;
ddrval=lpDDSPic5->Restore();//恢复离屏页面5
if(ddrval!=DD_OK)
break;
ddrval=lpDDSPic6->Restore();//恢复离屏页面6
if(ddrval!=DD_OK)
break;
ddrval=lpDDSPic8->Restore();//恢复离屏页面8
if(ddrval!=DD_OK)
break;
}
if(ddrval!=DDERR_WASSTILLDRAWING)
break;
}
}
万博赞助意甲 上下分电玩牛牛 体育动作真人 澳客体育APP 体育教学论文网展开

滑雪大冒险内购版中文免费版下载-滑雪大冒险内购版2.4.0 最新版
晓柒虚拟机下载-晓柒虚拟机app安卓版10.0 最新版
BBTAN游戏安卓版下载-BBTAN(魔性弹珠游戏)3.0手机最新版
光遇华为渠道服下载安装包-光遇华为版0.14.6 安卓版
罢工作战游戏下载-罢工作战游戏1.0.0 安卓版
微粒图片MD5批量修改器1.0最新版
天天怼三国折扣平台下载-天天怼三国激活码领取2.0.0折扣版
希沃授课助手app苹果版-希沃授课助手ios版3.0.8 官网最新iPhone版
冒险岛探险记下载-冒险岛探险记官方版1.0手机版
管理哲学作业-管理哲学作业(简答题答案)doc格式免费下载
哆啦宝小二安卓版下载-哆啦宝小二1.6.4.0 官方最新版
木木4g机器人下载-木木4g机器人app1.0.0.1 官方安卓版
扎堆儿下载-扎堆儿app1.0 安卓版
SoundSpot Oracle Reverb WiN OSX音频工具1.0 绿色版
快牙ipad下载-快牙iPhone版2.5.6 iOS越狱版
碗糕app下载-碗糕app1.0安卓版
双霖度盘下载器正式版2.1.0.0绿色免费版
华盛中西医门诊管理系统下载-华盛中西医门诊管理系统7.0.1.0 官网版
快上云客户端下载-潍坊快上云app1.1.4 安卓最新版
史莱姆之王免广告版下载-史莱姆之王免广告版1.0.3 安卓版