之前我已经在贴吧发过一回了,现在转到mcbbs来。
贴吧发布地址:http://tieba.baidu.com/p/4678164509
下载地址:http://pan.baidu.com/s/1nvESfh;http://pan.baidu.com/s/1i5HcbT (注:前面那个是修复bug版的,后面那个是有bug版)
稿件地址(如果你无聊可以下载来看看233):http://pan.baidu.com/s/1geY0WEJ
【声明】
贴吧吧友@pixelsteam 目前制作(或许会在将来发布)的2048 UP版本与本作品不构成侵权。
未经授权的情况下,任何人禁止转载本帖以及本地图。


棕色羊毛的踏板开始新一轮游戏

四边上的踏板代表向四个方向移动数字(虽然只完成了一个方向)
【原理讲解在后头】

- //清除原来的Shulker
- /kill @e[type=Shulker]
- //生成shulker×2
- /summon Shulker X Y Z {NoAI:1,CustomName:"2",CustomNameVisible:1,Invulnerable:1b}
- /summon Shulker X Y Z {NoAI:1,CustomName:"2",CustomNameVisible:1,Invulnerable:1b}
- //给生成的shulker设置2048的分数
- /scoreboard players set @e[type=Shulker,name=2] 2048 2
- //把生成的Shulker打散到数字板中,使用spreadplayers指令
- //-1462 1013是数字板的中心xz坐标,没有y值,2 3是打散距离
- /spreadplayers -1462 1013 2 3 false @e[name=2,type=Shulker]
2、移动合并

- 0000;0001;0010;0100;1000;
- 0011;0101;1001;0110;1010;1100;
- 1110;1101;1011;0111
- 1111
- 0001;0010;0100;1000;
- 0011;0101;1001;0110;1010;1100;
- 1110;1101;1011;0111
- 1111
- /execute @e[type=ArmorStand,name=yellow] ~6 ~~ testfor @e[r=0,type=Shulker] {CustomNameVisible:1b}
- //检测4号位是否是null
- /execute @e[type=ArmorStand,name=yellow] ~ ~ ~testfor @e[r=0,type=ArmorStand,name=null]
- //检测3号位是否是null
- /execute @e[type=ArmorStand,name=yellow] ~2 ~~ testfor @e[r=0,type=ArmorStand,name=null]
- //检测2号位是否是null
- /execute @e[type=ArmorStand,name=yellow] ~4 ~~ testfor @e[r=0,type=ArmorStand,name=null]
- //检测1号位是否是Shulker
- /execute @e[type=ArmorStand,name=yellow] ~6 ~~ testfor @e[r=0,type=Shulker] {CustomNameVisible:1b}


icb用来检测其对应位置是否有shulker,如果有,就把那个位置原有的null清除掉,如果没有,就在其对应位置生成null,指令如下:
- //rcb
- /testfor @e[x=X,y=Y,z=Z,r=0,type=Shulker]
- //然后比较器输出,连接cb
- /kill@e[x=-1463,y=56,z=1010,r=0,type=ArmorStand,name=null]
- //连接非门(就是那个火把)
- /summon ArmorStand -1463 56 1010 {CustomName:"null",Invisible:1b,NoGravity:1b}


- /scoreboard players operation@e[type=ArmorStand,r=0,x=-1449,y=57,z=1016] 2048 =@e[type=Shulker,x=-1463,y=56,z=1014,r=0] 2048
- /scoreboard players operation @e[type=ArmorStand,r=0,x=-1447,y=57,z=1016]2048 = @e[type=Shulker,x=-1461,y=56,z=1014,r=0] 2048
- /scoreboard players operation@e[type=ArmorStand,r=0,x=-1445,y=57,z=1016] 2048 =@e[type=Shulker,x=-1459,y=56,z=1014,r=0] 2048
- /scoreboard players operation @e[type=ArmorStand,r=0,x=-1451,y=57,z=1016]2048 = @e[type=Shulker,x=-1465,y=56,z=1014,r=0] 2048

- /execute @e[type=ArmorStand,name=yellow] ~4 ~~ tp @e[type=Shulker,r=0] ~-4 ~ ~

- /scoreboard players operation@e[name=CheckResult,type=ArmorStand] test = @e[name=Checker1,type=ArmorStand]test
- /scoreboard players operation@e[name=CheckResult,type=ArmorStand] test -= @e[name=Checker2,type=ArmorStand]test
- /testfor @e[name=CheckResult,type=ArmorStand,score_test_min=0,score_test=0]
- /scoreboard players set@e[name=Bool,type=ArmorStand] test 1
- //加分
- /execute @e[type=ArmorStand,name=yellow] ~2 ~~ scoreboard players operation @e[type=Shulker,r=0] 2048 +=@e[type=ArmorStand,name=a2] 2048
- //清除没用Shulker
- /execute @e[type=ArmorStand,name=yellow] ~2 ~~ tp @e[type=Shulker,r=0] ~-2 ~ ~
- //把已加分的shulker传送到特定的位置
- /execute @e[type=ArmorStand,name=yellow] ~4 ~~ kill @e[type=Shulker,r=0]
- //清空寄存模块和等测模块,供下一次使用,这里我是把清空指令串到一起,再一键激活
- /setblock -1477 56 969minecraft:redstone_block
- /setblock -1448 57 1015 minecraft:redstone_block
- /testfor@e[type=ArmorStand,name=Bool,score_test=0,score_test_min=0]
- /setblock ~-1 ~ ~ minecraft:redstone_block
- //这里空一个方块
- /setblock ~1 ~ ~ air


