1.16.5日本語化リソースパック配布

302個のMODの翻訳が完了したので YouTube にて配布いたします 。翻訳の内容など不備はありますが、無いよりはましだと思って使ってください。翻訳したMODの詳細については、まとめるのが面倒くさいので止めておきます。このリソースパックを導入することがマイクラMOD攻略の近道...

2023年4月9日日曜日

コンピュータークラフトでプログラム23 露天掘り編17

チェストにアイテムを入れる分を関数化してコンフィグ設定からチェストの段数を変更できるようにする 


チェストを二段にしたプログラム
露天掘り中にチェストに戻ってアイテムを入れる関数CHEST1()に書き込む
上に行く
    turtle.up()
ループスロットは1から16まで実行
    for SLOT=1,16 do
タートルはインベントリを選択してチェストにアイテムを入れる
    turtle.select(SLOT)
    turtle.drop()
※(SLOT)にはループの処理回数が入る
ループスロットの終わり
    end
下に行く
    turtle.down()


岩盤を発見したらチェストに戻ってプログラムを終える関数CHEST_end1()にも書き込みます

岩盤を発見したらチェストに戻ってプログラムを終える関数CHEST_end2()にも書き込みます




書き込んだ三つの関数はチェストにアイテムを入れる部分が同じなので関数化します


二段のチェストにアイテムを入れる関数を作ります
関数名はチェストドロップ
説明は省略


関数チェストドロップを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 件のコメント:

コメントを投稿

関連コンテンツ