卡狗
这里是Kakagou12。
为了实现复印机,我思考限次电路很久了,现在为大家带来一个最新的比较简化的版本
如果之前有人做过了,好吧。。

========================CUTLINE========================



这个是电路全景,下面讲解代码

踩踏板以后激活前3个方块,

  1. summon @e[type=Slime] ~ ~ ~ {CustomName:Dontkillme,NoAI:1,Size:0}
复制代码


  1. setblock x1 y1 z1 redstone_block
复制代码


  1. setblock x2 y2 z2 redstone_block
复制代码



然后很小的间隔后激活下一个代码

  1. setblock x1 y1 z1 air
复制代码


然后进入循环电路

以下命令依次进行
  1. scoreboard players add @e[type=Slime] times 1
复制代码


  1. testfor @e[type=Slime,score_times_min=11]
  2. 如果达成条件就
  3. kill @e[type=Slime]
  4. setblock x2 y2 z2 air
复制代码

  1. setblock x3 y3 z3 redstone_block   
复制代码


  1. setblock x3 y3 z3 air
复制代码


========================CUTLINE========================
以上代码是什么意思呢?我为富有幽默感的人们准备了一篇注释,如果看不懂可以只看命令后的注释。
  1. /*
  2. Command Block伪代码说明
  3. Begin和End代表两个括号
  4. “//”符号是注释
  5. While是循环结构,后可以跟判断语句testfor然后现实中搭配活塞,也可以跟方块状态XX==open/off,方块状态不需要命令方块的检测
  6. :代表缩进,wikier都懂
  7. by Kakagou12
  8. */



  9.     //限次电路部分
  10. Begin

  11. summon @e[type=Slime] ~ ~ ~ {CustomName:Dontkillme,NoAI:1,Size:0} //这里召唤一个计时用的史莱姆

  12. setblock x1 y1 z1 redstone_block    //在电路循环开始的地方放红石块,激活循环电路
  13. setblock x1 y1 z1 air

  14. setblock x2 y2 z2 redstone_block   //在活塞后放置红石块,开启循环

  15. While piston==open     //进入循环
  16. :scoreboard players add @e[type=Slime] times 1   //计次加1

  17. :testfor @e[type=Slime,score_times_min=11]       //判断命令,实际会输出10次。
  18. ::kill @e[type=Slime]
  19. ::setblock x2 y2 z2 air                          //关闭活塞
  20.                
  21. :setblock x3 y3 z3 redstone_block                //无线电路的目标位置放红石块
  22. :setblock x3 y3 z3 air

  23. End
复制代码




P.S杀掉史莱姆会掉粘液球,大家可以自己设置一个清除地面物品用的方块
过会放一下除了技术含量看起来好高其实一点用处都没有的复印机
谢谢观看



980525748
谢谢分享 学到了

寒冰丶
已学,话说LZ头像的眼睛真逗

1207741285
我是**,完全看不懂

Smaoll
楼主红石大神鉴定完毕

卡狗
寒冰丶 发表于 2014-10-2 22:19
已学,话说LZ头像的眼睛真逗

你懂的~~~

卡狗
Smaoll 发表于 2014-10-2 22:20
楼主红石大神鉴定完毕

=,=真的不是

黑曜石城主

还谦虚,别谦虚了(好吧,你是命令方块大神)

第一页 上一页 下一页 最后一页