devc++小游戏源代码免费(1)

目录

创意类

1.狼人杀

2.森林冰火人

3.无限挖掘(推荐)

4.密室逃脱


devc++虽然体量很小,但是编写小游戏还是可以的。下面列举了一些我从网络上收集的一些devc++编写的小游戏。都是亲身测试可运行,用devc++即可!有些游戏作者自己完善了一下,可能和原版不一样。但主要还是把那些可怕的缩进改了亿下。

创意类

1.狼人杀

真是大神多啊,连这都能写出来。

#include<bits/stdc++.h>
#include <Windows.h>
#include <conio.h>
long long sr;
using namespace std;
void brc(){
	system("cls");
	long long jy = 1, wd = 3;
	long long sy = 3, wj = 3;
	srand((int)time(0));
	long long n = rand() % 15 + 1;
	cout << "                                你是" << n << "号\n";
	cout << "                               正在分配身份\n";
	Sleep(1000);
	long long m[20];
	for(long long i = 1; i <= 15; i++)
		m[i] = 1;
	long long s[20] = {0};
	long long yy[20] = {0};
	long long l = 0, w = 0, j = 0, p = 0;
	for(long long i=1;i<=15;i++){
		do{
			long long a=rand()%4+1;
			if(a==1&&l<1){
				l++;
				s[i]=1;
				sr=i;
			}
			else if(a==2&&w<2){
				w++;
				s[i]=2;
			}
			else if(a==4&&p<3){
				p++;
				s[i]=4;
			}
			else if(a==3&&j<9){
				j++;
				s[i]=3;
			}
		}
		while(s[i]==0);
	}
	if(s[n]==1)
		cout<<"                               你是>>杀手<<" << endl;
	else if(s[n]==2)
		cout<<"                               你是>>预言家<<" << endl;
	else if(s[n]==3)
		cout<<"                               你是>>平民<<"<<endl;
	else
		cout<<"                               你是>>法师<<"<<endl;
	cout<<"                             游戏将在3秒后开始"<<endl; 
	Sleep(3000);
	long long c = 15;
	long long f = 0, flag = 0;
	long long day = 1;
	long long lr;
	long long tp[20] = {0};
	do{
		lr = 0;
		system("cls");
		cout<<"                                 第"<<day<<"晚开始"<<endl;
		cout<<"你是"<<n<<"号"<<endl;
		long long x;
		for(long long i=1;i<=15;i++){
			if(i==n&&m[n]==1){
				if(s[n]==1){
					cout<<"                                 你是杀手"<<endl;
					for(long long j=1;j<=15;j++)
						if(m[j]==1&&s[j]!=1)
							cout<<j<<" ";
					cout<<endl;
					cout<<"                                 你选择杀掉"<<endl; 
					long long a;
					cin>>a;
					m[a]=0;
					cout<<endl;
					cout<<"                                 杀手杀了"<<a<<"号"; 
					if(s[a]==1)
						cout<<"(杀手)"<<endl;
					else if(s[a]==2)
						cout<<"(预言家)"<<endl;
					else if(s[a]==3)
						cout<<"(平民)"<<endl;
					else
						cout<<"(法师)"<<endl;
					c--;
				}	
				else
				if(s[n]==2){
					cout<<"                                 你是预言家"<<endl;
					cout<<"                               ";
					for(long long j=1;j<=15;j++)
						if(m[j]==1)
							cout<<j<<" ";
					cout<<endl<<"                              你选择预言谁的身份"<<endl;
					long long a;
					cin>>a;
					if(s[a]==1){
						cout<<"                        "<<a<<"号是杀手,请注意"<<endl;
						Sleep(1000);
					}
					else
						cout<<"                            "<<a<<"号是好人"<<endl; 
				}
			}
			else if(s[i]==1&&m[i]==1){
				long long a;
				do{
					a=rand()%15+1;
				}
				while(a==i||m[a]==0||s[a]==1);
				cout<<"                           杀手杀掉了"<<a<<"号"; 
				if(s[a]==1)
					cout<<"(杀手)"<<endl;
				else if(s[a]==2)
					cout<<"(预言家)"<<endl;
				else if(s[a]==3)
					cout<<"(平民)"<<endl;
				else
					cout<<"(法师)"<<endl;
				m[a]=0;
				c--;
				break;//
			}
			else if(s[i]==2){
				if(flag==0||m[flag]==0){
					long long a;
					do{
						a=rand()%15+1;
					}
					while(a==i||m[a]==0);
					if(s[a]==1)
						yy[a]=1;	
					else if(s[a]==3)
						yy[a]=3;
				}	
			}
			else if(s[i]==4){
				f=0;
				while(f==0){
					long long a;
					a=rand()%3+1;
					if(a==3)break;
					if(a==1){
						if(sy>0){
							sy--;
							f=1; 
							long long b;
							do{
								b=rand()%15+1;
								b=rand()%15+1;
							}
							while(b==i||m[b]==0);
							m[b]=0;
							cout<<"                           法师毒死了"<<b<<"号"; 
							if(s[b]==1)
								cout<<"(杀手)"<<endl;
							else if(s[b]==2)
								cout<<"(预言家)"<<endl;
							else if(s[b]==3)
								cout<<"(平民)"<<endl;
							c--;
							if(s[b]==1&&n!=sr){
								cout<<endl<<"							   "<<sr<<"号是杀手!"; 
								cout<<endl<<"								杀手已死亡!"<<endl;
								cout<<"                          	游戏结束"<<endl;
								return ;
							}
							break;//
						}
					}
					else if(a==2&&day>1){
						if(jy>0){
							jy--;
							f=1; 
							long long b;
							do{
								b=rand()%15+1;
							}
							while(b==i||m[b]==1);
							c++;
							cout<<"                           法师复活了"<<b<<"号"<<endl;
							m[b]=1;
							if(m[sr]==0&&n!=sr){
								cout<<endl<<"							   "<<sr<<"号是杀手!"; 
								cout<<endl<<"						杀手已死亡!"<<endl;
								cout<<"                          	游戏结束"<<endl;
								return ;
							}
							break;//
						}
					}
					
				}
			}
		}
		if(s[n]==4){
			cout<<"                                 你是法师"<<endl;
			cout<<"存活状况:"<<endl; 
			for(long long j=1;j<=15;j++)
				if(m[j]==1)
					cout<<j<<" ";
			cout<<endl;
			cout<<"                        你选择 1.* 杀 *还是 2.* 救 * 3.* 啥都不做 *"<<endl;
			long long a,f=0;
			while(f==0){
				cin>>a;
				if(a==3) break;
				if(a==1){
					if(wd>0){
						wd--;
						f=1; 
						cout<<"                                你选择了杀人"<<endl;
						for(long long i=1;i<=15;i++)
							if(m[i]==1)
								cout<<i<<" ";
						cout<<endl; 
						long long b;
						cin>>b;
						if(s[b]==1)
							cout<<"(杀手)"<<endl;
						else if(s[b]==2)
							cout<<"(预言家)"<<endl;
						else if(s[b]==3)
							cout<<"(平民)"<<endl;
						else
							cout<<"(法师)"<<endl;
						m[b]=0;
						c--; 
						if(m[sr]==0&&n!=sr){
							cout<<endl<<"							   "<<sr<<"号是杀手!"; 
							cout<<endl<<"						杀手已死亡!"<<endl;
							cout<<"                          	游戏结束"<<endl;
							return ;
						}
					}
					else{
						cout<<">>毒药<<不足"<<endl; 
					}
				}
				else if(a==2){
					if(wj>0){
						wj--;
						f=1; 
						cout<<"你选择了复活"<<endl;
						cout<<"阵亡名单:"<<endl;
						for(long long i=1;i<=15;i++)
							if(m[i]==0)
								cout<<i<<"号,身份:"<<s[i]<<" "<<endl;;
						long long b;
						cin>>b;
						m[b]=1;
						c++;
					}
					else
					{
						cout<<">>复活药水<<不足"<<endl; 
					}
				}
			}
		}
		Sleep(1000);
		long double p[20]={0};
		cout<<"                                 第"<<day<<"晚结束"<<endl;
		cout<<endl;
		if(m[n]==0){
			cout<<"                             你已经>>死<<了";	
			break;
		}
		
		cout<<"                                    存活:"<<endl;
		cout<<"                       ";
		for(long long i=1;i<=15;i++)
			if(m[i]==1)
				cout<<i<<" ";
		cout<<endl;
		cout<<"                                    请投票...."<<endl;
		for(long long i=1;i<=15;i++){
			if(i==n&&m[n]==1){
				cout<<endl;
				cout<<"                                 你选择投几号"<<endl; 
				long long a=99;
				while(a==99){
					cin>>a;
					if(a==99)
						for(long long i=1;i<=15;i++)
							if(m[i]==1)
								cout<<"                                    "<<i<<"."<<s[i]<<endl;
				}
				if(s[i]==3&&day>4)
					p[a]+=1.5;
				else
					p[a]++;	
				cout<<endl;
				cout<<"                                    "<<i<<"->"<<a<<endl;
				if(s[a]==3){
					tp[a]=i;
				}
			}
			else if(s[i]==1&&m[i]==1){
				long long a;
				do{
					a=rand()%15+1;	
				}
				while(m[a]==0||a==i||s[a]==1);
				p[a]++;
				cout<<"                                    "<<i<<"->"<<a<<endl;
				if(s[a]==3){
					tp[a]=i;
				}
			}
			else if(s[i]==2&&m[i]==1){
				if(flag!=0){
					p[f]++;
					cout<<"                                    "<<i<<"->"<<flag<<endl;
				}
				else{
					long long a;
					do{
						a=rand()%15+1;	
					}
					while(m[a]==0||a==i||yy[a]==3);
					p[a]++;
					if(s[a]==3){
						tp[a]=i;
					}
					cout<<"                                    "<<i<<"->"<<a<<endl;
				}
			} 
			else if(s[i]==3&&m[i]==1){
				if(tp[i]==0){
					long long a;
					do{
						a=rand()%15+1;	
					}
					while(m[a]==0||a==i);
					p[a]++;
					cout<<"                                    "<<i<<"->"<<a<<endl;
				}
				else{
					if(m[tp[i]]==1){
						p[tp[i]]++;
						cout<<"                                    "<<i<<"->"<<tp[i]<<endl;
					}
					else{
						long long a;
						do{
							a=rand()%15+1;	
						}
						while(m[a]==0||a==i);
						p[a]++;
						cout<<"                                    "<<i<<"->"<<a<<endl;
					}
				}
			}
			else if(s[i]==4&&m[i]==1){
				long long a;
				do{
					a=rand()%15+1;	
				}
				while(m[a]==0||a==i);
				p[a]++;
				cout<<"                                    "<<i<<"->"<<a<<endl;
			}
		}
		system("cls");
		cout<<"                                 投票情况:"<<endl;
		for(long long i=1;i<=15;i++)
			if(m[i]==1)
				cout<<"                                 "<<i<<"号"<<"  票数:"<<p[i]<<endl; 
		long long sw,max=-100; 
		for(long long i=1;i<=15;i++){
			if(p[i]>max){
				sw=i;
				max=p[i];
			}
		}
		m[sw]=0;
		cout<<"                                  "<<sw<<"死了"<<endl;
		c--;
		cout<<"                              "<<sw<<"号的身份是"; 
		if(s[sw]==1)
			cout<<"杀手"<<endl;
		else if(s[sw]==2)
			cout<<"预言家"<<endl;
		else if(s[sw]==3)
			cout<<"平民"<<endl;
		else 
			cout<<"法师"<<endl; 
		if(s[sw]==1&&n!=sr){
			cout<<endl<<"							   "<<sr<<"号是杀手!"; 
			cout<<endl<<"						杀手已死亡!"<<endl;
			cout<<"                          	游戏结束"<<endl;
			return ;
		}
		day++;  
		if(s[n]!=1){
			for(long long i=1;i<=15;i++)
			if(s[i]==1&&m[i]==1)
				lr=1;
		}
		else{
			if(s[n]==1&&c==2)
				lr=0;
		}
		system("pause"); 
		cout<<endl;
		if(m[sr]==0&&n!=sr){
			cout<<endl<<"							   "<<sr<<"号是杀手!"<<endl; 
			cout<<endl<<"						杀手已死亡!"<<endl;
			cout<<"                          	游戏结束"<<endl;
			return ;
		}
	}
	while(m[n]==1&&c>1);
	if(sr==n&&m[n]==1){
		cout<<"								你杀掉了所有人!!!"<<endl;
	}
	cout<<"                          	游戏结束"<<endl;
	return ;
}
int main(){
    srand((int)time(0));  
	char a='1';
	while(1){
		system("cls");
		cout<<"                                   			杀手游戏"<<endl;
		cout<<"------------------------------------------------------------------------------------------------------------------------";
		cout<<"                                 		   1.开始游戏"<<endl;
		cout<<"                                		  2.查看游戏规则"<<endl;
		a=getch();
		if(a=='1'){
			cout<<"                                 		   1. 15人场"<<endl;
			cout<<"                          			2. 30人娱乐战(10猎人)<敬请期待>"<<endl;
			a='2';
			while(a=='2'){
				a=getch();
				switch(a){
					case '1':
						brc();
					break;
				}
				if(a=='1')
					break;
			}
			if(a=='1')
				break;
		}
		else if(a=='2'){
			cout<<"杀手:每当晚上的时候可使用杀人权杀掉一人"<<endl;//1
			cout<<"预言家:每天晚上可以知道一个人的身份"<<endl;//2 
			cout<<"平民:无技能,当玩家是平民时,在第5天拥有1.5票的投票权"<<endl;//3
			cout<<"猎人:此身份仅限于30人娱乐局中,死亡后可带走一人"<<endl; 
			cout<<"投票细则:\n(游戏中除了你以外全是由超级AI人工代替)"<<endl;
			cout<<"预言家如果预言到杀手将一直对他投票,如果预言到好人将永远不会对他投票"<<endl;
			cout<<"平民将投上一个晚上对他投票他的人"<<endl;
			cout<<"********利用好超级AI游戏规则找出杀手**********"<<endl;
			system("pause");
		}
	}
	return 0;
}

