18-5 サンゴ群生地
俯瞰図

解説動画
※回答のブロック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-5", function () {
while (agent.inspect(AgentInspection.Block, DOWN) != 57) {
agent.move(FORWARD, 1)
if (agent.inspect(AgentInspection.Block, DOWN) == 236) {
agent.turn(LEFT_TURN)
}
if (agent.inspect(AgentInspection.Block, DOWN) == 22 || agent.inspect(AgentInspection.Block, DOWN) == 159) {
agent.turn(RIGHT_TURN)
}
}
})
※回答のブロックIDは236→237、35→41が正しいです。v1.21では236→152、159→133になっています。
教え方のポイント
- 慣れないうちは「もし下のブロックがスイッチではないなら繰り返し」をなんどもステージ1の導入を見ながら作る。
- 条件を良く整理させる(〇色と〇色ならどっちに、〇色と〇色ならどっちに曲がりたいか)
よくある間違い
- 一番外側の「もし下のブロックがスイッチではないなら繰り返し」のスイッチの番号を間違えている
- 一番外側の「もし下のブロックがスイッチではないなら繰り返し」の「ではない」を忘れている
- 一番外側の「もし下のブロックがスイッチではないなら繰り返し」の中の一番上に入れないといけない「前に進む」が変な場所にある、もしくは存在しない。
- 「エージェントにどんなブロックか下を確認させる」を入れないといけないのに、「エージェントにブロックがあるか下を確認させる」というプログラムを入れてしまっている。
- 「もし〇〇なら」と「もし〇〇なら繰り返し」を間違えて入れている
- 色の番号が間違っている
- 進む方向が間違っている
- 「または」の部分が「かつ」などになっている
- 「または」の両サイドにうまく条件が入っていない
