18-2 海の中へ!

俯瞰図

解説動画

※回答のブロックIDは236→237、35→41が正しいです。v1.21では236→152、159→133になっています。

訂正

解答画像

※回答のブロックIDは236→237、35→41が正しいです。v1.21では236→152、159→133になっています。

解答コード

player.onChat("18-2", function () {
    while (agent.inspect(AgentInspection.Block, DOWN) != 57) {
        agent.move(FORWARD, 1)
        if (agent.inspect(AgentInspection.Block, DOWN) == 236 || agent.inspect(AgentInspection.Block, DOWN) == 22) {
            agent.turn(RIGHT_TURN)
        }
    }
})

※回答のブロックIDは236→237、35→41が正しいです。v1.21では236→152、159→133になっています。

教え方のポイント

  • 慣れないうちは「もし下のブロックがスイッチではないなら繰り返し」をなんどもステージ1の導入を見ながら作る。
  • 条件を良く整理させる(〇色と〇色ならどっちに、〇色と〇色ならどっちに曲がりたいか)

よくある間違い

  • 一番外側の「もし下のブロックがスイッチではないなら繰り返し」のスイッチの番号を間違えている
  • 一番外側の「もし下のブロックがスイッチではないなら繰り返し」の「ではない」を忘れている
  • 一番外側の「もし下のブロックがスイッチではないなら繰り返し」の中の一番上に入れないといけない「前に進む」が変な場所にある、もしくは存在しない。
  • 「エージェントにどんなブロックか下を確認させる」を入れないといけないのに、「エージェントにブロックがあるか下を確認させる」というプログラムを入れてしまっている。
  • 「もし〇〇なら」と「もし〇〇なら繰り返し」を間違えて入れている
  • 色の番号が間違っている
  • 進む方向が間違っている
  • 「または」の部分が「かつ」などになっている
  • 「または」の両サイドにうまく条件が入っていない