digit = turtle.getItemCount(1) for i = 1, digit do turtle.select(1) if not turtle.place() then turtle.dig() turtle.place() end turtle.select(16) repeat if turtle.getItemCount(16) == 0 then if not turtle.suckDown() then print("Bone Meal Lack") break end end until not turtle.place() turtle.dig() end turtle.turnRight() turtle.turnRight() for i = 1, 15 do turtle.select(i) turtle.drop() end turtle.turnRight() turtle.turnRight() 这个就是完整的代码了。。。要看代码解释的话在下面
digit = turtle.getItemCount(1) for i = 1, digit do turtle.select(1) if not turtle.place() then turtle.dig() turtle.place() end turtle.select(16) repeat if turtle.getItemCount(16) == 0 then if not turtle.suckDown() then print("Bone Meal Lack") break end end until not turtle.place() turtle.dig() end turtle.turnRight() turtle.turnRight() for i = 1, 15 do turtle.select(i) turtle.drop() end turtle.turnRight() turtle.turnRight() 这个就是完整的代码了,有爱的抱走。。。要看代码解释的话在下面
接下来是一个很大的for循环,每循环一次就收获作物一次,循环digit次就是上面提到的收获相应的次数。。。接下来就在重要的语句那里做上相应的注释。 for i = 1, digit do turtle.select(1) --选择第一个格子,这里放置了种子 if not turtle.place() then --这是一个if语句,如果无法放置种子的话说明前下方放置的是泥土或者草地,需要将其犁成耕地,然后放置种子。 turtle.dig() turtle.place() end turtle.select(16) --选择第16格,这里放置了骨粉 repeat --这里用了个repeat循环。由于1.5版本以后骨粉的特性被修改了,需要多次施粉才能成熟,所以需要用到循环来判断 if turtle.getItemCount(16) == 0 then --如果骨粉用完的话就向下吸取骨粉到第16格 if not turtle.suckDown() then --如果无法吸取(就是箱子里没有骨粉)那么就提示Bone Meal Lack print("Bone Meal Lack") break end end until not turtle.place() --判定条件,如果无法放置骨粉,就说明作物已经成熟 turtle.dig() --然后就挖掉前面的作物 end --至此循环结束
接下来就是这段代码,这段代码的主要作用就是把获得的作物放到后面的箱子里,还是看代码的注释 turtle.turnRight() turtle.turnRight() --两次向右转转到后面 for i = 1, 15 do --一个for循环,应该能看懂这段代码,就是把第1格至第15格的物品放到箱子里。 turtle.select(i) turtle.drop() end turtle.turnRight() turtle.turnRight() --还是两次右转回到原来的方向