23-1 沼地入り口

俯瞰図

解説動画

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

解答画像

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

解答コード

player.onChat("23-1", function () {
    red = 0
    while (!(agent.detect(AgentDetection.Block, FORWARD))) {
        agent.move(FORWARD, 1)
        if (agent.inspect(AgentInspection.Block, RIGHT) == 237) {
            red += 1
        }
    }
    if (red > 4) {
        agent.move(RIGHT, 1)
    } else {
        agent.move(LEFT, 1)
    }
})

変数が変化しているか確認する方法


教え方のポイント

  • 一個のプログラムで両方のステージをクリアできるようにしてもらう
  • 一度間違えた場合、片方のステージをクリアしていたとしても、もう一度両方のステージを「Go」してもらうようにする

よくある間違い

  • 変数を作る(初期値設定)プログラムがない
  • 変数を変えるプログラムがない
  • 変数を変えるタイミングがおかしい
  • 変数自体がプログラムに入っていない
  • 変数を作るプログラムと変数を変えるプログラムを見間違えている
  • 色の番号が間違っている
  • 「かつ」の部分が「または」などになっている
  • 「かつ」の両サイドにうまく条件が入っていない
  • 最終的に右に曲がるか左に曲がるか間違っている
  • 最後の判定するブロックを繰り返しの中に入れてしまっている
  • 左右を数えないといけないのに片方しか数えていない
  • エージェントが確認する向きが間違っている
  • 不等号の向きが逆になっている
  • 色の数字と色を確認するための変数が一致していない