devc++跑酷小游戏4.1.5

发布于:2024-07-03 ⋅ 阅读:(15) ⋅ 点赞:(0)

 导航:

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
 devc++小游戏3.8.5
devc++跑酷小游戏4.0.0

更新内容:

也没更新多少,改了界面颜色和按钮,关卡微微微微微调。

把一些函数和地图放到了一个叫gqhs的结构体里面,顾名思义,关卡函数

代码:

#include<bits/stdc++.h>
#include<iostream>
#include<windows.h>
#include<conio.h>
#include<cstdio>
#include<fstream>
using namespace std;
void tiaozhuang8(){;}
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
#define Esc 27
#define NC 14
#define BC 240
#define SX 'z'
#define Sx 'Z'
#define ZT 'x'
#define Zt 'X'

bool hydh=false,csh=false;

void g1();
void g2();
void g3();
void g4();
void g5();
void g6();
void g7();
void g8();
void g9();
void gq();
void tc();
void bz();
void yx(int x,int y,char z,int l);
void hy();

//

//

struct gqhs
{
	int cd=0,x=0,y=0;
	bool gb=true;
	
	const string gqm[9]=
	{
	"1.新手教程",
	"2.蹦床世界",
	"3.小心走错",
	"4.暗刺难防",
	"5.心跳刺方",
	"6.飞得更高",
	"7.摔得更惨",
	"8.信仰之跃",
	"9.九转大肠"
	};
	
	const char rw='@';
	
	const string fgqm[9]=
	{
	"1. ? ? ? ?",
	"2. ? ? ? ?",
	"3. ? ? ? ?",
	"4. ? ? ? ?",
	"5. ? ? ? ?",
	"6. ? ? ? ?",
	"7. ? ? ? ?",
	"8. ? ? ? ?",
	"9. ? ? ? ?",
	};
	
	const string mapp[9][25]={
	{
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"         =----  --  -- - -----                   ",
		"    -                                            ",
		"---- --                                          ",
		"                               ^                 ",
		"                                                 ",
		"                                                 ",
		"----^--=                                         ",
		"                                   ---=          ",
		"                                                 ",
		"                                              |- ",	
		"                                               $ ",
		"                                             ----",
	},
	{
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                               ==^               ",
		"                                      -  --^     ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                              ==^                ",
		"              --- <                              ",
		"               <                                 ",
		"            ---                                  ", 
		"          --                                 <^ ^",
		"       --                                    <  |",
		"--^ ----               -                      ^ $", 
		"                         ----=                >--",
	},
	{
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"    ==-                                          ",
		"           ^===^    > <    -                     ",
		"           <    > >    <                         ",
		"                  >    <                         ",
		"                       <                         ",
		"                                                 ",
		"           -----                                 ",
		"  ==                                             ",
		"                                                ^",
		"                -=-=-==----                     $",
		"                                              ^--",
		"                                              <  ", 
		"             ===                                 ",
		"                                    >     <      ", 
		"-==                                  ^---^  ==   ", 
	},
	{
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                              ------        ---  ",
		"                             -       ---  --   ^ ",
		"                       <--->                     ",
		"    <->             --                        <^ ",
		"                  --                           <$",
		"  =^    <->                                     <",
		" =            ---^                               ",
		"                                  ^              ",
		"                                  |              ",
		"                                 <|=             ",
		"                                   <             ",
		"                                    >            ",
		" >                                   ---^<^--^-  ",
		"= -- -- - -- --- -- - --- ---                  - ",
		"                              --                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                   ^   ^         ",
		"                             <>   < >  >         ",
		"----^--^-^----^^^---^^-^^^--=  ---   --  ---^---=",
	},
	{
		"                                                 ",
		"|>                                              <",
		"|>                                              <",
		"|>                                              <",
		"|>                      ^        ^              <",//21 0
		"|> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- <",
		"|>                                              <",
		"|>   ^^^^^                                      <",
		"|>                               ^              <",
		"|> -  -  -   -       -   -       <-  -   -      <",
		"|>                      ^                       <",
		"|>    ^^^^^^            <          ^^^^^^^      <",
		"|>                                              |",
		"|>   |     |    |            |              |   |",
		"|>   |     |^^^^^^^^^^^^^^^^^^  ^           |   |",
		"|>                                              |",
		"|>         ^^^^^^^^             ^   ^^^^^^^^^^^^<",
		"|>   ^                ^ ^        <->       ^   <<",
		"|>   <>               <>      ^                 <",
		"|> ^     ^             ^      <   ^^^^^^^       |",
		"||^^^^^^^^^^^^^^^^^^^^^>   |^               ^   |",
		"||    ^         ^     <| - |>                   |",
		"||    >               <| $ |>                   |",	
		"||                      =-=    ^                |",
		"||                                              |",
	},
	{
		"                                                 ",
		"                                           -    -",
		"                                                $",
		"                                            ---- ",
		"---                     ---                  |   ",
		"                                             |   ",
		"   =      ^^            =                  =^    ",
		"          <>                                     ",
		"                                           -----=",
		"                 ^^                              ",
		"                 <>                       =      ",
		"                           =                     ",
		"    =                 ^^                         ",
		"                      <>                         ",
		"                     -      ^^                   ",
		"                  ^^        <>           =       ",
		"                  <>   ---=                      ",
		"                                 ^^              ",
		"   =                             <>              ",
		"                                                 ",
		"                 <  --=                          ",
		"                                      ^^         ",
		"                                      <>=        ",	
		"                                                 ",
		"--=                                              ",
	},
	{
		"                                              <|-",
		"                                              <|$",
		"---                                           <| ",
		"                                              <| ",
		"                                              <| ",
		"                                              <| ",
		"                           |                 --- ",
		"      =^                        |                ",
		"      <>                 |             |         ",
		"                                   |       |    =",
		"            -         --                         ",
		"                                                 ",
		"                                               - ",
		"                 ^=                              ",
		"                 <>                              ",
		"                          ==                     ",
		"                          ||                     ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                                 ",
		"                                   |       |     ",	
		"                                              | $",
		"                                        |       -",
		"                                                 ",
	},
	{
		"                                                 ",
		"                                          |-^^- -",
		"  -                                      |----- -",
		"  |>              |                      |  <|   ",
		"- |>          |                         |   <|^  ",
		"  |>                 =        |       -|    <|$  ",
		"  |>                  ^           |         <|-  ",
		"  |>                           ^            <|   ",
		"  |>                                         |   ",
		"  |>                                         |   ",
		" =|>      ^             =                        ",
		"  |>              ^                         ----=",
		"  |>                                             ",
		"  |>                                             ",
		"  |>                                      =      ",
		"  |>          ^                      ^           ",
		"  |>                                             ",
		"= |>                      =^                     ",
		"  |>                                             ",
		"  |>                             ^           =   ",
		"  |>                                             ",
		"  |>                                             ",
		"  |>                                             ",	
		"  |>                                             ",
		"-=|>^^^^^^^^^^^^^^^^^^^^=^^^^^^^^^^^^^^^^=^^^^^^^",
	},
	{
		"-->                                              ",
		" |>                                              ",
		" |>    ----------------------------------------- ",
		" |> = -|                                <|       ",
		" |>    | -------------------------|--   <|       ",
		" |>    |                         <|     <|       ",
		" |>    |                         <|      |^^  ^^^",
		" |>    |                         <| ->   |       ",
		" |>    |                         <|      |       ",
		" |>    |^^^     ^^^^^^^   ^^^^^^ <|      |       ",
		" |>  = |                         <|=--   |- ^^^^^",
		" |>    |                         <|          <$  ",
		" |>    |                         <|---==---- <-  ",
		" |>    |                         <|        | < - ",
		" |>    |                         <|  |     |     ",
		" |>    |                         <|  |     |     ",
		" |>    |^^^^^^^^ ^^^^^^   ^^^^^  <|  |     |     ",
		" |> =  |                         <| =|     |^    ",
		" |>    |                         <|  |^^^ ^|     ",
		"       |                         <|  |     | -^ =",
		"       |                         <|  |     |     ",
		"       |                         <|  |     |     ",
		"       |^^^^^^   > > > > > >     <|  |     |=-^- ",	
		"    -= |                             |           ",
		"^^^^^^^|^^^^^---> < < > < > <> ----=---^^^------=",
	}
	};
	
