C语言推箱子代码

上传人:飞****9 文档编号:149035273 上传时间:2020-10-23 格式:DOCX 页数:6 大小:67.69KB
返回 下载 相关 举报
C语言推箱子代码_第1页
第1页 / 共6页
C语言推箱子代码_第2页
第2页 / 共6页
C语言推箱子代码_第3页
第3页 / 共6页
C语言推箱子代码_第4页
第4页 / 共6页
C语言推箱子代码_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《C语言推箱子代码》由会员分享,可在线阅读,更多相关《C语言推箱子代码(6页珍藏版)》请在金锄头文库上搜索。

1、,.#include#includeint i,j,steps = 0,gk = 1;char command,t,m = 0,n = 0;int map_1811,map811 = 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,0,0,1,0,0,6,0,0,4,1,0,0,0,1,3,0,2,0,0,4,1,0,0,0,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;int map_2811 = 0,0,0,1,1,1,1,0,0

2、,0,0,0,0,0,1,4,0,1,0,0,0,0,1,1,1,1,0,0,1,1,0,0,0,1,0,0,0,3,2,0,1,0,0,0,1,0,1,1,0,0,0,1,0,0,0,1,0,6,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,4,1,0,0,0,0,0,1,1,1,1,1,1,0,0;int map_3811 = 0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,4,4,1,0,0,0,0,1,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,1,1,1,0,1,6,2,0,

3、1,0,0,0,0,1,0,0,3,0,0,1,0,0,0,0,1,1,1,1,1,1,1,0,0;typedef struct positionint x;int y;location;location agg3;/全部通过void clearance()if(mapagg1.xagg1.y = 5&mapagg2.x + nagg2.y + m = 5&gk = 3);.,.printf( 你赢了! n);system(pause);exit(0);/判断是否通过void control_adopt()if(mapagg1.xagg1.y = 5&mapagg2.x + nagg2.y +

4、 m = 5)if(gk != 3)for(i = 0;i 8;i+)for(j = 0;j 11;j+)mapij = map_2ij;map_2ij = map_3ij;map_1ij = mapij;gk+;steps = 0;/重新开始void control_reset(char reset_1)if(reset_1 = f)for(i = 0;i 8;i+)for(j = 0;j 11;j+)mapij = map_1ij;steps = 0;/结束void control_end(char end_0)if(end_0 = t)exit(0);/控制方向+ 箱子堵住陷阱void

5、control_direction(char direction_);.,.if(direction_ = d|direction_ = w|direction_ = a|direction_ = s)if(direction_ = d)m = 1;if(direction_ = a)m = -1;if(direction_ = w)n = -1;if(direction_ = s)n = 1;if(agg0.x + n = agg1.x&(agg0.y + m) = agg1.y&mapagg1.x + nagg1.y + m != 1&mapagg1.xagg1.y != 5)if(map

6、agg1.x + nagg1.y + m = 4)mapagg1.xagg1.y = 0;mapagg1.x + nagg1.y + m = 5;agg1.y = agg1.y + m;agg1.x = agg1.x + n;elset =mapagg1.x + nagg1.y + m;mapagg1.x + nagg1.y + m = mapagg1.xagg1.y;mapagg1.xagg1.y =t;agg1.y = agg1.y + m;agg1.x = agg1.x + n;/第二个箱子的判断条件if(agg0.x + n = agg2.x&(agg0.y + m) = agg2.y

7、&mapagg2.x + nagg2.y + m != 1&mapagg2.xagg2.y != 5)if(mapagg2.x + nagg2.y + m = 4)mapagg2.xagg2.y = 0;mapagg2.x + nagg2.y + m = 5;agg2.y = agg2.y + m;agg2.x = agg2.x + n;elset =mapagg2.x + nagg2.y + m;mapagg2.x + nagg2.y + m = mapagg2.xagg2.y;mapagg2.xagg2.y =t;agg2.y = agg2.y + m;agg2.x = agg2.x +

8、n;.,.if(mapagg0.x + nagg0.y + m = 0)t =mapagg0.x + nagg0.y + m;mapagg0.x + nagg0.y + m = mapagg0.xagg0.y;mapagg0.xagg0.y =t;agg0.y = agg0.y + m;agg0.x = agg0.x + n;steps+;m = 0;n = 0;/输出 ,寻找 1,2,3void control_output()printf( 关卡 %d: n,gk);printf( 步数: %dn,steps);for(i = 0;i 8;i+)for(j = 0;j 11;j+)if(m

9、apij = 1)printf( );if(mapij = 0)printf();if(mapij = 2)printf( );agg1.x = i;agg1.y = j;if(mapij = 3)printf( );agg0.x = i;agg0.y = j;if(mapij = 4)printf( );if(mapij = 5)printf( );if(mapij = 6);.,.printf( );agg2.x = i;agg2.y = j;printf(n);printf(w,a,s,d 控制方向, t 退出游戏, f 重新开始! n);/输入指令void input_command(

10、)while(1)scanf(%c,&command);if(command = w|command = a|command = s|command = d|command = t|command = f)break;main()for(i = 0;i 8;i+)for(j = 0;j 12;j+)map_1ij = mapij;while(1)control_output();input_command();control_direction(command);control_reset(command);control_end(command);control_adopt();system(cls);clearance();.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号