打飞机游戏是一款非常经典的游戏,大家想知道用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;
}
}
展开内容
无上道游戏下载-无上道公益服1.0.1 返利版
友友地图安卓下载-即刻友友地图app7.54.1 安卓版
心晴app官方下载安装-心晴app1.2.6 官方版
诺德尔大内存开启工具2017v3.2 绿色版
天天驯兽师0.1折下载-天天驯兽师首续0.1折无限充1.0 无限钻石版
一键百变P图器app下载-一键百变P图器7.3.5 安卓版
降维游戏下载-降维手游0.9 最新版
圆猿记账app下载-圆猿记账安卓版1.0.0 最新版
大富翁修改器-大富翁一项修改器(金钱修改器)1.0 绿色版
小说快捕1.91去广告下载-小说快捕1.91 绿色版下载【去广告修复书城简介】
萌宝斗猛鬼游戏下载-萌宝斗猛鬼300.1.0.3018 安卓版
画册模板免费下载-画册式商务排版PPT作品欣赏免费版【画册ppt】
天下霸域永久0.1折下载-天下霸域永久0.1折无限充1.0 送连充
重装突围游戏下载-重装突围1.00.32 安卓版
通用进销存软件-Esale服装进销存系统6.122 官方版
147漫画APP下载安装官方版-147漫画免费下拉式漫画软件3.86.08 最新版
PuTTY远程桌面0.71 最新版
叶无音手游下载-叶无音游戏(yewuyin)1.0 安卓版
烈火雷霆公测版下载-烈火雷霆手游公测版6.8最新版
海绵奶奶邪恶生存游戏下载-海绵奶奶邪恶生存1.0安卓版
汽水火箭游戏手机版下载-汽水火箭0.3 手机休闲版
pdf阅读器中文免费版-轻快PDF阅读器1.7 官方最新免费版
使命召唤12黑色行动3修改器-使命召唤12黑色行动3十二项修改器1.0-v20160728 绿色免费
超易人事工资管理软件-超易人事工资管理系统3.18 官方版
新二维码生成器-新二维码生成器(最好用的手机二维码生成器)15.08.19 官网最新版
组装玩具游戏下载-组装玩具手机版0.1.7 去广告版
鼠年四字吉祥话2020-2020鼠年四字祝福语图片新春版
小虎空间下载-小虎空间艺术交流平台2.1.0 官方版
北京python培训教程-北京python培训超全大纲文档免费版
中元节朋友圈说说带字图片-2017中元节说说七月十五朋友圈说说大全无水印版
祖国我为你骄傲国庆节手抄报图片大全精选版
拉勾易购app1.2.0 安卓版
10.0/965.3M
《忍者岚》是一款动作冒险类游戏。玩法跟地狱边境有点相似,玩家需要用策略通过地方营地,在黑夜中暗杀阻拦你的敌人,游戏操作简单,容易上瘾,一共有3个场景45个关卡,...
CARROT Fit下载-CAPROT Fit软件4.1.2 最新版
7.6/522.6M
这是一个全新上线的手机健身服务类型软件,通过这个app你可以参与各种减肥健身教程,学习到更多的减肥方法,帮助你制定计划。软件简介1、一个手机健身服务功能软件,学...
科比感谢球迷图片一键生成器-科比告别中国球迷图片一键生成器1.0 最新免费版
8.2/1,705.0M
科比的最后一战结束了,以科比60分为自己的NBA生涯画上了一个完美的句号,东坡小编为大家带来了一款科比告别中国球迷图片一键生成器,是科比在结束后像中国球迷举牌感...
9.7/643.5M
疯狂狩猎是一款非常好玩的狩猎类型游戏,十分考验玩家的手速,你需要快速点击屏幕上的动物,会越来越多和越来越快,下拉就可以换弹药了,十分魔性!疯狂狩猎游戏介绍疯狂狩...
8.1/649.0M
儿童英文儿歌学习软件是一款专为孩子开发的儿歌学习软件,拥有超多经典的儿歌,还可以让孩子掌握英文知识,在快乐中学习成长!儿童英文儿歌学习软件介绍儿童英文儿歌-给0...
9.5/696.7M
欧洲卡车模拟2路虎揽胜MOD是一款卡车改路虎揽胜越野车MOD,可以吧汽车引擎声和外观完全换成路虎,怎么样是不是很想体验一下,那就快来下载吧!补丁介绍这是《欧洲卡...
9.4/936.1M
论语图文有声app是一款学习中国古典文化作品的软件,这里拥有论语全本资源,全部采用语音模式讲解,让你可以学得更好!软件介绍该软件包含《论语》全本内容,涵盖每个章...
Fictorum游戏下载-Fictorum PC正式版3dm中文硬盘版
7.6/1,697.6M
Fictorum是一款好玩的动作冒险游戏,精致的游戏画面,丰富多样的游戏玩法,在游戏中玩家扮演一名魔法师,拥有强大的力量,需要消灭敌人,开始你的复仇,小编为你提...
8.4/894.7M
异界惊魂是一款益智解谜手游,在游戏中玩家需要解开各种谜题,才能逃离游戏中诡异的场景,游戏提供的画面和对话中,有很多疑点等待你去发现和挖掘,感兴趣的小伙伴快来uz...
9.4/377.7M
这款软件是剑网三移动社区软件,在上面你可以看到众多的社交功能,可以随时随地与其他人进行互动,查看众多的活动攻略,让游戏玩起来十分带感!江湖呆梨app介绍第一步:...
会议ppt模板下载-适合开会使用的创意时尚圆圈ppt模板免费版【创意ppt作品】
9.3/1,823.8M
要开会了,要开会了,老板吩咐制作的ppt到现在还连合适的模板都没找到怎么办?不着急,本节内容小编为大家精选带来的是一份适合在会议上使用的ppt模板——适合会议使...
Orbit Runner游戏下载-Orbit Runner ∞ Parallel Worlds1.v
9.0/1,494.0M
游戏画面做的相当精致的街机休闲游戏,OrbitRunnerParallelWorlds(轨道跑者平行世界)中玩家选择一个角色就可以来一场超梦幻奇特有趣的旅行,为...
9.7/854.0M
求职找工作就来郑州直聘APP,帮助你免费下载最新的内容,获取最新的工作招聘信息,找到你满意的工作,用人单位找到满意的人才。郑州直聘APP介绍郑州直聘APP是郑州...
音悦Mini客户端下载-音悦Mini客户端1.7.0.1 官方安装版
8.3/524.7M
音悦mini客户端是一款小巧的客户端软件。通过“音悦mini客户端”您可以下载音悦Tai站内所有高清MV,还能批量高速上传视频,更可以轻松将您的高清视频转换到您...
8.0/392.0M
看门狗三十项修改器是一款功能非常齐全的看门口游戏修改工具,软件支持各种游戏内容的修改,使用者通过本修改器,能够直接进行各种游戏数据的修改,体验更加爽快的游戏过程...
8.8/932.8M
冥峰祭雪[柒末雪]1.1传颂篇是新版的1-5人玩法模式的地图,在玩法上面以及模式上面都是比较有挑战性的,这里可以结合一些小说里面的情节设计的,可以自由的挑战剧情...
北辞弱网纪念版2025最新版下载-北辞弱网纪念版免费领取14.0 最新版
8.7/313.4M
北辞弱网纪念版是一款手机弱网模拟软件,支持自定义网络参数创建稳定弱网环境,可用于测试各类应用和游戏,还能利用网络延迟效果获取游戏付费道具和软件会员,具备刷资源等...
9.5/1,408.8M
《僵尸实验室》的故事设定在一个生化危机爆发的末日环境中。玩家将扮演一名生化博士,身处一个地下实验室,致力于研究僵尸这一不死生物。游戏的核心目标是通过各种实验来了...
10.0/1,781.0M
千师慧是一款教育平台,我们有一系列的教育平台,不仅是课程还有留学更有教育科技的发展,青年有梦想,国家才有希望,与梦想同行,把知识、技能、创造力带给有梦想的人,快...
抓钩英雄下载-抓钩英雄(GrappleHookHero)1.4 最新版
9.0/450.2M
走进抓钩英雄刺激的世界,天际线就是你的游乐场,轻轻一点,冒险就在眼前。在这个动态游戏中,玩家扮演敏捷的抓钩爱好者,能够轻松敏捷地穿越高耸的摩天大楼和壮丽的风景。...
全方位PDF转换器破解版下载-全方位PDF转换器6.8官方正式最新版
9.3/844.8M
PDF转换器在如今是很多的朋友电脑上都是非常的需要使用到的,不过好用而且体积小巧的这种pdf转换器还是比较少见的,现在就可以试试下面的这款PDF全方位转换器吧!...
9.6/1,788.2M
2017教师节已经快要来了,现在为大家带来2017教师节图片素材,可以让你直接的进行修改,并且可以自定义选择各种内容,感兴趣的可以使用哦!2017是多少个教师节...
9.4/1,835.5M
这个工具的优点如下:1、比在大厅外设管理中连接更加稳定。2、已配对的设备,再次连接时,只要确保蓝牙打开的状态下,单击Logo键就可以恢复连接了。不需要重新扫描,...
爱站热词挖掘软件官方下载-爱站热词挖掘工具1.10.0.1 官方正式版
8.2/1,483.6M
爱站热词挖掘工具是一款非常好用的热词挖掘软件,能帮助你找寻出最近非常热门的词语,包含了各个领域,然后以这个为关键点做出你自己想做的东西,需要的快来下载吧!爱站热...
关于国庆节的英语手抄报-2015国庆节英语手抄报素材合集doc格式【word版】
9.4/648.8M
在这份2015国庆节英语手抄报素材合集中你不仅会看到版式多样的关于国庆节英语手抄报的图片还能看到两份内容十分周全详细的国庆节的英语手抄报资料哦!下文是关于该文档...