	const char* name="gqcd_playgame_save.bin";
	
	void gcd();
	void gdd();
	void ycksbj();
	void ycgb();
	void ys(int n);
	void ydgb(int x,int y);
	bool pdgbwz(long x,long y,long w,long hi);
	bool pdsbzt();
	bool anniu(long x,long y,long w,long hi,const string world,int oldcolor,int newcolor);
};
gqhs g;

void gqhs::gcd()
{
	ofstream out(name,ios::out|ios::trunc);
	out<<cd;
	out.close();
	gb=true;
	return;
}

void gqhs::gdd()
{
	ifstream in(name,ios::in);
	in.seekg(0,ios::beg);
	while(in>>cd);
	in.close();
	return;
}

void gqhs::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);
	return;
}

void gqhs::ycgb()
{
	HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO CursorInfo;
	GetConsoleCursorInfo(handle,&CursorInfo);//获取控制台光标信息
	CursorInfo.bVisible=false; //隐藏控制台光标
	SetConsoleCursorInfo(handle,&CursorInfo);//设置控制台光标状态
	return;
}

void gqhs::ys(int n)
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),n);    //n代表的是第几号颜色 前面的GetStdHandle(STD_OUTPUT_HANDLE)是获取当前窗口权柄,简单来说就是让这个颜色加在这个页面
	return;
}

void gqhs::ydgb(int x,int y)  //光标移动到x,y
{
	HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
	COORD pos;
	pos.X=x;
	pos.Y=y;
	SetConsoleCursorPosition(handle,pos);
	return;
}

bool gqhs::pdgbwz(long x,long y,long w,long hi)
{
	HANDLE hOutput=GetStdHandle(STD_OUTPUT_HANDLE);
	HWND h=GetForegroundWindow();
	CONSOLE_FONT_INFO consoleCurrentFont;
	POINT p;
	GetCursorPos(&p);
	ScreenToClient(h,&p);
	GetCurrentConsoleFont(hOutput,FALSE,&consoleCurrentFont);
	p.x/=consoleCurrentFont.dwFontSize.X;
	p.y/=consoleCurrentFont.dwFontSize.Y;
	return p.x>=x&&p.x<=x+w&&p.y>=y&&p.y<=y+hi;
}

