苗木を完璧には回収できません。回収範囲を広げると植林場を1周するのにかなり時間が掛かります。苗木の回収率を上げるためには、直線状の動きかタートルを増やす必要があります。
回転しながら苗木を回収
緑色のタートルです
プログラムのスタートは最後です
チェストと植林タートルに隣接しないように動きます、チェストやタートルのアイテムを吸い上げないようにするためです。またプレーヤーと接触して位置がずれないように注意が必要です。
複数タートルでの自動植林 プログラム6
6.のプログラムはここから
--####苗木回収プログラム
turtle.select(1)
turtle.refuel()
local Sleep=0
print("OsSleep",Sleep,"ms")
os.sleep(Sleep)
function TurnRightSuck()
for A=1,4 do
turtle.turnRight()
turtle.suck()
end
end
function SuckForward()
turtle.suck()
turtle.forward()
end
SuckForward()
turtle.turnRight()
while true do
for A=1,9 do
SuckForward()
TurnRightSuck()
end
turtle.turnRight()
for A=1,13 do
SuckForward()
SuckForward()
for A=1,4 do
SuckForward()
TurnRightSuck()
SuckForward()
TurnRightSuck()
turtle.turnRight()
end
end
SuckForward()
turtle.turnRight()
for A=1,11 do
SuckForward()
TurnRightSuck()
end
turtle.turnRight()
for A=1,23 do
SuckForward()
end
turtle.turnLeft()
for A=1,3 do
SuckForward()
end
turtle.turnRight()
for A=1,16 do
turtle.select(A)
local Slot=turtle.getItemDetail()
if Slot then
if Slot.name=="minecraft:sapling" then
turtle.drop()
end
end
end
turtle.turnRight()
turtle.forward()
turtle.forward()
turtle.turnLeft()
if turtle.getFuelLevel()<300 then
turtle.select(1)
turtle.suck()
turtle.refuel()
end
turtle.turnRight()
SuckForward()
turtle.turnLeft()
for A=1,4 do
turtle.forward()
end
turtle.turnRight()
SuckForward()
SuckForward()
end
6.のプログラムはここまで
6個のプログラムはこれで終わりです。プログラム初心者である私が、それぞれの役割を持ったタートルを36個を上手く動かせたときは感動でした。
メインサイトはこちらから移動できます
複数タートルでの自動植林
関連サイト
コンピュータークラフトを極める その2
0 件のコメント:
コメントを投稿