c语言推箱子代码
- 格式:doc
- 大小:23.45 KB
- 文档页数:14
.
. #include
#include
void map1();
void map2();
void map3();
void show();
void move();
void main(int argc,char*argv[])
{
time_t a,b;
time(&a);
system("color 1E");
loop1: {
system("cls");//刷屏
printf("\n\n\n\n\n\n\t\t\t\t欢迎进入推箱子游戏\n\n\t\t\t\t 请按a b
c选择游戏\n\n\t\t\t\t 按 d 键 结束");
int t=getch();
if(t=='d')
{
printf("\n\t\t\t ");
}
else
{
if(t=='a')
{
map1();
goto loop1;
}
if(t=='b')
{
map2();
goto loop1;
}
if(t=='c')
{
map3();
goto loop1;
}
else
{
printf("\n\n\t\t\t\t 请重新输入:");
goto loop1;
}
} .
. }
time(&b);
printf("\n\n\n\n\t\t\t\t 游戏总共用时%.3d秒\n\t\t\t ",b-a);
getch();//等待读取回车符以结束程序
}
void map1()
{
time_t p,q,o;
time(&p);
int i=4,j=4,m=6,n=2,t=1,k=3;
system("cls");//刷屏
system("color 2E");
int x=1,y=7;
char z,a[9][9]=
{ /*为背景设置初始资料*/
{'#','#','#','#','#','#','#','#','#'},
{'#','#','#', 3, 0 , 0 , 0 , 1 ,'#'},
{'#','#', 0 , 0 , 0 ,'#', 0 ,'#','#'},
{'#', 0 , 0 ,'#', 0 , 0 , 5 , 0 ,'#'},
{'#', 0 , 5 , 5 , 3 , 0 , 0 , 0 ,'#'},
{'#','#', 0 ,'#', 0 , 0 ,'#','#','#'},
{'#','#', 3 , 0 , 0 , 0 ,'#','#','#'},
{'#','#','#','#','#','#','#','#','#'},
{'#','#','#','#','#','#','#','#','#'}
};
show(a);//调用输出函数
loop://语句标号
move(a,&x,&y,i,j,m,n,t,k,&z);
if(a[i][j]=='!'&&a[m][n]=='!'&&a[t][k]=='!')
{
system("cls");//刷屏
show(a);
printf("\t\t\t\t YOU ARE WIN!\n");
time(&q);
printf("\t\t\t\t\t 用时%.3d秒\n",q-p);
printf("\t\t\t\t*******回车重 新选择*******\n\t\t\t\t");
getch();
}
else
{
time(&o);
if(z=='d')
{
return; .
. }
if(o-p>30)
{
loop1: system("cls");//刷屏
printf("\t\t\t\t时间已过请重新回车选关!");
int g=getch();
if(g==13)//判断是否为回车符
{
return;
}
else
{
goto loop1;
}
}
system("cls");//刷屏
show(a);//调用输出函数
goto loop;
}
}
void map2()
{
time_t p,q,o;
time(&p);
int i=2,j=1,m=1,n=3,t=4,k=6;
system("cls");//刷屏
system("color 2E");
int x=4,y=1;
char z,b[9][9]=
{ /*为背景设置初始资料*/
{'#','#','#','#','#','#','#','#','#'},
{'#','#','#', 3 , 0 ,'#','#','#','#'},
{'#', 3 ,'#', 0 , 0 , 0 , 0 ,'#','#'},
{'#', 0 , 5 , 0 ,'#','#', 0 , 0 ,'#'},
{'#', 1 , 0 , 5 , 0 , 0 , 3 , 0 ,'#'},
{'#', 0 , 0 , 0 , 0 , 0 , 0 ,'#','#'},
{'#','#','#', 0 , 0 , 5 ,'#','#','#'},
{'#','#','#','#', 0 , 0 ,'#','#','#'},
{'#','#','#','#','#','#','#','#','#'}
};
show(b);//调用输出函数
loop://语句标号
move(b,&x,&y,i,j,m,n,t,k,&z);
if(b[i][j]=='!'&&b[m][n]=='!'&&b[t][k]=='!') .
. {
system("cls");//刷屏
show(b);
printf("\t\t\t\t YOU ARE WIN!\n");
time(&q);
printf("\t\t\t\t\t 用时%.3d秒\n",q-p);
printf("\t\t\t\t*******回车重 新选择*******\n\t\t\t\t");
getch();
}
else
{
time(&o);
if(z=='d')
{
return;
}
if(o-p>30)
{
loop1: system("cls");//刷屏
printf("\t\t\t\t时间已过请重新回车选关!");
int g=getch();
if(g==13)//判断是否为回车符
{
return;
}
else
{
goto loop1;
}
}
system("cls");//刷屏
show(b);//调用输出函数
goto loop;
}
}
void map3()
{
time_t p,q,o;
time(&p);
int i=2,j=1,m=6,n=2,t=7,k=6;
system("cls");//刷屏
system("color 2E");
int x=3,y=6;
char z,c[9][9]= .
. { /*为背景设置初始资料*/
{'#','#','#','#','#','#','#','#','#'},
{'#','#','#','#','#', 0 , 0 , 0 ,'#'},
{'#', 3 ,'#', 0 , 0 , 0 , 0 , 0 ,'#'},
{'#', 0 , 5 , 0 , 5 ,'#', 1 ,'#','#'},
{'#', 0 , 0 , 0 , 0 , 0 , 5 , 0 ,'#'},
{'#','#', 0 , 0 , 0 , 0 , 0 , 0 ,'#'},
{'#','#', 3 , 0 ,'#', 0 ,'#', 0 ,'#'},
{'#','#','#', 0 , 0 , 0 , 3 ,'#','#'},
{'#','#','#','#','#','#','#','#','#'}
};
show(c);//调用输出函数
loop://语句标号
move(c,&x,&y,i,j,m,n,t,k,&z);
if(c[i][j]=='!'&&c[m][n]=='!'&&c[t][k]=='!')
{
system("cls");//刷屏
show(c);
printf("\t\t\t\t YOU ARE WIN!\n");
time(&q);
printf("\t\t\t\t\t 用时%.3d秒\n",q-p);
printf("\t\t\t\t*******回车重 新选择*******\n\t\t\t\t");
getch();
}
else
{
time(&o);
if(z=='d')
{
return;
}
if(o-p>30)
{
loop1: system("cls");//刷屏
printf("\t\t\t\t时间已过请重新回车选关!");
int g=getch();
if(g==13)//判断是否为回车符
{
return;
}
else
{
goto loop1;
}