目录
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;
}
完善不易,留个三连再走吧。