2.森林冰火人

#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
long long wj1x=14,wj1y=1,wj2x=14,wj2y=1,cs=0;
bool f=1,t1=1,t2=1,sy;
string dt[21]={
	"",
	"                                                                            ",
	"                                                                            ",
	"                                                                ==  ===  == ",
	"                                                        ===  ===          < ",
	"                                                  ==                      < ",
	"                                                                          < ",
	"                  ==                           ==^^^^^^^^^^^==            < ",
	"                         ======                                           < ",
	"              ==                       === =======                        < ",
	"               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^< ",
	"         ==                                                               < ",
	"                                                                          < ",
	"     ==                                                                   < ",
	"                                                 ^                         $",
	" ========>  <=== === === ==  = === = == === ==== ^ ====  === == = == = =====",
	"                                                                            ",
	"                                                                            "
};
void color(int c){
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c);
}
void gb(){
    CONSOLE_CURSOR_INFO cursor;
    cursor.bVisible=FALSE;
    cursor.dwSize=sizeof(cursor);
    HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorInfo(handle, &cursor);
}
void out();
void in();
void lx();
void js();
int main(){
	gb();
	color(240);
	system("mode con cols=75 lines=17");
	while(f){
		system("cls");
		out();
		in();
		js();
		if(cs==1)
		lx();
		Sleep(10);
		if(cs==1)cs=-1;
		cs++;
	}
	system("cls");
	if(!sy){
		color(9);
		cout<<"*赢了!";
	}
	else{
		color(12);
		cout<<"+赢了!";
	}
	cout<<"\n按Enter结束";
	char t=getch();
	while(t!=13)t=getch();
	return 0;
}
void out(){
	for(long long i=1;i<=16;i++){
		for(long long j=1;j<=75;j++){
			if(i==wj1x&&j==wj1y){
				color(9);
				cout<<"*";
			}
			else
			if(i==wj2x&&j==wj2y){
				color(12);
				cout<<"+";
			}
			else{
				color(240);
				cout<<dt[i][j];
			}
		}
		cout<<endl;
	}
	return ;
}
void in(){
	if(GetKeyState('A')<0&&(dt[wj1x][wj1y-1]==' '||dt[wj1x][wj1y-1]=='$')&&wj1y-1>0){
		wj1y--;
	}
	if(GetKeyState('D')<0&&(dt[wj1x][wj1y+1]==' '||dt[wj1x][wj1y+1]=='$')&&wj1y-1<=100){
		wj1y++;
	}
	if(GetKeyState('W')<0&&(dt[wj1x-1][wj1y]==' '||dt[wj1x-1][wj1y]=='$')&&t1){
		wj1x--;
		for(long long i=1;i<=2;i++)
		if(dt[wj1x-1][wj1y]==' ')wj1x--;
		t1=0;
	}
	if(GetKeyState(37)<0&&(dt[wj2x][wj2y-1]==' '||dt[wj2x][wj2y-1]=='$')&&wj2y-1>0){
		wj2y--;
	}
	if(GetKeyState(39)<0&&(dt[wj2x][wj2y+1]==' '||dt[wj2x][wj2y+1]=='$')&&wj1y-1<=100){
		wj2y++;
	}
	if(GetKeyState(38)<0&&(dt[wj2x-1][wj2y]==' '||dt[wj2x-1][wj2y]=='$')&&t2){
		wj2x--;
		for(long long i=1;i<=2;i++)
		if(dt[wj2x-1][wj2y]==' ')wj2x--;
		t2=0;
	}
	return ;
}
void lx(){
	if(dt[wj1x+1][wj1y]==' '||dt[wj1x+1][wj1y]=='$')wj1x++;
	else t1=1;
	if(dt[wj2x+1][wj2y]==' '||dt[wj2x+1][wj2y]=='$')wj2x++;
	else t2=1;
	return ;
}
void js(){
	if(dt[wj1x][wj1y]=='$'){
		f=0;
		sy=0;
	}
	if(dt[wj2x][wj2y]=='$'){
		f=0;
		sy=1;
	}
	if(wj1x==16){
		wj1x=14,wj1y=1;
	}
	if(wj2x==16){
		wj2x=14,wj2y=1;
	}
	if(dt[wj1x+1][wj1y]=='^'){
		wj1x=14,wj1y=1;
	}
	if(dt[wj2x+1][wj2y]=='^'){
		wj2x=14,wj2y=1;
	}
	if(dt[wj1x][wj1y+1]=='<'){
		wj1x=14,wj1y=1;
	}
	if(dt[wj2x][wj2y+1]=='<'){
		wj2x=14,wj2y=1;
	}
	if(dt[wj1x][wj1y-1]=='>'){
		wj1x=14,wj1y=1;
	}
	if(dt[wj2x][wj2y-1]=='>'){
		wj2x=14,wj2y=1;
	}
	return ;
}

