打飞机游戏是一款非常经典的游戏,大家想知道用c++语言怎么实现呢?这里小编就给大家带来C++打飞机的游戏源代码,详细会对大家学习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;
}
}

展开内容
9.1/1,522.6M
好用仓库管理软件是专为企业、和一些店铺开发的集仓库管理和货物进出库管理等,一全套的仓库管理软件,他是具有商品管理、进销存单据管理等特性的。他也是一个使用方便,下...
9.5/1,486.0M
速度达自动充值系统2016破解版是一款充值网店必备神奇,简单好用,可以完美的处理充值网店订单,欢迎来下载使用!速度达自动充值系统2016破解版介绍速度达自动充值...
7.7/113.1M
是一款为用户提供智慧社区软件,软件为业主们提供智能门禁、社区头条、生活缴费和维修等功能,帮助用户可以更好的享受物业生活。阳光物管简介慧邻宝智慧社区以社区为单位,...
8.5/1,383.4M
三角方块圆是一款画风超萌的休闲闯关游戏。玩家需要操控方块、三角、圆来进行冒险,各种关卡陷阱等你来挑战。游戏节奏轻快,具有舒缓的音乐,感兴趣的朋友不要错过了,快来...
8.6/1,030.8M
狸米课堂是一款在线教育软件,汇集了优质的教学老师,学生们在家中就可以在线观看名师直播课堂,查看学习和进步情况学习效果。狸米课堂电脑版安装方法下载东坡提供的地址,...
10.0/119.1M
麦车子是一个专业的汽车交易平台,平台提供各种品牌的汽车,只需要付个首付就可以把车开回家,价格透明、正品车源、品质有保障!麦车子平台介绍麦车子——赣州市麦通汽车销...
8.6/151.3M
梦游者之旅是一款以做梦的形式展开的游戏,这款游戏在手机上还是很受到很多的朋友的喜欢,现在喜欢玩的朋友就不妨下载下来玩玩看吧!梦游者之旅游戏介绍《梦游者之旅Sle...
9.4/1,863.6M
美亚商旅app由美亚商旅集团全新研发,针对广大客户企业员工差旅出行而设计,从出行前的产品查询、差旅政策合规性校验、订单提交,到后续订单审核(作为审批人)、提醒审...
9.2/536.9M
甜橙联盟是一款商城购物软件,简单的购物方式,诸多畅销的优惠券和福利等着你来领取,同时每日签到即可领取福利,海量的折扣等着你来购买!甜橙联盟简介海量优惠卷,网上购...
9.2/396.1M
疯狂任意球是一款足球爱好者喜欢的app,游戏内容丰富,操作简单,随着进球,游戏难度也会随之增加,游戏中还有很多好玩的套路设计,可得小心操作哦!应用介绍通过游戏这...
9.6/1,452.5M
适合给学生使用的学习系统,语音学习系统app支持语文和英语学习,同步课堂教材,读错的字可以记录在错题集,针对性的练习,锻炼听说读写的能力。操作教程点击您需要学习...
8.1/646.4M
勇闯三国是一款非常好玩的手机游戏,这款游戏中有超多的三国中武将,并且这款游戏中玩家有机会将三国中的武将收入麾下。[iOS9安装应用后如何选择信任并正常打开苹果手...
9.7/348.8M
自价吧是一款自己和酒店砍价的软件,在这里,所有酒店,由消费者自行出价,所有优惠,由消费者自发形成共享,商家无需降价、无需打折,坐享客户拓展、收益增长、品牌稳健三...
9.0/450.0M
数字拼图游戏是以一系列的数字随意的排列,让你从头到最后,按照数字的大小排列出来就算赢了,现在有需要下载这类型游戏的朋友就可以来东坡下载试试!数字拼图游戏规则1、...
9.4/519.1M
Fakku漫画是一款能为用户提供优质漫画的手机阅读软件,涵盖多种漫画资源,让用户轻松享受便捷的漫画阅读服务。软件会持续更新最新漫画,提供各类不同题材的漫画内容,...
9.6/1,735.6M
Gee是一个有点类似tiktok的短视频应用,这个是新出的,支持多个平台,这款软件拥有丰富多样的特点和创新的功能,吸引了大量用户,不同用户可以找到自己喜欢的视频...
9.1/566.2M
Fancyoo社交软件是一款最新上线的社交聊天软件,这里有虚拟化的人物,但是却是真实的社交,支持在线聊天,一起养宠物,一起吃美食等等功能,全国各地都能成为朋友!...
9.5/1,700.3M
《极速女武神》是一款蒸汽科技与魔法相结合的日系二次元塔防游戏,快来降临异界重写命运 拯救分崩离析的异世吧!在这里和各式各样的少女组成自己的阵营,还有不...
8.7/1,992.8M
木筏求生steam移植版手机版是逼真且好玩的冒险手游,起先是pc端游戏,后移植到手机上,在游戏中玩家乘坐孤舟漂泊在海上,你要想办法获取各种资源生存下去,且要抵抗...
9.2/1,146.6M
声控忍者是一款通过声音来控制忍者跳跃前进的魔性小游戏,发出声音忍者就会进行移动,玩起来非常的有趣,感兴趣的朋友可以来东坡下载,体验游戏的时候尽量避免扰民哟!声控...
8.5/1,692.9M
SUPERPADSLIGHTS,是一款手机混音制作软件,你和DJ之间只差一个app,有了它,你就可以自己创建混音并为每个PAD选择灯光效果,演奏出好听的音乐。S...
7.7/1,640.3M
有不少的朋友是使用ADSL连接上网的,想破解上网网速的限制,就可以试试下面的这款ADSL破解设置【破解网速限制】,轻松的破解你的网速限制,心动的话就赶快来试试!...
9.8/645.8M
食来酷是一款专门为烘焙爱好者打造的综合服务软件。这里围绕烘焙蛋糕甜点的视频资讯推荐,你可以看到私房烘焙和各类裱花,让你学到很多东西。喜欢烘培的小伙伴不要错过了!...
8.8/1,277.0M
切腹模拟VR版是一款国内玩家自制的vr模拟游戏,在游戏中玩家可以模拟切腹的过程,非常真实,具有挑战,小编为你带来切腹模拟游戏demo,对这款游戏感兴趣的小伙伴,...
9.8/132.1M
Vivov9主题app是一款从vivov9手中提取的手机主题,里面包括各种启动器,高清手机壁纸,图标等等,让你的手机轻松变成vivo手机风格,看起来更加个性化!...