チェストにアイテムを入れる分を関数化してコンフィグ設定からチェストの段数を変更できるようにする
チェストを二段にしたプログラム
露天掘り中にチェストに戻ってアイテムを入れる関数CHEST1()に書き込む
上に行く
turtle.up()
ループスロットは1から16まで実行
for SLOT=1,16 do
タートルはインベントリを選択してチェストにアイテムを入れる
turtle.select(SLOT)
turtle.drop()
※(SLOT)にはループの処理回数が入る
ループスロットの終わり
end
下に行く
turtle.down()
岩盤を発見したらチェストに戻ってプログラムを終える関数CHEST_end1()にも書き込みます
書き込んだ三つの関数はチェストにアイテムを入れる部分が同じなので関数化します
関数名はチェストドロップ
説明は省略
関数チェストドロップを3か所に組み込みます
for SLOT=1,16 do
turtle.select(SLOT)
turtle.drop()
end
turtle.up()
for SLOT=1,16 do
turtle.select(SLOT)
turtle.drop()
end
turtle.down()
⇓
CHEST_drop()
コンフィグ化してチェストの段数を増やすことを可能にします
local CHESTconfig=2
ループアップは1からチェストコンフィグ-1まで実行
for UP=1,CHESTconfig-1 do
※一段目のチェストの部分は上に行かないので-1としています
二段目のチェストにアイテムを入れる
ループダウンは1からチェストコンフィグ-1まで実行
for DOWN=1,CHESTconfig-1 do
※ループアップが-1なので下がるのも-1となります
これをチェストコンフィグ分だけ繰り返します
関数チェストドロップをよりシンプルに
このように書くことでループスロットが一回だけのプログラムになります
ループアップは1からチェストコンフィグまで実行このように書くことでループスロットが一回だけのプログラムになります
for UP=1,CHESTconfig do
もしもループアップが1より大きいときにタートルは上に行く
if UP>1 then
turtle.up()
※ループアップが一回目の処理の時は上に行かないので-1が必要ありません
二段目のチェストにアイテムを入れる
ループダウンは1からチェストコンフィグ-1まで実行
for DOWN=1,CHESTconfig-1 do
※上がった分だけ下がる必要があるので-1が必要です
これをチェストコンフィグ分だけ繰り返します
逆転の発想
上のチェストからアイテムを入れる(不採用プログラム)
ますタートルはチェストコンフィグ分だけ上に行く繰り返しの部分
チェストにアイテムを入れる
もしもループダウンがチェストコンフィグでないなら
下に行く
このような考えが先に浮かんだらスムーズにプログラムが組めるかもしれません
このページの動画です
応援してね
0 件のコメント:
コメントを投稿