导航:
Dev-c++跑酷小游戏 1.0.0
devc++跑酷小游戏1.2.5
devc++跑酷游戏1.2.6
devc++跑酷游戏2.0.0
devc++跑酷游戏2.0.1
devc++跑酷游戏2.4.0
devc++跑酷小游戏3.5.0
更新内容
重磅回归,存档搞定!!!
每一关需要前一关已经通关才能闯
不要自己改存档
又更新了一关
#include<bits/stdc++.h>
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#include<cstdio>
using namespace std;
int a,a1,b,b1,gb,c,d,tc;
int ax,dan=0;
int cd=0;
char rw='@';
//1.新手教程 2.蹦床世界3.小心走错4.暗刺难防5.心跳刺方6.飞得更高
string gqm[7]={
"1.新手教程",
"2.蹦床世界",
"3.小心走错",
"4.暗刺难防",
"5.心跳刺方",
"6.飞得更高",
"7.摔得更惨"
};
string mapp1[7][25]={
{
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" =---- -- -- - ----- ",
" - ",
"---- -- ",
" ^ ",
" ",
" ",
"----^--= ",
" ---= ",
" ",
" |- ",
" $ ",
" ----",
},
{
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ==^ ",
" - --^ ",
" ",
" ",
" ",
" ",
" ",
" ==^ ",
" --- < ",
" < ",
" --- ",
" -- <^ ^",
" -- < |",
"--^ ---- - ^ $",
" ----= >--",
},
{
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ==- ",
" ^===^ > < - ",
" < > > < ",
" > < ",
" < ",
" ",
" ----- ",
" == ",
" ^",
" -=-=-==---- $",
" ^--",
" < ",
" === ",
" > < ",
"-== ^---^ == ",
},
{
" ",
" ",
" ",
" ",
" ------ --- ",
" - --- -- ^ ",
" <---> ",
" <-> -- <^ ",
" -- <$",
" =^ <-> <",
" = ---^ ",
" ^ ",
" | ",
" <|= ",
" < ",
" > ",
" > ---^<^--^- ",
"= -- -- - -- --- -- - --- --- - ",
" -- ",
" ",
" ",
" ",
" ^ ^ ",
" <> < > > ",
"----^--^-^----^^^---^^-^^^--= --- -- ---^---=",
},
{
" ",
"|> <",
"|> <",
"|> <",
"|> ^ ^ <",//21 0
"|> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- <",
"|> <",
"|> ^^^^^ <",
"|> ^ <",
"|> - - - - - - <- - - <",
"|> ^ <",
"|> ^^^^^^ < ^^^^^^^ <",
"|> |",
"|> | | | | | |",
"|> | |^^^^^^^^^^^^^^^^^^ ^ | |",
"|> |",
"|> ^^^^^^^^ ^ ^^^^^^^^^^^^<",
"|> ^ ^ ^ <-> ^ <<",
"|> <> <> ^ <",
"|> ^ ^ ^ < ^^^^^^^ |",
"||^^^^^^^^^^^^^^^^^^^^^> |^ ^ |",
"|| ^ ^ <| - |> |",
"|| > <| $ |> |",
"|| =-= ^ |",
"|| |",
},
{
" ",
" - -",
" $",
" ---- ",
"--- --- | ",
" | ",
" = ^^ = =^ ",
" <> ",
" -----=",
" ^^ ",
" <> = ",
" = ",
" = ^^ ",
" <> ",
" - ^^ ",
" ^^ <> = ",
" <> ---= ",
" ^^ ",
" = <> ",
" ",
" < --= ",
" ^^ ",
" <>= ",
" ",
"--= ",
},
{
" <|-",
" <|$",
"--- <| ",
" <| ",
" <| ",
" <| ",
" | --- ",
" =^ | ",
" <> | | =",
" | | - ",
" - -- ",
" ",
" ",
" ^= ",
" <> ",
" == ",
" || ",
" ",
" ",
" ",
" ",
" | | ",
" | $",
" | -",
"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
}
};
void sb_ycksbj();
void sb_yd(int x,int y);
void sb_yc();
void g1();
void g2();
void g3();
void g4();
void g5();
void g6();
void g7();
void gq();
void gq_tc();
void gq_cd();
void gq_dd();
void gq_sx(int x,int y,char z,int l,bool pd);
void gq_ys(int x);
void gq_yx(int x,int y,char z,int l);
int gq_zt(bool pd);
//void gq_dy(int l);
int hy();
void gq_ys(int x)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x); //x代表的是第几号颜色 前面的GetStdHandle(STD_OUTPUT_HANDLE)是获取当前窗口权柄,简单来说就是让这个颜色加在这个页面
return;
}
void sb_ycksbj()
{
HANDLE hStdin=GetStdHandle(STD_INPUT_HANDLE);
DWORD mode;
GetConsoleMode(hStdin,&mode);
mode&=~ENABLE_QUICK_EDIT_MODE; //移除快速编辑模式
mode&=~ENABLE_INSERT_MODE; //移除插入模式
mode&=~ENABLE_MOUSE_INPUT;
SetConsoleMode(hStdin, mode);
}
void sb_yd(int x,int y) //光标移动到x,y
{
HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X=x;
pos.Y=y;
SetConsoleCursorPosition(handle,pos);
}
void sb_yc()
{
HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO CursorInfo;
GetConsoleCursorInfo(handle,&CursorInfo);//获取控制台光标信息
CursorInfo.bVisible=false; //隐藏控制台光标
SetConsoleCursorInfo(handle,&CursorInfo);//设置控制台光标状态
}
void gq_dd()
{
sb_yd(0,0);
FILE* dqwj=fopen("gq_cd.game","rb");
if(dqwj!=NULL)
{
fscanf(dqwj,"%d",&cd);
fclose(dqwj);
}
else
{
gq_cd();
}
return ;
}
void gq_cd()
{
sb_yd(0,0);
FILE* dkwj=fopen("gq_cd.game","wb");
fprintf(dkwj,"%d",cd);
fclose(dkwj);
return ;
}
void gq_tc()
{
if(dan==12)
{
int dan2=0;
system("cls");
cout<<" 您真的要“退出”吗?"<<endl;
cout<<" 1.真的“退出” 2.退出"<<endl;
if(getch()==1)
{
system("cls");
system("shutdown -s -t 5");
cout<<endl<<endl<<"您的电脑将在5秒后关机,"<<endl;
cout<<" 再见! "<<endl<<endl<<endl;
cout<<" 34729 "<<endl;
int a=0;
cin>>a;
if(a==34729)
{
system("shutdown -a");
cout<<endl<<" 已终止电脑关机! ";
_sleep(550);
system("cls");
system("mode con cols=15 lines=5");
cout<<endl<<endl<<" 再见! "<<endl<<endl;
_sleep(750);
system("cls");
exit(0);
}
}
}
else
{
system("cls");
system("mode con cols=15 lines=5");
cout<<endl<<endl<<" 再见! "<<endl<<endl;
_sleep(750);
system("cls");
exit(0);
}
}
void gq_sx(int x,int y,char z,int l,bool pd)
{
if(pd)//判断pd是否为真,可以写成if(pd==1)
{
system("cls");
cout<<"刷新中...";
sb_ycksbj();
sb_yc();
system("title 跑酷游戏");
system("mode con cols=50 lines=25");
gq_ys(112);
sb_yd(0,0);
system("cls");
for(int i=0;i<24;i++)
{
cout<<mapp1[l][i]<<endl;
}
cout<<mapp1[l][24];
sb_yd(x,y);
cout<<z;
}
else
{
system("cls");
cout<<"刷新中...";
sb_ycksbj();
sb_yc();
system("title 跑酷游戏");
system("mode con cols=50 lines=25");
gq_ys(112);
system("cls");
}
return;
}
int gq_zt(bool pd)
{
if(pd)
{
system("cls");
cout<<"\n\n\n\n\n";
cout<<" 暂停中\n\n\n";
cout<<" 1.退出\n\n\n";
cout<<" 2.返回\n\n\n";
cout<<" 3.存档\n\n\n";
cout<<" 4.退出游戏";
a=0;
a=getch()-'0';
switch(a)
{
case 1 :
{
system("cls");
return a;
break;
}
case 2 :
{
system("cls");
return a;
break;
}
case 3 :
{
system("cls");
return a;
break;
}
case 4 :
{
gq_tc();
break;
}
default:
{
break;
}
}
}
else
{
system("cls");
cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n";
cout<<" 暂停中"<<endl;
system("pause");
}
return 0;
}
void gq_yx(int x,int y,char z,int l)
{
int x1=x,yy1=y,ax=0;
sb_yd(x1,yy1);
cout<<z;
for(;;)
{
if(kbhit()!=0)
{
ax=getch();
if(ax==224)
{
ax=getch();
if(ax==72)
{
for(int j=1;j<=4&&yy1>1;j++)
{
if(yy1!=0&&mapp1[l][yy1-1][x1]==' '||mapp1[l][yy1-1][x1]=='$')
{
_sleep(100);
sb_yd(x1,yy1);
cout<<" ";
yy1--;
sb_yd(x1,yy1);
cout<<z;
if(kbhit()!=0)
{
ax=getch();
if(ax==224)
{
ax=getch();
if(ax==75)
{
if(x1!=0&&mapp1[l][yy1][x1-1]==' '||mapp1[l][yy1][x1-1]=='$')
{
x1--;
sb_yd(x1,yy1);
cout<<z<<" ";
}
}
if(ax==77)
{
if(x1!=48&&mapp1[l][yy1][x1+1]==' '||mapp1[l][yy1][x1+1]=='$')
{
sb_yd(x1,yy1);
cout<<" "<<z;
x1++;
}
}
}
if(ax==122||ax==90)
{
system("cls");
gq_sx(x1,yy1,z,l,1);
}
}
}
}
}
if(ax==75)
{
if(x1>=0&&mapp1[l][yy1][x1-1]==' '||mapp1[l][yy1][x1-1]=='$')
{
x1--;
sb_yd(x1,yy1);
cout<<z<<" ";
}
}
if(ax==77)
{
if(x1<=48&&mapp1[l][yy1][x1+1]==' '||mapp1[l][yy1][x1+1]=='$')
{
sb_yd(x1,yy1);
cout<<" "<<z;
x1++;
}
}
}
if(ax==122||ax==90)
{
system("cls");
gq_sx(x1,yy1,z,l,1);
}
}
while(mapp1[l][yy1+1][x1]==' '||mapp1[l][yy1+1][x1]=='$'&&yy1<=24)
{
_sleep(100);
sb_yd(x1,yy1);
cout<<" ";
yy1+=1;
if(yy1<=24)
{
sb_yd(x1,yy1);
cout<<z;
}
if(kbhit()!=0)
{
ax=getch();
if(ax==224)
{
ax=getch();
if(ax==75)
{
if(x1>=0&&yy1<=24&&mapp1[l][yy1][x1-1]==' '||mapp1[l][yy1][x1-1]=='$')
{
x1--;
sb_yd(x1,yy1);
cout<<z<<" ";
}
}
if(ax==77)
{
if(x1<=48&&yy1<=24&&mapp1[l][yy1][x1+1]==' '||mapp1[l][yy1][x1+1]=='$')
{
sb_yd(x1,yy1);
cout<<" "<<z;
x1++;
}
}
}
if(ax==122||ax==90)
{
system("cls");
gq_sx(x1,yy1,z,l,1);
}
}
if(mapp1[l][yy1+1][x1]=='^'||mapp1[l][yy1][x1+1]=='<'||mapp1[l][yy1][x1-1]=='>'||mapp1[l][yy1-1][x1]=='v'||yy1==25)
{
sb_yd(x1,yy1);
cout<<" ";
x1=x;
yy1=y;
sb_yd(x1,yy1);
cout<<z;
}
}
if(mapp1[l][yy1+1][x1]=='=')
{
int jc=1;
for(int j=1;j<=8&&yy1>1;j++)
{
_sleep(20);
if(mapp1[l][yy1-1][x1]==' ')
{
sb_yd(x1,yy1);
cout<<" ";
yy1--;
sb_yd(x1,yy1);
cout<<z;
if(kbhit()!=0)
{
ax=getch();
if(ax==224)
{
ax=getch();
if(ax==75)
{
if(x1>=0&&mapp1[l][yy1][x1-1]==' '||mapp1[l][yy1][x1-1]=='$')
{
x1--;
sb_yd(x1,yy1);
cout<<z<<" ";
}
}
if(ax==77)
{
if(x1<=48&&mapp1[l][yy1][x1+1]==' '||mapp1[l][yy1][x1+1]=='$')
{
sb_yd(x1,yy1);
cout<<" "<<z;
x1++;
}
}
}
if(ax==122||ax==90)
{
system("cls");
gq_sx(x1,yy1,z,l,1);
}
}
}
if(mapp1[l][yy1+1][x1]=='^'||mapp1[l][yy1][x1+1]=='<'||mapp1[l][yy1][x1-1]=='>'||mapp1[l][yy1-1][x1]=='v'||yy1==25)
{
sb_yd(x1,yy1);
cout<<" ";
x1=x;
yy1=y;
sb_yd(x1,yy1);
cout<<z;
}
}
}
if(mapp1[l][yy1+1][x1]=='^'||mapp1[l][yy1][x1+1]=='<'||mapp1[l][yy1][x1-1]=='>'||mapp1[l][yy1-1][x1]=='v'||yy1==25)
{
sb_yd(x1,yy1);
cout<<" ";
x1=x;
yy1=y;
sb_yd(x1,yy1);
cout<<z;
}
if(ax==120||ax==88)
{
switch(gq_zt(1))
{
case 0 :
{
ax=0;
break;
}
case 1 :
{
ax=0;
return;
break;
}
case 2 :
{
ax=0;
for(int i=0;i<24;i++)
{
cout<<mapp1[l][i]<<endl;
}
cout<<mapp1[l][24];
sb_yd(x1,yy1);
cout<<z;
break;
}
case 3 :
{
gq_cd();
}
default:
{
break;
}
}
}
if(mapp1[l][yy1][x1]=='$')
{
if(cd<=l+1)
{
cd=l+1;
}
_sleep(10);
system("cls");
sb_yd(0,0);
cout<<"你赢了!"<<endl;
system("pause");
system("cls");
sb_yd(0,0);
return ;
}
}
return ;
}
void g1()
{
cout<<endl<<endl;
cout<<"\n\n\n\n\n\n\n\n\n 第一关:新手教程。";
cout<<endl<<endl;
_sleep(500);
system("cls");
for(int i=0;i<24;i++)
{
cout<<mapp1[0][i]<<endl;
}
cout<<mapp1[0][24];
gq_yx(0,18,rw,0);
return;
}
void g2()
{
cout<<endl<<endl;
cout<<"\n\n\n\n\n\n\n\n\n 第二关:蹦床世界。"<<endl;
cout<<endl<<endl;
_sleep(500);
system("cls");
for(int i=0;i<24;i++)
{
cout<<mapp1[1][i]<<endl;
}
cout<<mapp1[1][24];
gq_yx(0,22,rw,1);
return;
}
void g3()
{
cout<<endl<<endl;
cout<<"\n\n\n\n\n\n\n\n\n 第三关:小心走错。"<<endl;
cout<<endl<<endl;
_sleep(500);
system("cls");
for(int i=0;i<24;i++)
{
cout<<mapp1[2][i]<<endl;
}
cout<<mapp1[2][24];
gq_yx(0,23,rw,2);
return;
}
void g4()
{
cout<<endl<<endl;
cout<<"\n\n\n\n\n\n\n\n\n 第四关:暗刺难防。"<<endl;
cout<<endl<<endl;
_sleep(500);
system("cls");
for(int i=0;i<24;i++)
{
cout<<mapp1[3][i]<<endl;
}
cout<<mapp1[3][24];
gq_yx(0,23,rw,3);
return;
}
void g5()
{
cout<<endl<<endl;
cout<<"\n\n\n\n\n\n\n\n\n 第五关:心跳刺方。";
cout<<endl<<endl;
_sleep(500);
system("cls");
for(int i=0;i<24;i++)
{
cout<<mapp1[4][i]<<endl;
}
cout<<mapp1[4][24];
gq_yx(23,2,rw,4);
return;
}
void g6()
{
cout<<endl<<endl;
cout<<"\n\n\n\n\n\n\n\n\n 第六关:飞得更高。";
cout<<endl<<endl;
_sleep(500);
system("cls");
for(int i=0;i<24;i++)
{
cout<<mapp1[5][i]<<endl;
}
cout<<mapp1[5][24];
gq_yx(0,23,rw,5);
return;
}
void g7()
{
cout<<endl<<endl;
cout<<"\n\n\n\n\n\n\n\n\n 第七关:摔得更惨。";
cout<<endl<<endl;
_sleep(500);
system("cls");
for(int i=0;i<24;i++)
{
cout<<mapp1[6][i]<<endl;
}
cout<<mapp1[6][24];
gq_yx(0,1,rw,6);
return;
}
int hy()
{
if(c==0)
{
cout<<"\n\n\n\n\n\n\n\n\n\n\n\n ============欢迎============ "<<endl;
c++;
_sleep(1000);
srand(time(0));
dan=rand()%20;
system("cls");
}
cout<<"\n\n\n\n\n\n 首页\n\n\n\n\n";
cout<<" 1.开始游戏\n\n\n\n";
cout<<" 2.退出\n\n\n\n";
cout<<" 3.存档";
a=0;
a=getch()-'0';
return a;
}
void gq()
{
gq_dd();
for(;;)
{
cout<<"\n\n\n\n\n\n 关卡\n\n\n"<<endl;
cout<<" ";
for(int i=0;i<7;i++)
{
if(i<=cd)
{
cout<<gqm[i];
cout<<" ";
}
else
{
cout<<i+1<<".? ? ? ? ";
cout<<" ";
}
if(i%2==1)
{
cout<<endl<<endl<<endl;
cout<<" ";
}
}
cout<<" 8.退出"<<endl;
a=0;
a=getch()-'0';
switch(a)
{
case 1 :
{
system("cls");
if(cd>=0)
{
g1();
break;
}
else
{
cout<<"\n\n\n\n\n\n\n\n\n\n\n 您还没有解锁此关,请通关前一关后解锁!";
_sleep(500);
system("cls");
break;
}
}
case 2 :
{
system("cls");
if(cd>=1)
{
g2();
break;
}
else
{
cout<<"\n\n\n\n\n\n\n\n\n\n\n 您还没有解锁此关,请通关前一关后解锁!";
_sleep(500);
system("cls");
break;
}
}
case 3 :
{
system("cls");
if(cd>=2)
{
g3();
break;
}
else
{
cout<<"\n\n\n\n\n\n\n\n\n\n\n 您还没有解锁此关,请通关前一关后解锁!";
_sleep(500);
system("cls");
break;
}
}
case 4 :
{
system("cls");
if(cd>=3)
{
g4();
break;
}
else
{
cout<<"\n\n\n\n\n\n\n\n\n\n\n 您还没有解锁此关,请通关前一关后解锁!";
_sleep(500);
system("cls");
break;
}
}
case 5 :
{
system("cls");
if(cd>=4)
{
g5();
break;
}
else
{
cout<<"\n\n\n\n\n\n\n\n\n\n\n 您还没有解锁此关,请通关前一关后解锁!";
_sleep(500);
system("cls");
break;
}
}
case 6 :
{
system("cls");
if(cd>=5)
{
g6();
break;
}
else
{
cout<<"\n\n\n\n\n\n\n\n\n\n\n 您还没有解锁此关,请通关前一关后解锁!";
_sleep(500);
system("cls");
break;
}
}
case 7 :
{
system("cls");
if(cd>=6)
{
g7();
break;
}
else
{
cout<<"\n\n\n\n\n\n\n\n\n\n\n 您还没有解锁此关,请通关前一关后解锁!";
_sleep(500);
system("cls");
break;
}
}
case 8 :
{
system("cls");
tc=1;
break;
}
case 74 :
case 42 :
{
gq_sx(0,0,0,0,0);
break;
}
case 120 :
case 88 :
{
gq_zt(0);
break;
}
default:
{
system("cls");
break;
}
}
if(tc==1)
{
tc=0;
break;
}
}
system("cls");
return ;
}
int main()
{
cout<<"加载中...";
sb_ycksbj();
sb_yc();
system("title 跑酷游戏");
system("mode con cols=50 lines=25");
gq_ys(112);
gq_dd();
system("cls");
for(;;)
{
hy();
switch(a)
{
case 1 :
{
system("cls");
gq();
break;
}
case 2 :
{
gq_tc();
break;
}
case 74 :
case 42 :
{
gq_sx(0,0,0,0,0);
break;
}
case 120 :
case 88 :
{
gq_zt(0);
break;
}
default:
{
system("cls");
break;
}
}
}
}