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

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

2022年10月28日金曜日

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

関数
function 名前()
    プログラム
end

チェストに戻ってアイテムを入れて露天掘りに戻る部分を関数化


関数化するとこうなる
露天掘りのプログラムの前に
function CHEST1()
    チェストに戻るプログラムをカットして貼り付け
end

これで関数CHEST1が完成

関数CHEST1()を露天掘りプログラムに組み込む
チェストに戻るプログラムの位置に組み込む
elseif (YOKO==YOKOconfig*2) then
    CHEST1()


関数を作った一番の利点はチェストに戻る部分と基本プログラムを分けて考えることができることです

と言いたいんですが

本心はプログラムが縦に長いと動画やサイトの画面に収まらずに説明しにくい


チェストに戻る関数部分


基本動作の露天掘り部分
露天掘り部分がすっきりして読みやすくなる

ほんとはもっと説明書きをしたいんですが、できるだけ行を少なくしたい


これで動くと思ったんですが、動かない、原因は
タートルが上下に動く終わり値をループHUKASAの処理回数にしていること
for AGARU=1,HUKASA*2-1 do
    turtle.up()

for SAGARU=1,HUKASA*2-1 do
    turtle.down()

--露天掘りプログラム
for HUKASA=1,HUKASAconfig/2 do

露天掘り部分のループカウンターの処理は関数内では反映されない


ループHUKASAの中に関数CHEST1()を組み込む
for HUKASA=1,HUKASAconfig/2 do
function CHEST1()

これで正常に動く

これでは関数を作った意味がない


タートルがチェストで自動で止まるようにする
タートルが前を調べるAPI
turtle.inspect()

戻り値の
true/false
name
これを利用する

使い方
local ARU,KUWASIKU=turtle.inspect()
ARUとKUWASIKUを定義して
turtle.inspect()の戻り値を代入する
ARUにtrue/falseを代入
KUWASIKUに詳細データを代入させる


このページの動画です
応援してね

0 件のコメント:

コメントを投稿

関連コンテンツ