c语言推箱子代码_第1页
c语言推箱子代码_第2页
c语言推箱子代码_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<stdio.h>#include<stdlib.h>voidmap1();voidmap2();voidmap3();voidshow();voidmove();voidmain(intargc,char*argv)time_ta,b;time(&a);system("color1E");loop1:system("cls");刷屏printf("nnnnnntttt欢迎进入推箱子游戏nntttt请按abc选择游戏nntttt按d键结束");intt=getch();if(t='

2、;d')printf("nttt");elseif(t='a')map1();gotoloop1;if(t='b')map2();gotoloop1;if(t='c')map3();gotoloop1;elseprintf("nntttt请重新输入:");gotoloop1;time(&b);printf("nnnntttt游戏总共用时%.3d秒nttt",b-a);getch();/等待读取回车符以结束程序voidmap1()time_tp,q,o;time(&

3、p);inti=4,j=4,m=6,n=2,t=1,k=3;system("cls");/刷屏system("color2E");intx=1,y=7;charz,a99=/*为背景设置初始资料*/'#','#','#',#,'#','#','#','#',#,'#','#','#',3,0,0,0,1,'#','#','#',0,0,0,'

4、#',0,'#','#','#',0,0,'#',0,0,5,0,'#','#',0,5,5,3,0,0,0,'#','#','#',0,'#',0,0,'#','#','#','#','#',3,0,0,0,'#','#','#','#','#','#'

