岩盤を発見したら定義文字に数字を加えてプログラム終了の合図を作る。おまけでランダムに岩盤を設置するプログラムです。
岩盤をランダムに設置するプログラム
動画では2行目が
これで戻りが以下のように代入される
定義文字に1を加える
AIZU=1
となっていましたが
local 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
タートルが上に行く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
if KUWASIKU.name=="minecraft:bedrock" then
定義文字に1を加える
GANBANcount=GANBANcount+1
岩盤を見つけたら画面に表示する(これは動画用なのでなくてもよい)
print(GANBANcount)
もしもの終わり
end
関数の終わり
end
岩盤を調べながら下に行く関数
上と同じ考え方である岩盤を見つけたら画面に表示する(これは動画用なのでなくてもよい)
print("Donmai!")
turtle.down() ⇒ GANBAN_down()
これでタートルが前に行く、もしくは下に行くという移動する動作の後で全てのブロックを調べることができます。正直言って岩盤の発見率は高いので、ここまでする必要はないかもしれません。あとプログラムの処理スピードを考えると掘る深さによって下を調べる調べないの判断をするってのもありかもしれませんね。
このページの動画です
応援してね
0 件のコメント:
コメントを投稿