2段を掘るプログラムをループさせることで露天掘りプログラムの完成
プログラムの先頭にfor HUKASA=1,100 do
プログラムの最後に
end
これでループYOKOを100回繰り返す、ループYOKOは2段を掘るので200段掘ることになるので岩盤まで確実に掘れる
コンフィグを作ってサイズを可変式にする
深さのコンフィグ
local HUKASAconfig=100--深さループHUKASAの終わり値にコンフィグを当てはめる
for HUKASA=1,HUKASAconfig/2 do
ループYOKOが2段を掘るのでコンフィグ値が100なら200段となるので100段掘りたければ
HUKASAconfig/2
とすればコンフィグ値と同じになる
とすればコンフィグ値と同じになる
横のコンフィグ
local YOKOconfig=8--横のサイズ
ループYOKOの終わり値にコンフィグを当てはめる
for YOKO=1,YOKOconfig*2 do
ループYOKOは2段分の8x2の16回の処理なので
YOKOconfig*2
YOKOconfig*2
とすればコンフィグ値と同じになる
縦のコンフィグ
local TATEconfig=8--縦のサイズ
ループTATEの終わり値にコンフィグを当てはめる
for TATE=2,TATEconfig do
このようにコンフィグを作ることでサイズを可変式にできるがループYOKOの値で列の移動を管理すると横のサイズを8以上にするためには
if (YOKO==1)or(YOKO==3)or(YOKO==5)or(YOKO==7)or
(YOKO==10)or(YOKO==12)or(YOKO==14) then
この部分を増やすことが必要となるので違う方法で列の移動を管理する
次の列の移動と下に行く分岐の合図
文字を定義する
local AIZU=1
AIZUという文字はデフォルトで=1
右回りに列を移動の分岐
if AIZU==1 then
AIZUを2に変更
AIZU=2
左回りに列を移動の分岐
elseif AIZU==2 then
AIZUを1に変更
AIZU=1
このように右回りに列を移動したら
AIZU=2
AIZU=2
に変更する
次に左回りに列を移動したら
AIZU=1
に変更することで列の移動の管理ができる
AIZU=1
に変更することで列の移動の管理ができる
回れ右をして下に行くの分岐
elseif (YOKO==YOKOconfig)or
(YOKO==YOKOconfig*2) then
YOKOconfig
YOKOconfig*2
YOKOconfig*2
この時に回れ右をして下に行く、設定値が8なら8と16の時になる
このままでは正常に動かない
1番目の分岐
if AIZU==1 then2番目の分岐
elseif AIZU==2 then
3番目の分岐
elseif (YOKO==YOKOconfig)or
(YOKO==YOKOconfig*2) then
分岐の順番がこれでは常に
AIZU=1
AIZU=2
AIZU=1
AIZU=2
がもしもに当てはまり
elseif (YOKO==YOKOconfig)or
(YOKO==YOKOconfig*2) then
の分岐までプログラムが進まない
分岐の順番を入れ替える
--もしもループYOKOがYOKOconfigかYOKOconfig*2なら
if (YOKO==YOKOconfig)or
(YOKO==YOKOconfig*2) then
--回れ右をして下に行く
turtle.turnRight()--右を向く
turtle.turnRight()--右を向く
turtle.down()--下に行く
この部分を最初の分岐とすることで正常に動く
このページの動画です
応援してね
0 件のコメント:
コメントを投稿