昵称:Hexadecimal
|
5楼
发表于 2013-5-25 08:25
| 只看该作者
本帖最后由 704009905 于 2013-5-25 08:49 编辑
顺便发一下MiningTurtle的程序吧:
(Lua)
- while ture do --检测条件布尔值为ture开始循环。(这里直接给了ture就是无限循环。)
- if turtle.getItemCount(16) ~=64 then --如果插槽(Slot)16的物品数量不等于64,则执行下面的。比较旧的ComputerCraft版本中16需要被替换为9。
- turtle.dig() --TurtleAPI,破坏前方方块。
- turtle.digUp() --TurtleAPI,破坏上方方块。
- turtle.digDown() --TurtleAPI,破坏下方方块。
- else --if执行的代码到这里直接跳到L19,同时这里是如果Slot16 == 64会执行的。
- turtle.turnLeft() --TurtleAPI,左转。
- turtle.turnLeft() --TurtleAPI,左转。
- for i = 1,16 do --通俗的说:循环执行下面的代码,但是有一个i变量,每次都不同,从1到16,同时全部的都执行过一次就结束循环。
- turtle.select(i) --TurtleAPI,选择i插槽(也就是每次循环选择的不同啦~)。
- turtle.dorp() --TurtleAPI,丢掉选择的插槽的物品(循环结束时就应该把物品全部丢掉啦。)。
- end --for循环的末尾。
- turtle.select(1) --TurtleAPI,选择1插槽。(重置。)
- turtle.turnLeft() --TurtleAPI,左转。
- turtle.turnLeft() --TurtleAPI,左转。
- end --if的末尾。
- end --while的末尾,之后跳转到while那里。
复制代码
配合整个机制也就是把生成的石头/原石采集然后满了的时候(大概。)把物品全都放回箱子再继续。
关于为什么左转而不右转(一般都需要用右转。)因为我有强迫症····左转占用的字节更少,而且运行效率高了不少·· |
|