local n = 3
--{例:変数nに3を代入する}
function kaitenbori(down)
--{downを仮引数とした関数kaitenboriを定義、downの値は3}
local count = 0
--{変数countを初期化}
for i = 1, down do
--{3回繰り返す}
local result = turtle.digDown()
--{変数resultに、下のブロックを壊せたかどうか戻り値として返す}
if result == true then
--{もし壊すことができたら}
count = count + 1
--{カウントする}
else
--{できなければ}
break
--{直近のループを抜ける}
end
--{if終了}
turtle.down()
--{下に移動する}
for i = 1, 4 do
--{4回繰り返す}
turtle.turnLeft()
--{左に回転する}
turtle.dig()
--{前方のブロックを壊す}
end
--{for文終了}
end
--{for文終了}
return count - 1
--{2を戻り値として返す、地面のブロックを埋めるためにマイナス1する}
end
--{関数kaitenbori終了}
function backToHome(up)
--{変数upを仮引数にbackToHomeを定義}
for i = 1, up do
--{2回繰り返す}
turtle.up()
--{上に移動する}
end
--{for文終了}
end
--{関数kaitenbori終了}
turtle.select(1)
--{アイテムスロットの1番目を選択}
turtle.refuel()
--{選択したスロットにある石炭で燃料を補給する}
local up = kaitenbori(n)
--{変数n(値は3)を実引数に関数kaitenboriを呼び出し、戻り値を変数up(値は2)に格納}
backToHome(up)
--{変数up(値は2)を実引数にbackToHomeを呼び出す}
for j = 1, 4 do
--{4回繰り返す}
turtle.place()
--{前方にブロックを置く}
turtle.turnLeft()
--{左に回転する}
end
--{for文終了}
turtle.up()
--{1マス上に移動する}
turtle.placeDown()
--{1マス下にブロックを置く}