bool gqhs::pdsbzt()
{
	return KEY_DOWN(VK_LBUTTON);
}

bool gqhs::anniu(long x,long y,long w,long hi,const string world,int oldcolor,int newcolor)
{
	bool pd=false;
	if(pdgbwz(x,y,w,hi))
	{
		ydgb(x,y);
		ys(newcolor);
		cout<<world;
		ys(oldcolor);
		if(pdsbzt()&&pdgbwz(x,y,w,hi))
		{
			pd=true;
		}
	}
	else
	{
		ydgb(x,y);
		ys(oldcolor);
		cout<<world;
	}
	return pd;
}


//

void tc()
{
	g.ydgb(0,0);
	if(g.gb) 
	{
		system("cls");
		system("mode con cols=15 lines=5");
		cout<<endl<<endl<<"    再见!    "<<endl<<endl;
		Sleep(750);
		system("cls");
		exit(0);
	}
	else
	{
		system("cls");
		for(;;)
		{
			g.ydgb(0,0);
			system("mode con cols=23 lines=3");
			cout<<"您还没存档,是否退出?"<<endl;
			char a=0;
			if(a=='1'||g.anniu(0,1,6,0,"1.存档",BC,NC))
			{
				g.gcd();
				system("cls");
				system("mode con cols=15 lines=5");
				cout<<endl<<endl<<"    再见!    "<<endl<<endl;
				Sleep(750);
				system("cls");
				exit(0);
			}
			else if(a=='2'||g.anniu(11,1,10,0,"2.直接退出",BC,NC))
			{
				system("cls");
				system("mode con cols=15 lines=5");
				cout<<endl<<endl<<"    再见!    "<<endl<<endl;
				Sleep(750);
				system("cls");
				exit(0);
			}
		}
	}
}

void sx(int x,int y,char z,int l,bool pd)
{
	if(pd)//判断pd是否为真,可以写成if(pd==ture) 
	{
		system("cls");
		cout<<"刷新中...";
		g.ycksbj();
		g.ycgb();
		system("title 跑酷游戏");
		system("mode con cols=50 lines=25");
		g.ys(BC); 
		g.ydgb(0,0);
		system("cls");
		for(int i=0;i<24;i++)
		{
			cout<<g.mapp[l][i]<<endl;
		}
		cout<<g.mapp[l][24];
		g.ydgb(x,y);
		cout<<z;
	}
	else
	{
		system("cls");
		cout<<"刷新中...";
		g.ycksbj();
		g.ycgb();
		system("title 跑酷游戏");
		system("mode con cols=50 lines=25");
		g.ys(BC); 
		system("cls");
	}
	return;
}

int zt(int x,int y,int z,int l,bool chose)
{
	Sleep(50);
	system("cls");
	if(chose)
	{
		for(;;)
		{	
			g.ydgb(0,0);
			cout<<"\n\n\n\n\n";
			cout<<"                       暂停中";
			char x=0;
			if(kbhit()!=0)
			{
				x=getch();
			}
			if(x==Esc||g.anniu(22,8,8,0,"Esc.返回",BC,NC))
			{
				system("cls");
				sx(x,y,z,l,chose);
				return 0;
			}
			else if(x=='1'||g.anniu(23,11,6,0,"1.退出",BC,NC))
			{
				system("cls");
				Sleep(50);
				return 1;
			}
			else if(x=='2'||g.anniu(23,14,6,0,"2.刷新",BC,NC))
			{
				system("cls");
				sx(x,y,z,l,chose);
				return 0;
			}
			else if(x=='3'||g.anniu(23,17,6,0,"3.存档",BC,NC))
			{
				system("cls");
				g.gcd();
				sx(x,y,z,l,chose);
				return 0;
			}
			else if(x=='4'||g.anniu(21,20,10,0,"4.退出游戏",BC,NC))
			{
				system("cls");
				tc();
			}
		}
	}	
	else
	{
		for(;;)
		{
			g.ydgb(0,0);
			cout<<"\n\n\n\n\n";
			cout<<"                       帮助";
			char x=0;
			if(kbhit()!=0)
			{
				x=getch();
			}
			if(x=='1'||g.anniu(23,10,6,0,"1.返回",BC,NC))
			{
				system("cls");
				Sleep(50);
				return 0;
			}
			else if(x=='2'||g.anniu(23,14,6,0,"2.存档",BC,NC))
			{
				system("cls");
				g.gcd();
				Sleep(40);
				return 0;
			}
			else if(x==Esc|g.anniu(20,18,12,0,"3.Esc退出游戏",BC,NC))
			{
				system("cls");
				tc();
			}
		}	
	}
	return 0;
}