3.无限挖掘(推荐)

#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#include<time.h>
#define KEY_DOWN(VK_NONAME)((GetAsyncKeyState(VK_NONAME)&0x8000)?1:0)
using namespace std;
int m[10001][21];
struct node {
	int xx,yy,Zhong,rr,mr;
}B[100001];
int K,X,Y,tX,tY,tY2,tT,Er,T,Yb,Zb,Win,Blood,Score,Kb;
void Color(int a){
    if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
    if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
    if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
    if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
    if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
    if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
    if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
    if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN);
    if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
    if(a==9) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|BACKGROUND_INTENSITY|BACKGROUND_RED);
    if(a==10) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE|BACKGROUND_INTENSITY|BACKGROUND_BLUE);
}
void SetPos(int x,int y){
    COORD pos; pos.X=y*2-1,pos.Y=x+1;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void Zha(int x,int y){
    Zb++;
    int k1=rand()%2+2,k2=rand()%3+2,r=rand()%6;
    if(r==0) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=1,B[Zb].rr=0,B[Zb].mr=k1*2;
    if(r==1) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=2;
    if(r==2) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=3,B[Zb].rr=k2,B[Zb].mr=k1;
    if(r==3) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=4;
    if(r==4) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=5,B[Zb].rr=1,B[Zb].mr=k2*2;
    if(r==5) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=rand()%2+6,B[Zb].rr=k1+1,B[Zb].mr=k2+3;
}
void Cout(int i,int j,int a){
    int R=rand()%500,jk=0;
    if(i-K>=0&&i-K<=1&&j>=2&&j<=6) return;
    if(a!=4){
    if(m[i][j]==0&&(a==0||a==3)) SetPos(i-K,j),Color(7),cout<<"■";
    if(m[i][j]==1&&a==5) SetPos(i-K,j),Color(0),cout<<"  ";//空气 
    if(m[i][j]==2) SetPos(i-K,j),Color(8),cout<<"■";
    if(m[i][j]>=3&&m[i][j]<6) SetPos(i-K,j),Color(5),cout<<"█",m[i][j]++;
    if(m[i][j]==6&&a!=5) SetPos(i-K,j),cout<<"  ",m[i][j]=1;
    if(m[i][j]==7) SetPos(i-K,j),Color(9),cout<<"~ ";
    if(m[i][j]==8) SetPos(i-K,j),Color(10),cout<<"~ ";
    if(m[i][j]==9) SetPos(i-K,j),Color(3),cout<<"◆";
    if((m[i][j]==1||m[i][j]==8)&&m[i-1][j]>=10&&m[i-1][j]<=30&&a!=5) {int M=m[i][j];m[i][j]=m[i-1][j],m[i-1][j]=M;if(M==1) SetPos(i-K-1,j),cout<<"  ";}//炸弹下落 
    if(m[i][j]==1&&m[i-1][j]==9&&a!=5) {m[i][j]=9,m[i-1][j]=1,SetPos(i-K-1,j),Color(0),cout<<"  ";jk=1;}//宝石下落
    if(m[i][j]>=10&&m[i][j]<=30) {m[i][j]++;if(m[i][j]%3==0) Color(4);else Color(5);SetPos(i-K,j),cout<<"●";}//炸弹计时
    if(m[i][j]==1&&m[i-1][j]==7&&a!=5) {m[i][j]=7,m[i-1][j]=1,SetPos(i-K-1,j),Color(0),cout<<"  ";jk=1;}//岩浆下落
    if(m[i][j]==0&&m[i-1][j]==7&&R<=2) m[i][j]=m[i-1][j],m[i-1][j]=1,SetPos(i-K-1,j),cout<<"  ";//岩浆融解 
    if(m[i][j]==7&&R>2&&R<=5) {int r=rand()%3-1; if(m[i][j+r]==1) m[i][j+r]=m[i][j];if(m[i][j+r]==8) m[i][j+r]=2;}//岩浆扩散  
    if(R<50&&R>=20&&m[i+1][j+1]==1&&m[i+1][j]==8&&m[i][j]==8) m[i+1][j+1]=8,m[i][j]=1,SetPos(i-K,j),Color(0),cout<<"  ";
    if(R<80&&R>=50&&m[i+1][j-1]==1&&m[i+1][j]==8&&m[i][j]==8) m[i+1][j-1]=8,m[i][j]=1,SetPos(i-K,j),Color(0),cout<<"  ";//岩浆平面 
    if(m[i][j]==1&&m[i-1][j]==8&&a!=5) {m[i][j]=8,m[i-1][j]=1,SetPos(i-K-1,j),Color(0),cout<<"  ";jk=1;}//水下落
    if(m[i+1][j+1]==1&&m[i+1][j]==8&&m[i][j]==8) m[i+1][j+1]=8,m[i][j]=1,SetPos(i-K,j),Color(0),cout<<"  ";
    if(m[i+1][j-1]==1&&m[i+1][j]==8&&m[i][j]==8) m[i+1][j-1]=8,m[i][j]=1,SetPos(i-K,j),Color(0),cout<<"  ";//水平面 
    if((m[i+1][j]==8&&m[i][j]==7)||(m[i+1][j]==7&&m[i][j]==8)) m[i][j]=2,m[i-1][j]=1,SetPos(i-K-1,j),Color(0),cout<<"  ";//变石头
    if(m[i][j]==0&&m[i-1][j]==8&&R>5&&R<=7) m[i][j]=m[i-1][j],m[i-1][j]=1,SetPos(i-K-1,j),cout<<"  ";//水融解 
    if(m[i][j]==8&&R>7&&R<=9) {int r=rand()%3-1; if(m[i][j+r]==1) m[i][j+r]=m[i][j];if(m[i][j+r]==7) m[i][j+r]=2;}//水扩散  
    if(m[i][j]==31) SetPos(i-K,j),cout<<"  ",Zha(i,j);
    }
    else if(a!=5){
        if(m[i][j]>=3&&m[i][j]<6) m[i][j]++; if(m[i][j]==6) m[i][j]=1;
        if((m[i][j]==1||(m[i][j]>=3&&m[i][j]<=6))&&m[i-1][j]>=10&&m[i-1][j]<=30) m[i][j]=m[i-1][j],m[i-1][j]=1;//炸弹下落 
        if(m[i][j]>=10&&m[i][j]<=30) m[i][j]++;//炸弹计时
        if(m[i][j]==1&&m[i-1][j]==9) m[i][j]=9,m[i-1][j]=1;//宝石下落
        if(m[i][j]==1&&m[i-1][j]==7) m[i][j]=7,m[i-1][j]=1;//岩浆下落
        if(m[i][j]==1&&m[i-1][j]==8) m[i][j]=8,m[i-1][j]=1;//水下落
    }if(jk==1) jk=0,Cout(i,j,5);
    Color(0);
}
void Map(int a);
void Wo(){
    SetPos(X-K,Y),cout<<"  "; //清除上一次残影
    if(m[X][Y]==9) Blood++,Score+=5,m[X][Y]=1,system("color 2F"),Sleep(50),system("color 0F"),Map(3);
    if(tX!=0&&(m[X-1][Y]==1||m[X-1][Y]==7||m[X-1][Y]==8||m[X-1][Y]==9||(m[X-1][Y]>=3&&m[X-1][Y]<=6))) tX--,X-=2;  //上跳 
    if(m[X+1][Y]==1||(m[X+1][Y]>=3&&m[X+1][Y]<=6)||m[X+1][Y]==7||m[X+1][Y]==8||m[X+1][Y]==9) X++; //掉落 
    if(m[X+1][Y]==0||m[X+1][Y]==2||(m[X+1][Y]>=3&&m[X+1][Y]<=6)) tX=Er=0; //跳跃次数清零 
    if(m[X-1][Y]==0||m[X-1][Y]==2||(m[X-1][Y]>=10&&m[X-1][Y]<=31)) tX=Er=0; //跳跃次数清零 
    if(X<=K) tX=Er=0,X=K; if(X>=K+28) X=K+28,Kb=1; //高度上下限
    if(m[X][Y]==7) m[X-1][Y]=m[X-2][Y]=1,tX+=8;
    if(m[X][Y]!=1&&m[X][Y]!=8&&m[X][Y]!=9) Blood--,m[X][Y]=1,system("color 4F"),Sleep(50),system("color 0F"),Map(3);
    if(Blood<=0) Win=-1;
    SetPos(X-K,Y),Color(1),cout<<"●";
}
void Map(int a){
    SetPos(0,2);cout<<"Blood: "<<Blood<<"  ";
    SetPos(1,2);cout<<"Score: "<<Score<<"  ";
    if(a==3) system("cls");
    for(int i=K+28;i>=K;i--)for(int j=1;j<=20;j++) Cout(i,j,a);
    for(int i=K+33;i>K+28;i--)for(int j=1;j<=20;j++) Cout(i,j,4);
    if(a!=3) Wo();
}
void CircleBomb(int x,int y,int s,int ms){
    if(s==ms) return;
    for(int i=x-s;i<=x+s;i++)
    for(int j=y-s;j<=y+s;j++){
        float k=(i-x)*(i-x)+(j-y)*(j-y)-s*s;
        if(k<=s&&k>=-s&&j>0&&j<=20&&m[i+K][j]!=2&&m[i+K][j]!=9) m[i+K][j]=3;
    }Zb++;
    B[Zb].xx=x,B[Zb].yy=y,B[Zb].Zhong=1,B[Zb].rr=s+1,B[Zb].mr=ms;
    Sleep(30);
}
void LineBomb(int i,int j){
    for(int k=0;j+k<=20;k++) if(m[i+K][j+k]!=2&&m[i+K][j+k]!=9) m[i+K][j+k]=3;
    for(int k=0;j+k<=20;k++) if(m[i+K+1][j+k]!=2&&m[i+K+1][j+k]!=9) m[i+K+1][j+k]=3;
    for(int k=0;j-k>0;k++) if(m[i+K][j-k]!=2&&m[i+K][j-k]!=9) m[i+K][j-k]=3;
    for(int k=0;j-k>0;k++) if(m[i+K+1][j-k]!=2&&m[i+K+1][j-k]!=9) m[i+K+1][j-k]=3;
}
void ZuanBomb(int i,int j){
    int k;
    for(k=0;m[i+K+k][j]!=2&&k<=7;k++) if(m[i+K+k][j]!=9) m[i+K+k][j]=3;
    int k1=rand()%2+2;Zb++;
    B[Zb].xx=i+k,B[Zb].yy=j,B[Zb].Zhong=1,B[Zb].rr=0,B[Zb].mr=k1*3/2;
}
void TrigleBomb(int i,int j,int r,int mr){
    if(r==mr) return;
    if(r==1) m[i+K][j]=3,i++;
    for(int k=max(0,j-r);k<=min(20,j+r);k++) if(m[i+K][k]!=2&&m[i+K][k]!=9) m[i+K][k]=3;
    Zb++;B[Zb].xx=i+1,B[Zb].yy=j,B[Zb].Zhong=5,B[Zb].rr=r+1,B[Zb].mr=mr;
}
void GunBomb(int i,int j,int r,int mr){
    if(mr<=0) return;Zb++;
    B[Zb].xx=i,B[Zb].yy=j+2,B[Zb].Zhong=6,B[Zb].rr=r,B[Zb].mr=mr-1;Zb++;
    B[Zb].xx=i,B[Zb].yy=j,B[Zb].Zhong=1,B[Zb].rr=r-1,B[Zb].mr=r;
}
void GunBomb2(int i,int j,int r,int mr){
    if(mr<=0) return;Zb++;
    B[Zb].xx=i,B[Zb].yy=j-2,B[Zb].Zhong=7,B[Zb].rr=r,B[Zb].mr=mr-1;Zb++;
    B[Zb].xx=i,B[Zb].yy=j,B[Zb].Zhong=1,B[Zb].rr=r-1,B[Zb].mr=r;
}
void ThreeBomb(int x,int y,int s,int ms){
    for(int i=1;i<=3;i++){
        int Xx=rand()%(2*s+1)-s,Yy=rand()%(2*s+1)-s; Zb++;
        B[Zb].xx=Xx+x,B[Zb].yy=Yy+y,B[Zb].Zhong=1,B[Zb].rr=0,B[Zb].mr=ms+rand()%3-1;
    }
}
void Sheng(int a){
    K++;
    for(int i=1;i<=20;i++){
        int R=rand()%max(80-(K/10),30);int Rr=rand()%200;
        if(R<=3) m[K+28][i]=2;
        else if(R<=6) m[K+28][i]=7;
        else if(R<=9) m[K+28][i]=8;
        if(Rr==0) m[K+28][i]=9;
    }
    if(a!=1) system("cls"),Map(0);
}
void Jiao(){
    SetPos(0,2);Color(1),cout<<"●",Color(7),cout<<"   ■ ",Color(8),cout<<"   ■ ",Color(4),cout<<"   ●    ",Color(9),cout<<"~ ",Color(0),cout<<"   ",Color(10),cout<<"~ ",Color(3),cout<<"   ◆";
    SetPos(2,2);Color(0),cout<<"你  泥土  石块  炸弹  岩浆  水  宝石";
    SetPos(4,1),cout<<"  ↑           空格放炸弹..."; 
    SetPos(5,1),cout<<"←  →移动 ";
    SetPos(6,1),cout<<"  ↓           可二段跳。";
    SetPos(8,1),cout<<"炸弹种类随机,计时3秒爆炸。";
    SetPos(10,1),cout<<"(一共有7种炸弹,有几率组合一起爆炸)";
    SetPos(12,1),cout<<"岩浆和水有几率向左右扩散...";
    SetPos(14,1),cout<<"它们相融会产生石块。";
    SetPos(16,1),cout<<"岩浆和爆炸波会使你减血...";
    SetPos(18,1),cout<<"岩浆还会使你上跳,宝石可以加血。";
    SetPos(20,1),cout<<"画面每隔一段时间会下降...";
    SetPos(22,1),cout<<"当你抵达画面底部时,画面会随你一起下降...";
    SetPos(24,1),cout<<"当你被抵在画面顶部时,会持续减血。";
    SetPos(26,1),cout<<"每隔一段时间分数会增加...",Color(5),cout<<"200分即可通关!";
    SetPos(28,1);Color(1);cout<<"按 y 开始游戏!";
    char tt;while(tt!='y') tt=_getch();
}
void Start(){
    Color(5);
    SetPos(2,3);Color(7),cout<<" ■        ",Color(5),cout<<"掘",Color(7),cout<<"    ■■■■ ";
    SetPos(3,3);Color(7),cout<<" ■■     ",Color(5),cout<<" ↓",Color(7),cout<<"    ■■■■ ";
    SetPos(4,3);Color(7),cout<<" ■■■■ ",Color(5),cout<<" ↓",Color(7),cout<<"  ■■■■■ ";
    SetPos(5,3);Color(7),cout<<" ■■■■■",Color(5),cout<<"↓",Color(7),cout<<"  ■■■■■ ";
    SetPos(6,3);Color(7),cout<<" ■■■■■  ■■■",Color(5),cout<<"地",Color(7),cout<<"■■ ";
    SetPos(7,3);Color(7),cout<<" ■■■■■■■■■■■■ ";Color(5);
    SetPos(22,2);Color(1);cout<<"按 y 确定!";
    SetPos(22,10);Color(9);cout<<"    开始游戏!    ";
    SetPos(24,10);Color(0);cout<<"    操作攻略!    ";
    SetPos(27,1);Color(3);cout<<"注意!这里 绝对不能是拼音输入法!";
    SetPos(28,5);Color(3);cout<<"↓";Color(0);
    char tt;int Ee=0;
    while(tt!='y'){
        tt=_getch();
        if(tt==72&&Ee!=0) Ee--;
        if(tt==80&&Ee!=2) Ee++;
        SetPos(22,10);if(Ee==0) Color(9);else Color(0);cout<<"    开始游戏!    ";
        SetPos(24,10);if(Ee==1) Color(9);else Color(0);cout<<"    操作攻略!    ";
    }system("color 0F");system("cls");Color(0);
    if(Ee==1) Jiao();
}
int main(){ 
    system("mode con cols=42 lines=31");
    CONSOLE_CURSOR_INFO cursor_info={1,0};
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
    srand((unsigned)time(NULL));
    Start();
    St:system("cls");
    K=-5,T=Win=Score=0;X=Y=2;Blood=20;
    memset(m,0,sizeof(m));memset(B,0,sizeof(B));
    for(int i=5;i<=15;i++) for(int j=1;j<=20;j++) m[i][j]=1;
    for(int i=1;i<=10;i++) Sheng(1);
    Map(0);
    while(Win==0){
        T++;Kb=0;if(Score>=200) Win=1;
        if(GetAsyncKeyState(VK_UP)&0x8000&&tT==0&&Er<2) tT++,tX+=4,Er++;
        if((GetAsyncKeyState(VK_UP)&0x8000)?0:1) tT=0;
        if(GetAsyncKeyState(VK_LEFT)&0x8000&&Y>1&&(m[X][Y-1]==1||m[X][Y-1]==7||m[X][Y-1]==8||m[X][Y-1]==9)&&(tY==0||tY>=2)) SetPos(X-K,Y),cout<<"  ",Y--;
        if(GetAsyncKeyState(VK_RIGHT)&0x8000&&Y<20&&(m[X][Y+1]==1||m[X][Y+1]==7||m[X][Y+1]==8||m[X][Y+1]==9)&&(tY2==0||tY2>=2)) SetPos(X-K,Y),cout<<"  ",Y++;
        if((GetAsyncKeyState(VK_LEFT)&0x8000)?0:1) tY=0;if((GetAsyncKeyState(VK_RIGHT)&0x8000)?0:1) tY2=0;
        if((GetAsyncKeyState(VK_LEFT)&0x8000)?1:0) tY++;if((GetAsyncKeyState(VK_RIGHT)&0x8000)?1:0) tY2++;
        if(kbhit()) {char e=_getch();if(e==' '&&m[X-1][Y]!=0&&m[X-1][Y]!=2&&(m[X+1][Y]<=10||m[X+1][Y]>=31)&&Kb==0) m[X][Y]=10,X--;}
        int zb=Zb;
        for(int i=zb-10;i<=zb;i++){
            if(B[i].Zhong==1) CircleBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong=0;
            if(B[i].Zhong==2) LineBomb(B[i].xx,B[i].yy),B[i].Zhong=0;
            if(B[i].Zhong==3) ThreeBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong=0;
            if(B[i].Zhong==4) ZuanBomb(B[i].xx,B[i].yy),B[i].Zhong=0;
            if(B[i].Zhong==5) TrigleBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong=0;
            if(B[i].Zhong==6) GunBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong=0;
            if(B[i].Zhong==7) GunBomb2(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong=0;
        }
        Map(1);Sleep(40);
        if(T%max(10,40-Score/16)==0||Kb>=1) Sheng(0);
        if(T%20==0) Score++;
    }
    if(Win!=0){
        if(Win>0) {system("color 6E"),Color(3);SetPos(0,2);cout<<"You! Win!!!",Sleep(1000);}
        if(Win<0) {system("color 7F"),Color(4);SetPos(0,2);cout<<"You! Die!!!",Sleep(1000);}
        SetPos(1,2);cout<<"请输入y重新开始游戏";
        A:char e=_getch();if(e!='y') goto A;goto St;
    }
}

4.密室逃脱

#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
void coutwhat(string n,int i){
    if (i!=1)
      coutwhat(n,i-1);
    cout<<n;
}
void gotoxy(int y,int x) {
    COORD  coord;     
    coord.X=x;         
    coord.Y=y;
    HANDLE a=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(a,coord);    
}
void color(int x){
    switch(x){
		case 0:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN);break;
		case 1:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN);break;
		case 2:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE |FOREGROUND_GREEN);break;
		case 3:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE|FOREGROUND_GREEN);break;
		case 4:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE);break;
		case 5:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE|FOREGROUND_RED);break;
		case 7:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED);break;
		case 8:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);break;
		case 9:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);break;
		case 10:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED);break;
		default:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE);break;
	}
}
int mapa[11][13][50]={
		{
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {1,0,4,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,1,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,7,0,0,1},
        {1,6,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,0,0,0,0,0,0,1,0,1,2,2,2,2,0,2,2,2,2,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1},
        {1,2,2,2,0,2,2,2,2,2,2,2,2,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,7,1,0,0,0,2,2,2,0,1,0,0,0,0,0,1},
        {1,0,0,0,0,0,6,0,0,8,0,0,0,1,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1},
        {1,0,1,1,1,1,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,2,2,2,2,2,1,0,1,2,2,2,2,2,1},
        {1,0,1,1,1,1,1,1,1,1,0,0,0,1,0,1,0,0,2,2,0,0,0,2,2,2,2,2,2,2,2,2,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1},
        {1,0,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,1,2,2,2,2,2,2,0,2,2,2,2,2,2,1},
        {1,0,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,1,1,1,1,1,1,1,1,0,0,0,2,2,2,2,2,0,2,2,2,2,1,0,0,0,0,0,0,0,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
    },
    {
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {1,4,1,3,0,0,8,0,0,1,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,1,2,2,0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,0,0,0,1},
        {1,0,0,2,2,2,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,2,2,1,2,2,0,2,2,2,0,0,2,2,2,2,2,0,0,0,0,0,0,0,0,1},
        {1,2,0,0,0,0,1,0,0,0,0,0,1,0,1,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,1,0,0,0,0,0,0,2,2,2,2,2,2,2,2,1},
        {1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,1,1,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1},
        {1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,6,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
        {1,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
        {1,7,0,0,8,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
    },
    {
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
        {1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,6,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
        {1,0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,0,0,0,0,0,0,0,0,0,1,7,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,1,0,2,2,2,2,2,2,1,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,1,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,8,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1}, 
        {1,0,1,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
        {1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
        {1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
    },
    {
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {1,4,6,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
    },
    {
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {1,4,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,1},
        {1,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
        {1,0,0,1,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,9,0,1,0,1,9,0,1,9,9,0,9,9,1,9,9,0,1,2,1,9,9,0,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1},
        {1,0,0,0,9,0,9,9,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,6,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,1},
        {1,9,9,9,0,3,8,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1},
        {1,0,0,0,9,9,9,9,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,3,9,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1},
        {1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
        {1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
        {1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
    },
    {
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {1,4,0,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,3,9,1},
        {1,0,0,0,0,0,0,0,0,0,7,0,6,0,9,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,0,8,0,0,9,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
    },
    {
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {1,4,0,1,0,0,1,0,9,9,9,0,0,0,0,9,0,0,0,0,0,0,7,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,8,2,2,2,2,2,2,1},
        {1,0,1,0,0,1,2,2,2,2,2,2,2,2,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,1,0,0,1,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,2,2,9,2,9,2,0,0,0,0,0,0,0,1},
        {1,1,0,0,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,2,2,1,1,1,1,1,1,1,1,1,1,2},
        {1,1,1,0,0,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,0,10,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,0,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,1},
        {1,1,1,1,1,8,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
    },
    {
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,4,6,9,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,0,0,0,0,8,0,0,0,0,0,0,0,2},
        {2,10,2,2,2,2,2,2,0,8,0,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
        {2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0},
        {2,2,2,2,2,2,2,2,2,2,6,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,2},
        {2,2,2,2,2,2,2,2,2,2,0,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,2,2,2,2,2,2,2,2,0,0,2,0,0,2,2,2,2,2,2,2,2,2,0,0,0,10,7,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,2,2,2,2,2,2,2,2,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,2,2,2,2,2,2,2,2,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
        {2,2,2,2,2,2,2,2,2,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,2},
        {2,2,2,2,2,2,2,2,2,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,2},
        {2,2,2,2,2,2,2,2,2,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,2},
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}
    },
    {
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,4,7,3,0,0,0,0,0,9,2,2,2,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {9,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,9,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,9,8,7,0,0,0,9,9,9,9,2,2,2,2,2,2,1,1,1,1,2,2,2,2,1,2,1,2,1,1,2,2,1,2,1,2,1,1,2,2,1,2,1,2,1,1,2,2,1},
        {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9},
        {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9},
        {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9},
        {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9},
        {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9},
        {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9},
        {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9},
        {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9},
        {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9},
    },
    {
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,9,4,9,8,3,0,0,0,0,0,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2},
        {2,9,0,0,8,11,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,1,3,1,1,1},
        {2,9,0,2,2,0,2,2,2,0,2,1,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,1}, 
        {2,9,0,0,0,0,10,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,9,9,2,2,0,0,0,0,0,0,0,0,0,1},
        {2,9,0,0,2,0,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,9,9,0,0,2,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,9,9,0,0,2,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,9,9,0,0,2,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,9,9,0,0,2,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,9,9,0,0,2,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,9,9,0,0,2,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {2,9,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
    },
    {
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
        {1,0,4,0,10,7,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,11,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,1,0,0,0,0,0,1},
        {1,0,0,0,0,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,7,0,0,1},
        {1,6,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,0,0,0,0,0,0,1,0,1,2,2,2,2,0,2,2,2,2,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1},
        {1,2,2,2,10,2,2,2,2,2,2,2,2,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,2,2,2,0,1,0,0,0,0,0,1},
        {1,0,0,0,0,0,6,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1},
        {1,0,1,1,1,1,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,2,2,2,2,2,1,0,1,2,2,2,2,2,1},
        {1,0,1,1,1,1,1,1,1,1,0,0,0,1,0,1,0,0,2,2,0,0,0,2,2,2,2,2,2,2,2,2,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1},
        {1,0,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,8,0,0,6,0,1,0,0,0,0,0,0,0,1,0,1,0,1,2,2,2,2,2,2,0,2,2,2,2,2,2,1},
        {1,0,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,1,1,1,1,1,1,1,1,10,10,10,2,2,2,2,2,0,2,2,2,2,1,0,0,0,0,0,0,0,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,1},
        {1,0,0,0,0,0,0,0,0,10,7,8,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
    }
};
void g(){
	_getch();
}
string level_name[11]={"Ⅰ.迷宫","Ⅱ.智谋","Ⅲ.穿梭","Ⅳ.狩猎","Ⅴ.陷阱","Ⅵ.混乱","Ⅶ.屏障","Ⅷ.谋略","Ⅸ.轻易","Ⅹ.虚实","XI.诡诈"};
void printfmap(int n){
	for(int i=0;i<13;i++){
		for(int j=0;j<50;j++){
			color(9);
			int uj=mapa[n][i][j];
			if (uj==0)
				printf(" ");
			if (uj==1)
				printf("#");
			if (uj==2)
				printf("#");
			if (uj==3)
				printf("W");
			if (uj==4)
				printf("o");
			if (uj==6)
				printf("A");
			if (uj==7)
				printf("B");
			if (uj==8)
				printf("C");
			if (uj==9)
				printf("*");
			if (uj==10)
				printf(" ");
			if (uj==11)
				printf("w");
		}
		printf("\n");
	}
}
int random(int n,int m){
	srand(time(0));
	int s;
	s=rand()%(m-n)+n;
	return s;
}
void Sout(string n){
	for(int i=0;i<n.size();i++){
		cout<<n[i];
		Sleep(100);
	}
} 
int level;
int scoreall=0;
void game(int n){
	bool win=false;
	if (n==0){ 
		system("cls");
		Sout("后面的关卡每个限时100s,还要收集黄色的小点点(最终得分)");
		g();
		system("cls");
	}
	while(!win){
		system("cls");
		srand(time(0));
		color(4);
		int a,b;
		bool fal=true;
		for(int i=0;i<13&&fal;i++)
			for(int j=0;j<50&&fal;j++)
				if (mapa[n][i][j]==4){
					a=i,b=j;
					fal=false;
				}
		int x,y,score=0;
		time_t t1,t2;
		time(&t1);
		printfmap(n);
		bool door=1;
		while(1){
			bool adog=false;
			x=random(0,12),y=random(0,48);
			if (kbhit())
				switch(getch()){
					case 'w':gotoxy(a,b);cout<<' ';if ((mapa[n][a-1][b]==0||mapa[n][a-1][b]>=3)&&mapa[n][a-1][b]<=9)--a;break;
					case 'a':gotoxy(a,b);cout<<' ';if ((mapa[n][a][b-1]==0||mapa[n][a][b-1]>=3)&&mapa[n][a][b-1]<=9)--b;break;
					case 's':gotoxy(a,b);cout<<' ';if ((mapa[n][a+1][b]==0||mapa[n][a+1][b]>=3)&&mapa[n][a][a+1]<=9)++a;break;
					case 'd':gotoxy(a,b);cout<<' ';if ((mapa[n][a][b+1]==0||mapa[n][a][b+1]>=3)&&mapa[n][a][b+1]<=9)++b;break;
					case 'e':if(level<n)level=n;return;break;
					case 'b':adog=1;break;
				}
			if (adog)
				break;
			gotoxy(a,b);
			cout<<'o';
			time(&t2);
			gotoxy(12,71);
			printf("LEVEL %d",n+1);
			gotoxy(13,71);
			printf("%s",level_name[n].c_str());
			gotoxy(14,71);
			printf("time:%.ds    ",100-int(t2*1.0-t1*1.0));
			gotoxy(15,71);
			printf("score:%.d    ",score);
			if (t2-t1>=100){
				color(7);
				gotoxy(10,40);
				printf("YOU LOSE!\n");
				gotoxy(11,40);
				printf("GAME OVER!\n");
				gotoxy(12,40); 
				printf("TIME OVER!\n");
				_getch();
				break;
			}
			gotoxy(12,71);
			if ((t2-t1)%random(2,7)==0&&mapa[n][x][y]==0){
				gotoxy(x,y);
				color(8);
				printf(".");
				mapa[n][x][y]=5;
				color(4);
			}
			if (mapa[n][a][b]==5){
				score++;
				mapa[n][a][b]=0;
			}
			if (mapa[n][a][b]==3){
				color(8);
				gotoxy(40,30);
				printf("YOU WIN");
				gotoxy(41,30);
				printf("SCORE:%d",score);
				_getch();
				scoreall+=score;
				score=0;
				win=true;
				break;
				if (level_name[n]=="Ⅹ.")
				level=8;
			}
			if (mapa[n][a][b]==6&&door){
				color(1);
				bool an=true;
				gotoxy(a,b-1);
				printf("A ");
				for(int aaa=0;aaa<13&&an;aaa++)
				for(int bbb=0;bbb<50&&an;bbb++)
				if (mapa[n][aaa][bbb]==6&&aaa!=a&&bbb!=b){
					a=aaa,b=bbb+1;
					an=false;
				}
				if (mapa[n][a][b]==1||mapa[n][a][b]==2)
					printf("#");
			}
			if (mapa[n][a][b]==7&&door){
				color(2);
				bool an=true;
				gotoxy(a,b-1);
				printf("B ");
				for(int aaa=0;aaa<13&&an;aaa++)
					for(int bbb=0;bbb<50&&an;bbb++)
						if(mapa[n][aaa][bbb]==7&&aaa!=a&&bbb!=b){
							an=false;
							a=aaa,b=bbb+1;
						}
				gotoxy(a,b);
				if (mapa[n][a][b]==1||mapa[n][a][b]==2)
					printf("#");
			}
			if (mapa[n][a][b]==11){
				gotoxy(15,20);
				color(7);
				printf("YOU LOSE!\n");
				gotoxy(16,20);
				printf("YOU ARE DAT!");
				_getch();
				break;
			}
			if (mapa[n][a][b]==8&&door){
				color(3);
				bool an=true;
				gotoxy(a,b-1);
				printf(" C");
				for(int aaa=0;aaa<13&&an;aaa++)
				for(int bbb=0;bbb<50&&an;bbb++)
				if (mapa[n][aaa][bbb]==8&&aaa!=a&&bbb!=b){
				an=false;
				a=aaa,b=bbb-1;
				}
				door=false;
				if (mapa[n][a][b-2]==1||mapa[n][a][b-2]==2)
				printf("#");
			}
			if (mapa[n][a][b]<=5||mapa[n][a][b]==9)
				door=true;
			if (mapa[n][a][b]==9&&win==false){
				gotoxy(15,20);
				color(7);
				printf("YOU LOSE!\n");
				gotoxy(16,20);
				printf("YOU ARE DAT!");
				_getch();
				break;
			}
		}
	}
	if (n==3){
		system("cls");
		Sout("后面我给你准备了炸药。嘿嘿嘿");
		g();
		system("cls");
	}
	if (n==5){
		system("cls");
		Sout("炸药陷阱都是非常明显的,只要你不图快就没什么难度。后面会有更加难的东西。比如不可通行的格子(有些游戏管他叫barrier,屏障)。嘿嘿嘿"); 
		g();
		system("cls");
	}
	if (n==8){
		system("cls");
		Sout("好,房间升级了。注意咯,这些房间有假门(踩上必死),不过还是有特点的");
		g();
		system("cls");
	}
	if (n<=10)
		game(n+1);
	if (level<n)
		level=n;
}
void cls(){
	_getch();
	system("cls");
}
void hidden(){
	HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO CursorInfo;GetConsoleCursorInfo(handle, &CursorInfo);
	CursorInfo.bVisible = false;
	SetConsoleCursorInfo(handle, &CursorInfo);
}
void clear(){
	for(int i=0;i<=70;i++)
	printf("                                                                                               ");
}
int getin(){
	ifstream fin("save.txt");
	int m;
	fin>>m;
	fin.close();
	return m;
} 
int getn(){
	ifstream fin("save.txt");
	int n,m;
	fin>>n>>m;
	return m;
} 
int main(){
	hidden();
	gotoxy(25.6,26.5);
	color(7);
	cout<<"    密    室    逃    脱    ";
	_getch();
	hidden();
	if (getin()==0&&getn()==0){
		hidden();
		system("cls");
		color(3);
		Sout("        使用WASD键移动,#是墙壁,空白是空地或屏障(放心,5关后面才有),ABC是传送门(A、B都是传送到右边,C是传送到左边),o是你,W是终点");
		Sout("\n      剩下的你自己琢磨,我会给你提示的。"); 
	}
	system("cls");
	printf("请选择:\n1从头开始  2从上次开始\n");
	int nn;
	cin>>nn;
	if (nn==1)
		game(0);
	else
		game(getn()); 
	_getch();
	system("cls");
	printf("all score:%d\n",scoreall);
	int high=getin();
	printf("The highest score in history:%d\n",high);
	printf("YOU SCORE:%d\n",scoreall);
	ofstream fout("save.txt");
	if (high<scoreall){
		printf("%d<%d\n",high,scoreall);
		high=scoreall;
		printf("Record!!!");
		fout<<scoreall<<' '<<level;
	}
	else{
		fout<<high<<' '<<level;
	}
	if (level==10)
		fout<<"0  0";
	_getch();
	system("cls"); 
	Sout("制作人:MCYH\n");
	Sout("版本号:V1.02\n");
	g();
	system("cls");
	Sout("你成功逃离了密室,再见了。期待你的5星好评哟~~~qwq                          ");
	fout.close();
	return 0;
}

完善不易,留个三连再走吧。

  • 15
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值