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

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

2023年1月16日月曜日

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

岩盤を発見したら定義文字に数字を加えてプログラム終了の合図を作る。おまけでランダムに岩盤を設置するプログラムです。

岩盤をランダムに設置するプログラム

8x8のサイズに一段目は岩盤を敷き詰め、二段目はランダムに岩盤を設置する


※訂正
動画では2行目が
    AIZU=1
となっていましたが
    local AIZU=1
が正解です(間違えてました)

関数ランダムプレイスダウンを作りランダムにスロットを選ぶ
関数はファンクション␣名前()
    function RANDOM_placeDown()

SLOTには1から6までの数値がランダムに入るように定義
    local SLOT=math.randam(1,6)

タートルは定義文字のSLOTを選択スロットとするようにする
    turtle.select(SLOT)

下に岩盤を設置する
    turtle.placeDown()

関数の終わり
    end

一段目と二段目で岩盤の設置方法を変更する
もしもループYOKOが8以下なら
    if YOKO<=8 then

岩盤を設置
    turtle.placeDown()

違うなら
    else

ランダムに岩盤を設置
    RANDOM_placeDown()

もしもの終わり
    end

タートルのスロット1,2,3,4に岩盤を入れてスタート、一段目はスロット1の岩盤を64ブロック敷き詰める、二段目の設置は1から6までのスロットをランダムに選ぶ

タートルの動きのプログラムは露天掘りとほぼ同じで上に行くか下に行くかの違いだけ
タートルが上に行くAPI
    turtle.up()

その他の部分は露天掘りプログラムを参照してください



本編の露天掘りプログラム

岩盤を調べながら前に行く関数
岩盤カウント=0を定義
    local GANBANcount=0
この定義文字に岩盤を見つけたら1ずつ加えていく

関数を作る
岩盤を調べながら前に行く関数
    function GANBAN_forward()

前に行く
    turtle.forward()

ARUとKUWASIKUを定義して下のブロックを調べたことを代入させる
    local ARU,KUWASIKU=turtle.inspectDown()

これで戻りが以下のように代入される
    ARU=trueもしくはfalse
    KUWASIKU=内部データ

ARUにはブロックがあるのかないのか
KUWASIKUにはブロックの内部データとなる

もしもでKUWASIKUの内部データの名前の部分が岩盤なら
    if KUWASIKU.name=="minecraft:bedrock" then

定義文字に1を加える
    GANBANcount=GANBANcount+1

岩盤を見つけたら画面に表示する(これは動画用なのでなくてもよい)
    print(GANBANcount)

もしもの終わり
    end

関数の終わり
    end


岩盤を調べながら下に行く関数
上と同じ考え方である

岩盤を見つけたら画面に表示する(これは動画用なのでなくてもよい)
    print("Donmai!")


本編の露天掘りプログラムを関数に書き換える
turtle.forward() ⇒ GANBAN_forward()
turtle.down() ⇒ GANBAN_down()


これでタートルが前に行く、もしくは下に行くという移動する動作の後で全てのブロックを調べることができます。正直言って岩盤の発見率は高いので、ここまでする必要はないかもしれません。あとプログラムの処理スピードを考えると掘る深さによって下を調べる調べないの判断をするってのもありかもしれませんね。


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


0 件のコメント:

コメントを投稿

関連コンテンツ