void bz()
{
	system("cls");
	Sleep(50);
	for(;;)
	{
		g.ydgb(0,0);
		cout<<"\n\n\n\n\n";
		cout<<"                     帮助文档";
		char x=0;
		if(kbhit()!=0)
		{
			x=getch();
		}
		if(x=='1'||g.anniu(20,10,10,0,"1.字符说明",BC,NC))
		{
			system("cls");
			Sleep(50);
			for(;;)
			{
				g.ydgb(0,0);
				cout<<"字符说明:"<<endl<<endl<<endl;
				cout<<"--------------------------------------------------"<<endl;
				cout<<"'@'代表你"<<endl<<endl;
				cout<<"'-'代表路,你可以在上面行走"<<endl<<endl;
				cout<<"'='代表蹦床,你在上面会被弹的很高,也可以在上面行走"<<endl<<endl;
				cout<<"'^'、'<'、'>'代表刺,一个刺上面一格,一个刺左边一格,一个刺右边一格,刺中了要重新开始,刺左边和右边的刺你可以站在它的正上方而不会被刺中重新开始"<<endl<<endl;
				cout<<"'$'代表终点"<<endl<<endl;
				cout<<"'|'代表墙,你可以站在上面,但是在同一行无法穿过去"<<endl;
				cout<<"--------------------------------------------------";
				if(kbhit()!=0)
				{
					x=getch();
				}
				if(x==Esc||g.anniu(0,21,8,0,"Esc.返回",BC,NC))
				{
					system("cls");
					break;
				}
			}
		}
		else if(x=='2'||g.anniu(20,13,10,0,"2.按键说明",BC,NC))
		{
			system("cls");
			Sleep(50);
			for(;;)
			{
				g.ydgb(0,0);
				cout<<"按键说明:"<<endl<<endl<<endl;
				cout<<"--------------------------------------------------"<<endl;
				cout<<"普通按键:"<<endl<<endl;
				cout<<"上箭头和'w'键代表跳,最多跳4格"<<endl;
				cout<<"左箭头和's'代表向左走一格"<<endl;
				cout<<"右箭头和'd'代表向右走一格"<<endl;
				cout<<"功能按键:"<<endl<<endl;
				cout<<"'z'键代表刷新,大小写都行"<<endl;
				cout<<"'x'键代表暂停,大小写都行"<<endl;
				cout<<"--------------------------------------------------";
				if(kbhit()!=0)
				{
					x=getch();
				}
				if(x==Esc||g.anniu(0,16,8,0,"Esc.返回",BC,NC))
				{
					system("cls");
					break;
				}
			}
		}
		else if(x=='3'||g.anniu(20,16,10,0,"3.温馨提示",BC,NC))
		{
			system("cls");
			Sleep(50);
			for(;;)
			{
				g.ydgb(0,0);
				cout<<"温馨提示:"<<endl<<endl;
				cout<<"--------------------------------------------------"<<endl;
				cout<<"不要调整游戏窗口大小!!!不要调整游戏窗口大小!!!不要调整游戏窗口大小!!!会出bug!!!会出bug!!!会出bug!!!(重要的事情说三遍)"<<endl<<endl;
				cout<<"如果有bug可以刷新(不知道如何刷新的看<<按键说明>>)"<<endl<<endl;
				cout<<"如果用上箭头加左或右箭头进行移动一次性会移动两格,用'w'加上'a'或's'则不会(c++和windows的奇妙特性+1,绝对不是bug)"<<endl<<endl;
				cout<<"地图和关卡名可以自己进行改编(很\"刑\")"<<endl<<endl;
				cout<<"游戏初始化(加载)时可能会卡,千万不要拖动窗口,会错位(特性+2,错位了也可以用刷新解决)"<<endl<<endl;
				cout<<"--------------------------------------------------";
				if(kbhit()!=0)
				{
					x=getch();
				}
				if(x==Esc||g.anniu(0,20,8,0,"Esc.返回",BC,NC))
				{
					system("cls");
					break;
				}
			}
		}
		else if(x==Esc||g.anniu(21,19,8,0,"Esc.返回",BC,NC))
		{
			system("cls");
			break; 
		}
	}
	Sleep(50);
	return ;
}

