打飞机游戏是一款非常经典的游戏,大家想知道用c++语言怎么实现呢?这里小编就给大家带来C++打飞机的游戏源代码,详细会对大家学习c++语言有很大的帮助。2026世界杯

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;
}
}
展开内容
7.6/859.2M
淘宝商品标题优化工具是从网钛淘宝店铺装修软件中提取出来的一个功能模块,可以通过关键词来获取淘宝搜索提示框的内容,便于通过搜索提示框来进行标题优化,让您的流量飞起...
8.1/55.8M
仙道逃亡满V版是一款传奇角色人rpg手游,轻松的传奇世界,炫酷的场景,3D的神装和神器,颠覆想象力的玩法人魔的大战一触即发,各种线上的PK战斗,重燃战火,畅爽的...
10.0/444.0M
外星人直装v3也叫做星球人直装v3,是一款最新的辅助软件,专门为吃鸡手游玩家设计的一款安全、稳定辅助软件,使用时不会闪退或者卡顿,而且对手机配置要求极低,有需要...
9.4/570.8M
哈哈斗图app是一款斗图软件,这里有各种让你哈哈大笑的表情包,海量经典最新表情包图集,需要的朋友快来下载吧!软件介绍还在为斗图资源烦恼?哈哈斗图是一款免费的聊天...
9.1/567.6M
猪肉溯源索证查验系统,专门为肉铺老板,猪肉个体户设计的验证登录猪肉管理APP,官方开发发布,必须使用的软件,首先用自己的手机号码进行注册登录,之后按照要求完善个...
8.4/1,965.9M
2016超唯美国民仙侠RPG手游大作《修仙情缘》畅快上线,首创无限连击,疯狂斩杀快感无限。高清全屏,华丽大招超炫特效。大量美轮美奂的玄幻场景、古风古韵的人物造型...
8.9/1,827.1M
同普医学app是一款非常优质的医学专业学习软件,用户下载这款软件能够在上面了解到非常优质的相关专业案例学习,上面还有非常多紧急情况专业分享,能够有效的帮助用户学...
9.6/1,054.4M
《开个餐厅》是一款以模拟餐厅经营为主题的休闲策略游戏,玩家将扮演一位餐厅老板,从选址、装修、招聘员工到研发菜品、服务顾客,全方位体验餐厅经营的乐趣。通过不断提升...
9.0/764.4M
珊瑚整装app是一款非常好用的装修软件。里面有各种各样的户型装修图,还有价格报表,相当划算哦。用户可以根据自己的需求来进行挑选自己喜欢的风格,然后和平台联系下单...
8.8/777.8M
节奏风暴一款休闲益智类音游,控制小球跟随着音乐节奏进行跳跃,游戏考验玩家的反应能力,这款节奏音游的节奏感很快,一定要全神贯注,踩准节奏,避开各种障碍物,顺利的道...
8.4/978.4M
长城证券网上交易烽火版是长城证券官方发布的证券交易软件,用户可以通过长城证券网上交易烽火版客户端查询最新资讯行情,并可以通过客户端来交易,欢迎来下载!长城证券网...
查看
10.0/520.8M
纳米租车是一款全新方式的租车服务,你享受过送车上门服务吗?你享受过不收押金就能租车吗?在纳米租车,都能实现们只要你想租车,一切都不是问题,方便快捷的服务,就等你...
8.9/1,459.9M
链信APP官方最新版是专为供应链企业打造的智能协作平台,通过区块链技术实现上下游企业间安全高效的商务沟通。不仅支持1对1及多对多的跨组织协作,还无缝对接中企云链...
9.7/177.4M
莲花停车app是一个停车服务软件,可以帮助用户快速查找附近停车场,预约停车位,还可以查询自己的违章信息!软件介绍莲花停车,遂宁本地停车,是一款提供遂宁本地停车服...
8.4/1,427.9M
明月天涯是一款以西游为背景的手机游戏,游戏中有霸气的坐骑,炫酷的时装翅膀,还有动人的背景故事,有喜欢玩西游类的朋友就来东坡下载吧,相信这款游戏会给你带来不一样的...
9.5/1,047.1M
云烟视频苹果版是一款能在苹果手上免费看各种影视资源的播放软件,下方有详细的安装教程,软件内聚集全网资源,无论是国内还是国外的影视资源都可以在这里看到,感兴趣的小...
9.3/1,584.1M
异世界传说腾讯版是款Q版的卡通果汁的卡牌系列的游戏,不同的阵容由你来组合,面对不同的关卡和boss做出完美的调整才能轻松的战斗,更多新的领域可以探索,宏大的世界...
7.7/660.0M
腐烂过度是一款主题材不错的优秀FPS游戏,不过游戏内容不太充实。该MOD使用说明如下所示。使用方法1.解压文件2.将文件置于StateofDecayGamesc...
9.8/888.2M
冒险王2oppo版是全球首款动作版百变华丽炫美手游,巧妙的风骚走位来击败冒险之旅的上的强大敌人,并且多人合作击杀野外boss获得丰厚的奖励,在游戏开始后,我们可...
8.8/1,187.4M
图片拼接加文字是一款图片编辑软件,用户可以利用这款软件,在图片上添加各种水印和贴图等,而且软件还为大家提供各种风格的模版,大家可以直接套用,也能选择自己进行创作...
8.0/646.1M
辅导团老师版app是一款辅导学生学习的软件,在线为学生解惑,并获取报酬,学生多,提问多,欢迎来东坡下载!辅导团老师版app介绍老师们用知识赚钱的机会来了,&nb...
9.3/667.0M
Bitser是免费的Windows软件,用于管理归档和备份类似的WinZip,7-ZIP和WinRAR的,但有一个备用的用户界面。Bitser的接口是建立在与资...
7.7/900.6M
华夏阅卷量用手机拍照就能获得答题卡,几分钟批完整个班级试卷,可以获得班级成绩分析,手动批改作业,非常方便,小编这里附上华夏阅卷安卓版。华夏阅卷功能介绍1.更方便...
7.6/1,956.8M
经常看网页,或是聊微信就很容易导致手机内存卡满了,也会让手机使用变慢,手动清理太麻烦了,而且一不小心可能会影起手机黑屏,这里给您提供一个安卓手机内存清理工具,可...