17-3 オブジェを作ろう!「黄色と赤の板」

完成形

解説動画

解答画像

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



解答コード

player.onChat("17-3", function () {
    let num = 0
    for (let i = 0; i < 5; i++) {
        for (let j = 0; j < 5; j++) {
            if (num == 2) {
                agent.transfer(1, 10, 1)
            } else {
                agent.transfer(1, 19, 1)
            }
            agent.place(FORWARD)
            agent.move(LEFT, 1)
        }
        agent.move(RIGHT, 5)
        agent.move(UP, 1)
        num += 1
    }
})

教え方のポイント

  • ブロックの持たせ方に注意!
  • エージェントのアイテム欄に注意! ブロックがなくなっていないか、減っていないかをよく確認する。
  • 失敗するたびにエージェントのアイテムを確認する。
  • ※1番左上のスロットにアイテムがたまっている可能性がある。

よくある間違い

  • 変数を作る(初期値設定)プログラムがない
  • 変数を変えるプログラムがない
  • 変数を変えるタイミングがおかしい
  • 変数自体がプログラムに入っていない
  • 変数を作るプログラムと変数を変えるプログラムを見間違えている
  • 2個目の形を作るときに次の作る位置まで戻ってきていない
  • (例:上に向かって棒を作ったのに、次の繰り返しの前に下に戻ってくるプログラムがない)
  • 2個目の形を作り、次の場所に移動するときに1個目の形にぶつかってしまっている。
  • (変数を何種類か作っちゃっている場合)変数を作るプログラム、変数を変えるプログラム、変数自身の名前があっていない。別の変数になっている。
  • 条件の「変数=〇」の丸の部分が間違っている
  • 転送元のスロット番号が間違っている
  • 転送先のスロット番号が間違っている
  • エージェントがブロックを持っていない
  • 一度失敗したときにエージェントの一番左上のスロットにブロックが残ってしまっている