このプログラムはラージチェストを32個設置して原木を入手したら設置したチェストにドロップするプログラムです。チェストに何が入ってもエラーを起こすことがないので簡単なものになっています。自動植林場まで原木を回収に行かせることも考えましたが、アイテムを分配するタートルとの位置関係が難しくなるので断念しました。
1.のプログラムで設置されたタートル(青く染色しています)
1.のプログラムであらかじめ木炭とチェストが入っています
プログラムをスタート
この部分のチェストを設置
この位置で原木を入手できるまで待機します
無限ループの開始
燃料レベルが300以下になると燃料を補給
if turtle.getFuelLevel()<300 then
turtle.select(1)
turtle.suckDown()
turtle.refuel()
end
60秒ごとにチェストから入手できるかループします
このチェストには原木以外は入らない設定なので、アイテム名を指定していません。また違うアイテムが入り込んでもエラーになることはありません。
while true do
if turtle.suckDown() then
break
else
print("Log_Supply:OsSleep",Sleep,"ms")
os.sleep(Sleep)
end
end
原木を入手出来たら移動しながらチェストにドロップしていきます
for A=1,16 do
turtle.select(A)
turtle.dropDown()
end
複数タートルでの自動植林 プログラム2
2.のプログラムはここから
--####原木輸送プログラム
local Sleep=60
--####チェスト設置の関数
function PlaceDownChest()
turtle.placeDown()
turtle.forward()
turtle.forward()
turtle.placeDown()
end
--####燃料補給
turtle.select(1)
turtle.refuel()
--####チェスト設置
turtle.up()
turtle.select(2)
turtle.forward()
turtle.turnLeft()
turtle.forward()
for A=1,7 do
for A=1,3 do
PlaceDownChest()
end
turtle.turnLeft()
turtle.forward()
turtle.turnLeft()
for A=1,3 do
PlaceDownChest()
end
turtle.turnRight()
turtle.forward()
turtle.forward()
turtle.turnRight()
end
for A=1,3 do
PlaceDownChest()
end
turtle.turnLeft()
turtle.forward()
turtle.turnLeft()
for A=1,3 do
PlaceDownChest()
end
turtle.turnLeft()
for A=1,21 do
turtle.forward()
end
--####原木倉庫タートルの無限ループ
while true do
turtle.turnRight()
--####燃料補給
for A=1,8 do
turtle.forward()
end
if turtle.getFuelLevel()<300 then
turtle.select(1)
turtle.suckDown()
turtle.refuel()
end
--####原木回収
turtle.turnRight()
turtle.turnRight()
for A=1,6 do
turtle.forward()
end
turtle.select(1)
while true do
if turtle.suckDown() then
break
else
print("Log_Supply:OsSleep",Sleep,"ms")
os.sleep(Sleep)
end
end
for A=2,16 do
turtle.select(A)
turtle.suckDown()
end
turtle.forward()
turtle.forward()
--####チェストへのドロップ関数
function DropDownForward()
for A=1,16 do
turtle.select(A)
turtle.dropDown()
end
turtle.forward()
turtle.forward()
for A=1,16 do
turtle.select(A)
turtle.dropDown()
end
end
--####原木を倉庫へ移動
for A=1,3 do
for A=1,3 do
DropDownForward()
end
turtle.turnLeft()
turtle.forward()
turtle.forward()
turtle.forward()
turtle.turnLeft()
for A=1,3 do
DropDownForward()
end
turtle.turnRight()
turtle.forward()
turtle.forward()
turtle.forward()
turtle.turnRight()
end
for A=1,3 do
DropDownForward()
end
turtle.turnLeft()
turtle.forward()
turtle.forward()
turtle.forward()
turtle.turnLeft()
for A=1,3 do
DropDownForward()
end
turtle.turnLeft()
for A=1,21 do
turtle.forward()
end
end
0 件のコメント:
コメントを投稿