void yx(int x,int y,char z,int l)
{
	Sleep(50);
	int ax=0;
	g.x=x;
	g.y=y;
	g.ydgb(g.x,g.y);
	cout<<z;
	for(;;)
	{
		if(kbhit()!=0)
		{
			ax=getch();
			if(ax==224)
			{
				ax=getch();
				if(ax==72)
				{
					for(int j=1;j<=4;j++)
					{
						Sleep(100);
						if(g.y!=0&&g.mapp[l][g.y-1][g.x]==' '||g.mapp[l][g.y-1][g.x]=='$')
						{
							g.ydgb(g.x,g.y);
							cout<<" ";
							g.y--;
							g.ydgb(g.x,g.y);
							cout<<z;
						}
						if(kbhit()!=0)
						{
							ax=getch();
							if(ax==224)
							{
								ax=getch();
								if(ax==75)
								{
									if(g.x!=0&&g.mapp[l][g.y][g.x-1]==' '||g.mapp[l][g.y][g.x-1]=='$')
									{
										g.x--;
										g.ydgb(g.x,g.y);
										cout<<z<<" ";
									}
								}
								if(ax==77)
								{
									if(g.x!=49&&g.mapp[l][g.y][g.x+1]==' '||g.mapp[l][g.y][g.x+1]=='$')
									{
										g.ydgb(g.x,g.y);
										cout<<" "<<z;
										g.x++;
									}
								}
							}
							if(ax=='a'||ax=='A')
							{
								if(g.x!=0&&g.mapp[l][g.y][g.x-1]==' '||g.mapp[l][g.y][g.x-1]=='$')
								{
									g.x--;
									g.ydgb(g.x,g.y);
									cout<<z<<" ";
								}
							}
							else if(ax=='d'||ax=='D')
							{
								if(g.x!=49&&g.mapp[l][g.y][g.x+1]==' '||g.mapp[l][g.y][g.x+1]=='$')
								{
									g.ydgb(g.x,g.y);
									cout<<" "<<z;
									g.x++;
								}
							}
							if(ax==Sx||ax==SX)
							{
								system("cls");
								sx(g.x,g.y,z,l,1);
							}
							if(ax==Zt||ax==ZT)
							{
								system("cls");
								if(zt(g.x,g.y,z,l,true)==1)
								{
									return;
								}
								ax=0;
							}
						}
					}
				}
				else if(ax==75)
				{
					if(g.x>=0&&g.mapp[l][g.y][g.x-1]==' '||g.mapp[l][g.y][g.x-1]=='$')
					{
						g.x--;
						g.ydgb(g.x,g.y);
						cout<<z<<" ";
					}
				}
				if(ax==77)
				{
					if(g.x<=48&&g.mapp[l][g.y][g.x+1]==' '||g.mapp[l][g.y][g.x+1]=='$')
					{
						g.ydgb(g.x,g.y);
						cout<<" "<<z;
						g.x++;
					}
				}
			}
			if(ax=='a'||ax=='A')
			{
				if(g.x!=0&&g.mapp[l][g.y][g.x-1]==' '||g.mapp[l][g.y][g.x-1]=='$')
				{
					g.x--;
					g.ydgb(g.x,g.y);
					cout<<z<<" ";
				}
			}
			else if(ax=='d'||ax=='D')
			{
				if(g.x!=49&&g.mapp[l][g.y][g.x+1]==' '||g.mapp[l][g.y][g.x+1]=='$')
				{
					g.ydgb(g.x,g.y);
					cout<<" "<<z;
					g.x++;
				}
			}
			else if(ax=='w'||ax=='W')
			{
				for(int j=1;j<=4;j++)
				{
					Sleep(100);
					if(g.y!=0&&g.mapp[l][g.y-1][g.x]==' '||g.mapp[l][g.y-1][g.x]=='$')
					{
						g.ydgb(g.x,g.y);
						cout<<" ";
						g.y--;
						g.ydgb(g.x,g.y);
						cout<<z;
						
					}
					if(kbhit()!=0)
					{
						ax=getch();
						if(ax==224)
						{
							ax=getch();
							if(ax==75)
							{
								if(g.x!=0&&g.mapp[l][g.y][g.x-1]==' '||g.mapp[l][g.y][g.x-1]=='$')
								{
									g.x--;
									g.ydgb(g.x,g.y);
									cout<<z<<" ";
								}
							}
							if(ax==77)
							{
								if(g.x!=49&&g.mapp[l][g.y][g.x+1]==' '||g.mapp[l][g.y][g.x+1]=='$')
								{
									g.ydgb(g.x,g.y);
									cout<<" "<<z;
									g.x++;
								}
							}
						}
						if(ax=='a'||ax=='A')
						{
							if(g.x!=0&&g.mapp[l][g.y][g.x-1]==' '||g.mapp[l][g.y][g.x-1]=='$')
							{
								g.x--;
								g.ydgb(g.x,g.y);
								cout<<z<<" ";
							}
						}
						else if(ax=='d'||ax=='D')
						{
							if(g.x!=49&&g.mapp[l][g.y][g.x+1]==' '||g.mapp[l][g.y][g.x+1]=='$')
							{
								g.ydgb(g.x,g.y);
								cout<<" "<<z;
								g.x++;
							}
						}
						if(ax==Sx||ax==SX)
						{
							system("cls");
							sx(g.x,g.y,z,l,1);
						}
						if(ax==Zt||ax==ZT)
						{
							system("cls");
							if(zt(g.x,g.y,z,l,true)==1)
							{
								return;
							}
							ax=0;
						}	
					}
				}
			}
			if(ax==Sx||ax==SX)
			{
				system("cls");
				sx(g.x,g.y,z,l,1);
			}
			if(ax==Zt||ax==ZT)
			{
				system("cls");
				if(zt(g.x,g.y,z,l,true)==1)
				{
					return;
				}
				ax=0;
			}
		}
 		while(g.mapp[l][g.y+1][g.x]==' '||g.mapp[l][g.y+1][g.x]=='$')
		{
			Sleep(100);
	 		g.ydgb(g.x,g.y);
			cout<<" ";
			g.y+=1;
			if(g.y<24)
			{
				g.ydgb(g.x,g.y);
	 			cout<<z;	
			}
	 		if(kbhit()!=0)
			{
				ax=getch();
				if(ax==224)
				{
					ax=getch();
					if(ax==75)
					{
						if(g.x>=0&&g.y<=24&&g.mapp[l][g.y][g.x-1]==' '||g.mapp[l][g.y][g.x-1]=='$')
						{
							g.x--;
							g.ydgb(g.x,g.y);
							cout<<z<<" ";
						}
					}
					if(ax==77)
					{
						if(g.x<=48&&g.y<=24&&g.mapp[l][g.y][g.x+1]==' '||g.mapp[l][g.y][g.x+1]=='$')
						{
							g.ydgb(g.x,g.y);
							cout<<" "<<z;
							g.x++;
						}
					}
				}
				if(ax=='a'||ax=='A')
				{
					if(g.x!=0&&g.mapp[l][g.y][g.x-1]==' '||g.mapp[l][g.y][g.x-1]=='$')
					{
						g.x--;
						g.ydgb(g.x,g.y);
						cout<<z<<" ";
					}
				}
				else if(ax=='d'||ax=='D')
				{
					if(g.x!=49&&g.mapp[l][g.y][g.x+1]==' '||g.mapp[l][g.y][g.x+1]=='$')
					{
						g.ydgb(g.x,g.y);
						cout<<" "<<z;
						g.x++;
					}
				}
				if(ax==Sx||ax==SX)
				{
					system("cls");
					sx(g.x,g.y,z,l,1);
				}
				if(ax==Zt||ax==ZT)
				{
					system("cls");
					if(zt(g.x,g.y,z,l,true)==1)
					{
						return;
					}
					ax=0;
				}
			}
			if(g.mapp[l][g.y+1][g.x]=='^'||g.mapp[l][g.y][g.x+1]=='<'||g.mapp[l][g.y][g.x-1]=='>'||g.mapp[l][g.y-1][g.x]=='v'||g.y==25)
			{
				g.ydgb(g.x,g.y);
				cout<<" ";
				g.x=x;
				g.y=y;
				g.ydgb(g.x,g.y);
				cout<<z;
			} 
		} 
		if(g.mapp[l][g.y+1][g.x]=='=')
		{
			int jc=1;
			for(int j=1;j<=8&&g.y>1;j++)
			{
				Sleep(50);
				if(g.mapp[l][g.y-1][g.x]==' ')
				{
					g.ydgb(g.x,g.y);
					cout<<" ";
					g.y--;
					g.ydgb(g.x,g.y);
					cout<<z;	
					if(g.mapp[l][g.y+1][g.x]=='^'||g.mapp[l][g.y][g.x+1]=='<'||g.mapp[l][g.y][g.x-1]=='>'||g.mapp[l][g.y-1][g.x]=='v'||g.y==25)
					{
						g.ydgb(g.x,g.y);
						cout<<" ";
						g.x=x;
						g.y=y;
						g.ydgb(g.x,g.y);
						cout<<z;
					}
				}
				if(kbhit()!=0)
				{
					ax=getch();
					if(ax==224)
					{
						ax=getch();
						if(ax==75)
						{
							if(g.x>=0&&g.mapp[l][g.y][g.x-1]==' '||g.mapp[l][g.y][g.x-1]=='$')
							{
								g.x--;
								g.ydgb(g.x,g.y);
								cout<<z<<" ";
							}
						}
						if(ax==77)
						{
							if(g.x<=48&&g.mapp[l][g.y][g.x+1]==' '||g.mapp[l][g.y][g.x+1]=='$')
							{
								g.ydgb(g.x,g.y);
								cout<<" "<<z;
								g.x++;
							}
						}
					}
					if(ax=='a'||ax=='A')
					{
						if(g.x!=0&&g.mapp[l][g.y][g.x-1]==' '||g.mapp[l][g.y][g.x-1]=='$')
						{
							g.x--;
							g.ydgb(g.x,g.y);
							cout<<z<<" ";
						}
					}
					else if(ax=='d'||ax=='D')
					{
						if(g.x!=49&&g.mapp[l][g.y][g.x+1]==' '||g.mapp[l][g.y][g.x+1]=='$')
						{
							g.ydgb(g.x,g.y);
							cout<<" "<<z;
							g.x++;
						}
					}
					if(ax=='Z'||ax==SX)
					{
						system("cls");
						sx(g.x,g.y,z,l,1);
					}
					if(ax==Zt||ax==ZT)
					{
						system("cls");
						if(zt(g.x,g.y,z,l,true)==1)
						{
							return;
						}
						ax=0;
					}
				} 
			}
		}	
		if(g.mapp[l][g.y+1][g.x]=='^'||g.mapp[l][g.y][g.x+1]=='<'||g.mapp[l][g.y][g.x-1]=='>'||g.mapp[l][g.y-1][g.x]=='v'||g.y==25)
		{
			g.ydgb(g.x,g.y);
			cout<<" ";
			g.x=x;
			g.y=y;
			g.ydgb(g.x,g.y);
			cout<<z;
		}
		if(ax==Zt||ax==ZT)
		{
			if(zt(g.x,g.y,z,l,true)==1)
			{
				return;
			}
			ax=0;
		}
		if(ax=='Z'||ax=='Z')
		{
			system("cls");
			sx(g.x,g.y,z,l,1);
		}
		if(g.mapp[l][g.y][g.x]=='$')	
		{
			if(g.cd<=l+1)
			{
				g.cd=l+1;
				g.gb=false;
			} 
			Sleep(10);
			system("cls");
			g.ydgb(0,0);
			cout<<"你赢了!"<<endl;
			system("pause");
			system("cls");
			g.ydgb(0,0);
			return ;
		}
	}
	return ; 
}
void g1()
{
	g.ydgb(0,0);
	cout<<endl<<endl;
	cout<<"\n\n\n\n\n\n\n\n\n                 第一关:新手教程";
	Sleep(500);
	system("cls");
	g.ydgb(0,0);
	for(int i=0;i<24;i++)
	{
		cout<<g.mapp[0][i]<<endl;
	}
	cout<<g.mapp[0][24];
	yx(0,18,g.rw,0);
	return;
}
void g2()
{
	g.ydgb(0,0);
	cout<<endl<<endl;
	cout<<"\n\n\n\n\n\n\n\n\n                 第二关:蹦床世界"; 
	Sleep(500);
	system("cls");
	g.ydgb(0,0);
	for(int i=0;i<24;i++)
	{
		cout<<g.mapp[1][i]<<endl;
	}
	cout<<g.mapp[1][24];
	yx(0,22,g.rw,1);
	return;
}
void g3()
{
	g.ydgb(0,0);
	cout<<endl<<endl;
	cout<<"\n\n\n\n\n\n\n\n\n                 第三关:小心走错"; 
	Sleep(500);
	system("cls");
	g.ydgb(0,0);
	for(int i=0;i<24;i++)
	{
		cout<<g.mapp[2][i]<<endl;
	}
	cout<<g.mapp[2][24];
	yx(0,23,g.rw,2);
	return;
}
void g4()
{
	g.ydgb(0,0);
	cout<<endl<<endl;
	cout<<"\n\n\n\n\n\n\n\n\n                 第四关:暗刺难防"; 
	Sleep(500);
	system("cls");
	g.ydgb(0,0);
	for(int i=0;i<24;i++)
	{
		cout<<g.mapp[3][i]<<endl;
	}
	cout<<g.mapp[3][24];
	yx(0,23,g.rw,3);
	return;
}
void g5()
{
	g.ydgb(0,0);
	cout<<endl<<endl;
	cout<<"\n\n\n\n\n\n\n\n\n                 第五关:心跳刺方";
	Sleep(500);
	system("cls");
	g.ydgb(0,0);
	for(int i=0;i<24;i++)
	{
		cout<<g.mapp[4][i]<<endl;
	}
	cout<<g.mapp[4][24];
	yx(23,2,g.rw,4);
	return;
}
void g6()
{
	g.ydgb(0,0);
	cout<<endl<<endl;
	cout<<"\n\n\n\n\n\n\n\n\n                 第六关:飞得更高";
	Sleep(500);
	system("cls");
	g.ydgb(0,0);
	for(int i=0;i<24;i++)
	{
		cout<<g.mapp[5][i]<<endl;
	}
	cout<<g.mapp[5][24];
	yx(0,23,g.rw,5);
	return;
}
void g7()
{
	g.ydgb(0,0);
	cout<<endl<<endl;
	cout<<"\n\n\n\n\n\n\n\n\n                 第七关:摔得更惨";
	Sleep(500);
	system("cls");
	g.ydgb(0,0);
	for(int i=0;i<24;i++)
	{
		cout<<g.mapp[6][i]<<endl;
	}
	cout<<g.mapp[6][24];
	yx(0,1,g.rw,6);
	return;
}
void g8()
{
	g.ydgb(0,0);
	cout<<endl<<endl;
	cout<<"\n\n\n\n\n\n\n\n\n                 第八关:信仰之跃";
	Sleep(500);
	system("cls");
	g.ydgb(0,0);
	for(int i=0;i<24;i++)
	{
		cout<<g.mapp[7][i]<<endl;
	}
	cout<<g.mapp[7][24];
	yx(0,23,g.rw,7);
	return;
}
void g9()
{
	g.ydgb(0,0);
	cout<<endl<<endl;
	cout<<"\n\n\n\n\n\n\n\n\n                 第九关:九转大肠";
	Sleep(500);
	system("cls");
	g.ydgb(0,0);
	for(int i=0;i<24;i++)
	{
		cout<<g.mapp[8][i]<<endl;
	}
	cout<<g.mapp[8][24];
	yx(0,1,g.rw,8);
	return;
}
void hy()
{
	system("cls");
	if(!hydh)
	{
		g.ydgb(0,0);
		cout<<"\n\n\n\n\n\n\n\n\n\n\n\n           ============欢迎============           "<<endl;
		hydh=true;
		Sleep(1000);
		system("cls");
	}
	char x=0;
	for(;;)
	{
		g.ydgb(0,0);
		cout<<"\n\n\n\n\n                       首页";
		x=0;
		if(kbhit()!=0)
		{
			x=getch();
		}
		if(g.anniu(20,10,10,0,"1.开始游戏",BC,NC)||x=='1')
		{
			gq();
		}
		else if(g.anniu(22,13,6,0,"2.存档",BC,NC)||x=='2')
		{
			g.gcd();
		}
		else if(g.anniu(22,16,6,0,"3.帮助",BC,NC)||x=='3')
		{
			bz();
		}
		else if(g.anniu(19,19,8,0,"Esc.退出游戏",BC,NC)||x==Esc)
		{
			tc();
		}
		if(x==SX||x==Sx)
		{
			sx(0,0,0,0,false);
		}
		if(x==ZT||x==Zt)
		{
			zt(0,0,0,0,false);
		}
		if(x!=0)
		{
			break;
		}
	}
	system("cls");
	Sleep(50);
	return ;
}
void gq()
{
	system("cls");
	int tc=0;
	Sleep(50);
	g.gdd();
	for(;;) 
	{
		g.ydgb(0,0);
		char x=0;
		cout<<"\n\n\n\n\n                        关卡";
		if(kbhit()!=0)
		{
			x=getch();
		}
		if(x=='1'||((g.cd>=0)?g.anniu(14,9,10,0,g.gqm[0],BC,NC):g.anniu(14,9,10,0,g.fgqm[0],BC,NC)))
		{
			system("cls");
			if(g.cd>=0)
			{
				g1();	
			} 	
			else
			{
				cout<<"\n\n\n\n\n\n\n\n\n\n\n       您还没有解锁此关,请通关前一关后解锁!";
				Sleep(500);
				system("cls");
			}
		}
		else if(x=='2'||((g.cd>=1)?g.anniu(27,9,10,0,g.gqm[1],BC,NC):g.anniu(27,9,10,0,g.fgqm[1],BC,NC)))
		{
			system("cls");
			if(g.cd>=1)
			{
				g2();	
			} 	
			else
			{
				cout<<"\n\n\n\n\n\n\n\n\n\n\n       您还没有解锁此关,请通关前一关后解锁!";
				Sleep(500);
				system("cls");
			}
		}
		else if(x=='3'||((g.cd>=2)?g.anniu(14,12,10,0,g.gqm[2],BC,NC):g.anniu(14,12,10,0,g.fgqm[2],BC,NC)))
		{
			system("cls");
			if(g.cd>=2)
			{
				g3();	
			} 	
			else
			{
				cout<<"\n\n\n\n\n\n\n\n\n\n\n       您还没有解锁此关,请通关前一关后解锁!";
				Sleep(500);
				system("cls");
			}
		}
		else if(x=='4'||((g.cd>=3)?g.anniu(27,12,10,0,g.gqm[3],BC,NC):g.anniu(27,12,10,0,g.fgqm[3],BC,NC)))
		{
			system("cls");
			if(g.cd>=3)
			{
				g4();	
			} 	
			else
			{
				cout<<"\n\n\n\n\n\n\n\n\n\n\n       您还没有解锁此关,请通关前一关后解锁!";
				Sleep(500);
				system("cls");
			}
		}
		else if(x=='5'||((g.cd>=4)?g.anniu(14,15,10,0,g.gqm[4],BC,NC):g.anniu(14,15,10,0,g.fgqm[4],BC,NC)))
		{
			system("cls");
			if(g.cd>=4)
			{
				g5();	
			} 	
			else
			{
				cout<<"\n\n\n\n\n\n\n\n\n\n\n       您还没有解锁此关,请通关前一关后解锁!";
				Sleep(500);
				system("cls");
			}
		}
		else if(x=='6'||((g.cd>=5)?g.anniu(27,15,10,0,g.gqm[5],BC,NC):g.anniu(27,15,10,0,g.fgqm[5],BC,NC)))
		{
			system("cls");
			if(g.cd>=5)
			{
				g6();	
			} 	
			else
			{
				cout<<"\n\n\n\n\n\n\n\n\n\n\n       您还没有解锁此关,请通关前一关后解锁!";
				Sleep(500);
				system("cls");
			}
		}
		else if(x=='7'||((g.cd>=6)?g.anniu(14,18,10,0,g.gqm[6],BC,NC):g.anniu(14,18,10,0,g.fgqm[6],BC,NC)))
		{
			system("cls");
			if(g.cd>=6)
			{
				g7();	
			} 	
			else
			{
				cout<<"\n\n\n\n\n\n\n\n\n\n\n       您还没有解锁此关,请通关前一关后解锁!";
				Sleep(500);
				system("cls");
			}
		}
		else if(x=='8'||((g.cd>=7)?g.anniu(27,18,10,0,g.gqm[7],BC,NC):g.anniu(27,18,10,0,g.fgqm[7],BC,NC)))
		{
			system("cls");
			if(g.cd>=7)
			{
				g8();	
			} 	
			else
			{
				cout<<"\n\n\n\n\n\n\n\n\n\n\n       您还没有解锁此关,请通关前一关后解锁!";
				Sleep(500);
				system("cls");
			}
		}
		else if(x=='9'||((g.cd>=8)?g.anniu(14,21,10,0,g.gqm[8],BC,NC):g.anniu(14,21,10,0,g.fgqm[8],BC,NC)))
		{
			system("cls");
			if(g.cd>=8)
			{
				g9();	
			} 	
			else
			{
				cout<<"\n\n\n\n\n\n\n\n\n\n\n       您还没有解锁此关,请通关前一关后解锁!";
				Sleep(500);
				system("cls");
			}
		}
		else if(x==Esc||g.anniu(29,21,8,0,"Esc.退出",BC,NC))
		{
			tc=1;
		}
		else if(x==SX||x==Sx)
		{
			sx(0,0,0,0,0);
		}
		else if(x==ZT||x==Zt)
		{
			zt(0,0,0,0,0);
		}
		if(tc==1)
		{
			tc=0;
			system("cls");
			break;
		}
		x=0;
	}
	system("cls");
	return ;
}
int main()
{
	cout<<"加载中";
	g.ycksbj();
	cout<<".";
	g.ycgb();
	cout<<".";
	system("title 跑酷游戏");
	cout<<".";
	system("mode con cols=50 lines=25");
	cout<<".";
	g.ys(BC);
	cout<<".";
	g.gdd();
	cout<<".";
	system("cls");
	cout<<"成功";
	csh=true;
	for(;;)
	{
		hy();
	}
}

后记:

要小升初考试了,希望能考个好成绩,摇到好初中!!!

也祝每一个看到这篇博客的人事事如意!!!


网站公告

今日签到

点亮在社区的每一天
去签到