---
# System prepended metadata

title: マイクラ検定 問題2 答え
tags: [マイクラ検定答え]

---

    local n = 3
    --{例：変数nに３を代入する}
    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マス下にブロックを置く}