26-4

完成形

解説動画

解答画像

解答コード

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

教え方のポイント

  • 難しい場合、まずは色なしで作るところから
  • 条件を良く整理させる(〇本目と〇本目なら〇色に、〇本目と〇本目なら〇色にしたいか)
  • ブロックの持たせ方に注意!
  • エージェントのアイテム欄に注意! ブロックがなくなっていないか、減っていないかをよく確認する。
  • 失敗するたびにエージェントのアイテムを確認する。
  • ※1番左上のスロットにアイテムがたまっている可能性がある。

よくある間違い

  • iの変数を宣言してしまっている
  • 繰り返しの数が間違っている
  • 変数Iと変数Jと変数Kの位置が間違っている
  • 転送元のスロット番号が間違っている
  • 転送先のスロット番号が間違っている
  • エージェントがブロックを持っていない
  • 一度失敗したときにエージェントの一番左上のスロットにブロックが残ってしまっている
  • 比べるブロックで「" ◯◯"= "◯◯"」の方を使ってしまっている場合がある(「"」がついていな方を使う)