5、,'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'show(a);/调用输出函数move(a,&x,&y,i,j,m,n,t,k,&z);if(aij='!'&&amn='!'&&atk='!&

6、#39;)system("cls");/刷屏show(a);printf("ttttYOUAREWIN!n");time(&q);printf("ttttt用时%.3d秒n",q-p);printf("tttt*回车重新选择*ntttt");getch();elsetime(&o);if(z='d')return;if(o-p>30)(loopl:system("cls");/刷屏printf("tttt时间已过请重新回车选关!");in

7、tg=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,b99=(/*为背景设置初始资料*/'#','#','#',#,'#&

8、#39;,'#','#','#',#,'#','#','#',3,0,'#','#','#','#','#',3,'#',0,0,0,0,'#','#','#',0,5,0,'#','#',0,0,'#','#',1,0,5,0,0,3,0,'#','#',0,0

9、,0,0,0,0,'#','#','#','#','#',0,0,5,'#','#','#','#','#','#','#',0,0,'#','#','#','#','#','#','#','#','#','#','#','

10、#'show(b);/调用输出函数move(b,&x,&y,i,j,m,n,t,k,&z);if(bij='!'&&bmn='!'&&btk='!')system("cls");/刷屏show(b);printf("ttttYOUAREWIN!n");time(&q);printf("ttttt用时.3d秒n",q-p);printf("tttt*回车重新选择*ntttt");getch();el

11、setime(&o);if(z='d')return;if(o-p>30)loop1:system("cls");/刷屏printf("tttt时间已过请重新回车选关!");intg=getch();if(g=13)判断是否为回车符return;elsegotoloop1;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

12、");/刷屏system("color2E");intx=3,y=6;charz,c99=/*为背景设置初始资料*/'#','#','#',#,'#','#','#','#',#,'#','#','#','#','#',0,0,0,'#','#',3,'#',0,0,0,0,0,'#','#',0

13、,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,'#','#','#','#','#

14、9;,'#','#','#','#','#','#';show(c);/调用输出函数move(c,&x,&y,i,j,m,n,t,k,&z);if(cij='!'&&cmn='!'&&ctk='!')system("cls");/刷屏show(c);printf("ttttYOUAREWIN!n");time(&q);printf("ttt

15、tt用时%.3d秒n",q-p);printf("tttt*回车重新选择*ntttt");getch();elsetime(&o);if(z='d')return;if(o-p>30)loop1:system("cls");/刷屏printf("tttt时间已过请重新回车选关!");intg=getch();if(g=13)/判断是否为回车符return;elsegotoloop1;system("cls");/刷屏show(c);/调用输出函数gotoloop;voidsh

16、ow(charb99)(printf("tttt*n");printf("tttt推箱子游戏");printf("ntttt*n");printf("tttt人:墙:ntttt箱子:键退出游戏ntttt限时30秒!");目的地:口ntttt按dprintf("ntttt*n");inti;/使用循环将地图转换输出intk;for(i=0;i<9;i+)(printf("tttt");for(k=0;k<9;k+)(if(bik='#')(print

17、f("");else(if(bik=3)(printf("");else(if(bik=5)(printf("");else(if(bik=1)(printf("");else(if(bik=0)(printf("");elseif(bik='!')(printf("O");elseprintf("%c",bik);printf("n");printf("tttt*n");voidmove(charc

18、99,int*x,int*y,intX,intY,intA,intB,intN,intM,char*t)(*t=getch();/用getch()得到上下左右键,要调用二次getch(),上键72,下键80,左键75,右键77.if(*t='d')(/遇到d返回if(*t=75)/左键(if(c*x*y-1='#'|c*x*y-1=5&&c*x*y-2=5|c*x*y-1=5&&c*x*y-2='!')遇到墙或推两个箱子else(if(c*x*y-1='!')/把箱子推出目的地(if(c*x*y-2

19、!=0)(else(c*x*y=0;*y-=1;c*x*y=1;c*x*y-1=5;else(if(c*x*y-1=5&&c*x*y-2!='#')/推箱子(if(c*x*y=cXY|c*x*y=cAB|c*x*y=cNM)/推着箱子离开目的地(c*x*y=3;*y-=1;c*x*y=1;c*x*y-1=5;else(c*x*y=0;*y-=1;c*x*y=1;c*x*y-1=5;else(if(c*x*y-1=5&&c*x*y-2='#')/推不动箱子else(if(c*x*y-1=cXY|c*x*y-1=cAB|c*x*y-1

20、=cNM)/进到目的地(c*x*y=0;*y-=1;c*x*y=1;else(if(c*x*y=cXY|c*x*y=cAB|c*x*y=cNM)/离开目的地(c*x*y=3;*y-=1;c*x*y=1;else走到空地(c*x*y=0;*y-=1;c*x*y=1;if(cXY=5|cAB=5|cNM=5)/箱子推到目的地(c*x*y-1='!'if(*t=77)/右键(if(c*x*y+1='#'|c*x*y+1=5&&c*x*y+2=5|c*x*y+1=5&&c*x*y+2='!')/遇到墙或推两个箱子else(

21、if(c*x*y+1='!')/把箱子推出目的地(if(c*x*y+2!=0)(else(c*x*y=0;*y+=1;c*x*y=1;c*x*y+1=5;else(if(c*x*y+1=5&&c*x*y+2!='#')/推箱子(if(c*x*y=cXY|c*x*y=cAB|c*x*y=cNM)/推着箱子离开目的地(c*x*y=3;*y+=1;c*x*y=1;c*x*y+1=5;else(c*x*y=0;*y+=1;c*x*y=1;c*x*y+1=5;else(if(c*x*y+1=5&&c*x*y+2='#')/推

22、不动箱子else(if(c*x*y+1=cXY|c*x*y+1=cAB|c*x*y+1=cNM)/进到目的地(c*x*y=0;*y+=1;c*x*y=1;else(if(c*x*y=cXY|c*x*y=cAB|c*x*y=cNM)/离开目的地(c*x*y=3;*y+=1;c*x*y=1;else走到空地(c*x*y=0;*y+=1;c*x*y=1;if(cXY=5|cAB=5|cNM=5)/箱子推到目的地(c*x*y+1='!'if(*t=72)/上键(if(c*x-1*y='#'|c*x-1*y=5&&c*x-2*y=5|c*x-1*y=5&a

23、mp;&c*x-2*y='!')(/遇到墙或推两个箱子else(if(c*x-1*y='!')/把箱子推出目的地(if(c*x-2*y!=0)(elsec*x*y=0;*x-=1;c*x*y=1;c*x-1*y=5;else(if(c*x-1*y=5&&c*x-2*y!='#')/推箱子(if(c*x*y=cXY|c*x*y=cAB|c*x*y=cNM)/推着箱子离开目的地(c*x*y=3;*x-=1;c*x*y=1;c*x-1*y=5;else(c*x*y=0;*x-=1;c*x*y=1;c*x-1*y=5;else(if(c*x-1*y=5&&c*x-2*y='#')(/推不动箱子else(if(c*x-1*y=cXY|c*x-1*y=cAB|c*x-1*y=cNM)/进到目的地(c*x*y=0;*x-=1;c*x*y=1;else(if(c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论