迷宫
很早很早很早很早很早以前写的一个代码,扔出来晒晒,不然会发霉。。。。还有BUG。。。。
那时候还不知道函数,不懂数组,Ah,500行!
找时间重写一个吧。。。
规则
这个不需要讲吧。。。。
代码
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
#include <time.h>
//打开相关头文件
int main()
{
system("color 1a");//0~9,A~F
char a[50][50]={"##############################",
"#o $ $ $ # ## $N@#$## $N@",
"# ###### # # # $ $#$#$###$####",
"# # $ ## #$$ #$#### # ###$ ##",
"# $# ##$ ### $# # ## ####",
"##### # $ # ##### # $ ####",
"# # ##### # # $# # # #",
"# # #$ ## # #### ## # # ####",
"#$# # ## $ ## $ $# # ####",
"# # # ####### ## ###### # ##",
"#$# $ ## #@N# ###### ### #",
"# ###### # #####$$# $ # #",
"# $ $ $$# # $##### ### # #",
"# ########$##### ##### ### # #",
"#$$$$$# ## ##### ### $ ###",
"#####$#$##$# $ $######## # #",
"#$$$$$# ## ##$### $ #$ #",
"#$#$###$ $ $ ###### ####### #",
"#N#$ $ ###1##$ $ $ # $ $ $ #",
"#@############################",
" C 2 0 1 8 2 0 3 0 E P I C"
};
int i,x,y,p,q,sum=0,p1,q1,p2,q2,p3,q3;
char ch;
x=1; y=1;
p1=1; q1=29;
p2=19; q2=1;
p3=1; q3=20;
p=10; q=12;
printf("Welcome to the Game!\n");
Sleep(2000);
printf("I am C20182030Epic!\n");
Sleep(2000);
printf("If you want to win this game,you must eat the really'@'!\n");
Sleep(2000);
printf("Or you will lose!\n");
Sleep(2000);
printf("Ready?\n");
Sleep(2000);
printf("Let's begin!\nHope you will have fun with my game!");
Sleep(3500);
system("cls");
printf(" Level 1 begins!\n\n\n by C20182030Epic");
Sleep(3500);
system("cls");
for(i=0;i<=22;i++) //输出地图
puts(a[i]);
while(x!=p || y!=q) //判断是否走到出口
{
ch=getch();
if(x==p1 && y==q1)
{
system("cls");
printf("You Die!\n");
Sleep(1000);
printf("You lose %d$!\n",sum);
Sleep(1000);
printf("You are a loser!L-O-S-E-R!");
Sleep(3000);
return 0;
}
if(x==p2 && y==q2)
{
system("cls");
printf("You Die!\n");
Sleep(1000);
printf("You lose %d$!\n",sum);
Sleep(1000);
printf("You are a loser!L-O-S-E-R!");
Sleep(3000);
return 0;
}
if(x==p3 && y==q3)
{
system("cls");
printf("You Die!\n");
Sleep(1000);
printf("You lose %d$!\n",sum);
Sleep(1000);
printf("You are a loser!L-O-S-E-R!");
Sleep(3000);
return 0;
}
if(a[x+1][y]=='1'||a[x-1][y]=='1'||a[x][y+1]=='1'||a[x][y-1]=='1')
{
a[1][1]='2';
a[18][10]=' ';
}
if(a[x+1][y]=='2'||a[x-1][y]=='2'||a[x][y+1]=='2'||a[x][y-1]=='2')
{
a[5][13]='3';
a[1][1]=' ';
}
if(a[x+1][y]=='3'||a[x-1][y]=='3'||a[x][y+1]=='3'||a[x][y-1]=='3')
{
a[8][8]='4';
a[5][13]=' ';
}
if(a[x+1][y]=='4'||a[x-1][y]=='4'||a[x][y+1]=='4'||a[x][y-1]=='4')
{
a[18][15]='5';
a[8][8]=' ';
}
if(a[x+1][y]=='5'||a[x-1][y]=='5'||a[x][y+1]=='5'||a[x][y-1]=='5')
{
a[4][18]='X';
a[18][15]=' ';
}
if(a[x+1][y]=='X'||a[x-1][y]=='X'||a[x][y+1]=='X'||a[x][y-1]=='X')
{
a[1][19]='$';
a[1][28]='$';
a[18][1]='$';
a[10][13]='$';
a[4][18]=' ';
}
if(ch=='s')
if(a[x+1][y]!='#'&&a[x+1][y]!='N')
{
if(a[x+1][y]=='$')sum++;
a[x][y]=' ';
x++;
a[x][y]='o';
}
if(ch=='w')
if(a[x-1][y]!='#'&&a[x-1][y]!='N')
{
if(a[x-1][y]=='$')sum++;
a[x][y]=' ';
x--;
a[x][y]='o';
}
if(ch=='a')
if(a[x][y-1]!='#'&&a[x][y-1]!='N')
{
if(a[x][y-1]=='$')sum++;
a[x][y]=' ';
y--;
a[x][y]='o';
}
if(ch=='d')
if(a[x][y+1]!='#'&&a[x][y+1]!='N')
{
if(a[x][y+1]=='$')sum++;
a[x][y]=' ';
y++;
a[x][y]='o';
}
if(ch=='S')
{
if(a[x+1][y]=='$')sum++;
a[x][y]=' ';
x++;
a[x][y]='o';
}
if(ch=='W')
{
if(a[x-1][y]=='$')sum++;
a[x][y]=' ';
x--;
a[x][y]='o';
}
if(ch=='A')
{
if(a[x][y-1]=='$')sum++;
a[x][y]=' ';
y--;
a[x][y]='o';
}
if(ch=='D')
{
if(a[x][y+1]=='$')sum++;
a[x][y]=' ';
y++;
a[x][y]='o';
}
system("cls");//清屏
for(i=0;i<=22;i++)
puts(a[i]);
}
system("cls");
printf(" \n Level 1 finishes!\n");
Sleep(1500);
printf(" \n Level 2 begins!\n\n by C20181220");
Sleep(3500);
system("cls");
char a1[7][40]={
"###@###########",
"#o #8 8 8 8 8#8",
"# ## #888####",
"# 8# 8 #####",
"## 8 #",
"#########",
};
int l,a5,b,c,d,sum1;
x=1;y=1;p=0;q=3;sum1=0;
srand((unsigned)time(NULL));
a5=rand()%100;
b=(a5+1414414)%100;
c=(b+554*31)%100;
d=(c*55-1231)%10;
for(i=0;i<=5;i++)
puts(a1[i]);
while(x!=p || y!=q)
{
ch=getch();
if(ch=='s')//向下移动
{
if(a1[x+1][y]!='#')
{
if(a1[x+1][y]=='8') sum1++;
a1[x][y]=' ';
x++;
a1[x][y]='o';
}
}
if(ch=='w')//向上移动
if(a1[x-1][y]!='#')
{
if(a1[x-1][y]=='8') sum1++;
a1[x][y]=' ';
x--;
a1[x][y]='o';
}
if(ch=='a') //向左移动
if(a1[x][y-1]!='#')
{
if(a1[x][y-1]=='8') sum1++;
a1[x][y]=' ';
y--;
a1[x][y]='o';
}
if(ch=='d')//向右移动
if(a1[x][y+1]!='#')
{
if(a1[x][y+1]=='8') sum1++;
a1[x][y]=' ';
y++;
a1[x][y]='o';
}
if(ch=='S')
{
if(a1[x+1][y]=='8')sum++;
a1[x][y]=' ';
x++;
a1[x][y]='o';
}
if(ch=='W')
{
if(a1[x-1][y]=='8')sum++;
a1[x][y]=' ';
x--;
a1[x][y]='o';
}
if(ch=='A')
{
if(a1[x][y-1]=='8')sum++;
a1[x][y]=' ';
y--;
a1[x][y]='o';
}
if(ch=='D')
{
if(a1[x][y+1]=='8')sum++;
a1[x][y]=' ';
y++;
a1[x][y]='o';
}
system("cls");//清屏
if(sum1==7) a1[1][3]=' ';
for(i=0;i<=5;i++)
puts(a1[i]);
}
system("cls");
printf("Beng!!\n");
Sleep(600);
printf("Zha la!\n");
Sleep(600);
printf("hahahahaha!\n");
printf("%d+%d=",a5,b);
Sleep(300);
scanf("%d",&l);
if(l==a5+b)
{
sum+=l;
sum+=sum1;
printf("%d*%d=",c,d);
scanf("%d",&l);
if(l==c*d)
{
sum+=l;
printf("Bang!!\nhahahaha!\nThank C20181220\n");
Sleep(2500);
}
else
{
printf("You wrong!!!!!\nThank C20181220\n");
Sleep(2500);
return 0;
}
}
else
{
printf("You wrong!!!!!\nThank C20181220\n");
Sleep(2500);
return 0;
}
system("cls");
printf(" \n Level 2 finishes!\n");
Sleep(1500);
printf(" \n Level 3 begins!\n\n by C20181220");
Sleep(3500);
system("cls");
x=1;
y=1;
char a2[7][40]={
"###@###########",
"#o #8 8 #8",
"# ## # 8####",
"# 8# 8 #####",
"## 8 #",
"#########",
};
sum1=0;
for(i=0;i<=5;i++)
puts(a2[i]);
while(x!=p || y!=q)
{
ch=getch();
if(ch=='s')//向下移动
{
if(a2[x+1][y]!='#')
{
if(a2[x+1][y]=='8') sum1++;
a2[x][y]=' ';
x++;
a2[x][y]='o';
}
}
if(ch=='w')//向上移动
if(a2[x-1][y]!='#')
{
if(a2[x-1][y]=='8') sum1++;
a2[x][y]=' ';
x--;
a2[x][y]='o';
}
if(ch=='a') //向左移动
if(a2[x][y-1]!='#')
{
if(a2[x][y-1]=='8') sum1++;
a2[x][y]=' ';
y--;
a2[x][y]='o';
}
if(ch=='d')//向右移动
if(a2[x][y+1]!='#')
{
if(a2[x][y+1]=='8') sum1++;
a2[x][y]=' ';
y++;
a2[x][y]='o';
}
if(ch=='S')
{
if(a2[x+1][y]=='8')sum++;
a2[x][y]=' ';
x++;
a2[x][y]='o';
}
if(ch=='W')
{
if(a2[x-1][y]=='8')sum++;
a2[x][y]=' ';
x--;
a2[x][y]='o';
}
if(ch=='A')
{
if(a2[x][y-1]=='8')sum++;
a2[x][y]=' ';
y--;
a2[x][y]='o';
}
if(ch=='D')
{
if(a2[x][y+1]=='8')sum++;
a2[x][y]=' ';
y++;
a2[x][y]='o';
}
system("cls");//清屏
if(sum1==6) a2[1][3]=' ';
for(i=0;i<=5;i++)
puts(a2[i]);
}
system("cls");
printf("You win!\n");
Sleep(500);
printf("You have %d$!\nYou are a rich man now!HAHAHAHA!\n",sum);
Sleep(1500);
printf("I'm C20182030Epic.\nThank C20181220!\n");
Sleep(2500);
system("cls");
return 0;
}
/*
system("cls");
printf(" \n Level 3 finishes!\n");
Sleep(1500);
printf(" \n Level 4 begins!\n\n by ZhouZi Wenyan");
Sleep(3500);
system("cls");
char a3[100][100]={
"#########",
"#o #",
"#Do You Like This Game? #",
"# A. B.#",
"# Yes No#",
"# #",
"# #",
"#########",
};
x=1;y=1;
for(i=0;i<=8;i++)
puts(a3[i]);
while(x!=p || y!=q)
{
ch=getch();
if(ch=='s')//向下移动
{
if(a3[x+1][y]!='#')
{
if(a3[x+1][y]=='8') sum1++;
a3[x][y]=' ';
x++;
a3[x][y]='o';
}
}
if(ch=='w')//向上移动
if(a3[x-1][y]!='#')
{
if(a3[x-1][y]=='8') sum1++;
a3[x][y]=' ';
x--;
a3[x][y]='o';
}
if(ch=='a') //向左移动
if(a3[x][y-1]!='#')
{
if(a3[x][y-1]=='8') sum1++;
a3[x][y]=' ';
y--;
a3[x][y]='o';
}
if(ch=='d')//向右移动
if(a3[x][y+1]!='#')
{
if(a3[x][y+1]=='8') sum1++;
a3[x][y]=' ';
y++;
a3[x][y]='o';
}
system("cls");//清屏
for(i=0;i<=8;i++)
puts(a3[i]);
}
*/