解説動画
解答画像

解答コード
player.onChat("5-5A", function () {
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 2; j++) {
for (let k = 0; k < 3; k++) {
agent.place(FORWARD)
agent.move(UP, 1)
}
agent.move(DOWN, 3)
agent.move(RIGHT, 1)
}
agent.move(LEFT, 2)
agent.move(BACK, 2)
}
})
player.onChat("5-5B", function () {
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
for (let k = 0; k < 2; k++) {
agent.place(FORWARD)
agent.move(RIGHT, 1)
}
agent.move(LEFT, 2)
agent.move(UP, 1)
}
agent.move(DOWN, 3)
agent.move(BACK, 2)
}
})
教え方のポイント
- すべてのステージで「エージェントにブロックを置かせる」は一つしかないことを伝えてみる
- 同じ形は同じ位置から同じ方向に作れば一緒のプログラムになるように考えさせてみる
- 一つ目の形を作った後の場所と次の形を作り始める場所を意識させる
- ※一つ目の形だけでGOしてみて場所を見る→2個目はどこから作りたいかを聞いてみる
- エージェントのアイテム欄に注意! ブロックがなくなっていないか、減っていないかをよく確認する
よくある間違い
- 2個目の形を作るときに次の作る位置まで戻ってきていない
- (例:上に向かって棒を作ったのに、次の繰り返しの前に下に戻ってくるプログラムがない)
- 2個目の形を作り、次の場所に移動するときに1個目の形にぶつかってしまっている
- エージェントがブロックを持っていない