c语言推箱子代码.docx
《c语言推箱子代码.docx》由会员分享,可在线阅读,更多相关《c语言推箱子代码.docx(20页珍藏版)》请在冰豆网上搜索。
![c语言推箱子代码.docx](https://file1.bdocx.com/fileroot1/2022-10/27/ae5de7dc-5840-49c8-b797-e9ebdd7c9969/ae5de7dc-5840-49c8-b797-e9ebdd7c99691.gif)
c语言推箱子代码
#include
#include
voidmap1();
voidmap2();
voidmap3();
voidshow();
voidmove();
voidmain(intargc,char*argv[])
{
time_ta,b;
time(&a);
system("color1E");
loop1:
{
system("cls");//刷屏
printf("\n\n\n\n\n\n\t\t\t\t欢迎进入推箱子游戏\n\n\t\t\t\t请按abc选择游戏\n\n\t\t\t\t按d键结束");
intt=getch();
if(t=='d')
{
printf("\n\t\t\t");
}
else
{
if(t=='a')
{
map1();
gotoloop1;
}
if(t=='b')
{
map2();
gotoloop1;
}
if(t=='c')
{
map3();
gotoloop1;
}
else
{
printf("\n\n\t\t\t\t请重新输入:
");
gotoloop1;
}
}
}
time(&b);
printf("\n\n\n\n\t\t\t\t游戏总共用时%.3d秒\n\t\t\t",b-a);
getch();//等待读取回车符以结束程序
}
voidmap1()
{
time_tp,q,o;
time(&p);
inti=4,j=4,m=6,n=2,t=1,k=3;
system("cls");//刷屏
system("color2E");
intx=1,y=7;
charz,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\tYOUAREWIN!
\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时间已过请重新回车选关!
");
intg=getch();
if(g==13)//判断是否为回车符
{
return;
}
else
{
gotoloop1;
}
}
system("cls");//刷屏
show(a);//调用输出函数
gotoloop;
}
}
voidmap2()
{
time_tp,q,o;
time(&p);
inti=2,j=1,m=1,n=3,t=4,k=6;
system("cls");//刷屏
system("color2E");
intx=4,y=1;
charz,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\tYOUAREWIN!
\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时间已过请重新回车选关!
");
intg=getch();
if(g==13)//判断是否为回车符
{
return;
}
else
{
gotoloop1;
}
}
system("cls");//刷屏
show(b);//调用输出函数
gotoloop;
}
}
voidmap3()
{
time_tp,q,o;
time(&p);
inti=2,j=1,m=6,n=2,t=7,k=6;
system("cls");//刷屏
system("color2E");
intx=3,y=6;
charz,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\tYOUAREWIN!
\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时间已过请重新回车选关!
");
intg=getch();
if(g==13)//判断是否为回车符
{
return;
}
else
{
gotoloop1;
}
}
system("cls");//刷屏
show(c);//调用输出函数
gotoloop;
}
}
voidshow(charb[9][9])
{
printf("\t\t\t\t***************************\n");
printf("\t\t\t\t推箱子游戏");
printf("\n\t\t\t\t***************************\n");
printf("\t\t\t\t人:
★墙:
■\n\t\t\t\t箱子:
◎目的地:
□\n\t\t\t\t按d键退出游戏\n\t\t\t\t限时30秒!
");
printf("\n\t\t\t\t***************************\n");
inti;
intk;
for(i=0;i<9;i++)//使用循环将地图转换输出
{
printf("\t\t\t\t");
for(k=0;k<9;k++)
{
if(b[i][k]=='#')
{
printf("■");
}
else
{
if(b[i][k]==3)
{
printf("□");
}
else
{
if(b[i][k]==5)
{
printf("◎");
}
else
{
if(b[i][k]==1)
{
printf("★");
}