Lesson 39:交互に選ぶ道
「もし〜なら」を使い、今の状態や合言葉に応じて、メッセージやブロックを変える単元です。
🧠 この単元のゴール
条件が本当のとき・そうでないときの違いを予想し、反応する仕掛けをつくれる。
交互に選ぶ道
choose を実行するたび、青と黄色の道を交互に出す。
🖼 完成イメージ
※条件による反応の違いを示すMinecraft風イメージです。
🌱 今回わかること
条件のあとに値を更新して、次の結果を変える方法
🧰 はじめる前の準備
前方に空いた場所を取り、同じチャットを何回入力したか数えよう。第38回は壁を用意し、入口を開ける場所を確認してから実行する。
🪜 つくり方
- choice を1で作る。
- choice が1なら青を置いて2に変える。
- そうでなければ黄を置いて1に戻す。
- choose を2回実行し、色が交互になるか確かめる。
🔎 実行前に予想
条件は今、本当? どちらのメッセージ・ブロックが出る? 理由も言葉にしてみよう。
🧩 MakeCodeのブロック
MakeCodeブロックを読み込み中…
対応するTypeScriptコードを見る
let choice = 1
player.onChat("choose", function () {
if (choice == 1) {
blocks.place(BLUE_WOOL, posCamera(0, -1, 4))
player.say("青の道を選んだ")
choice = 2
} else {
blocks.place(YELLOW_WOOL, posCamera(0, -1, 4))
player.say("黄の道を選んだ")
choice = 1
}
})✅ 成功の見分け方
1回目は青、2回目は黄、3回目はまた青になる。
🎮 1か所だけ改造
青・黄を好きな2色に変え、自分の合言葉の道にしよう。
🆘 うまくいかないとき
| 困ったこと | 確かめること |
|---|---|
| いつも同じ反応になる | 条件の中の変数が、実行の最後で正しく変わっているか確認する。 |
| 門が開かない | 第38回は先に key、次に gate と入力したか確認する。 |
| スタートできない | 第40回は先に ready を1回入力しているか確認する。 |
保護者・先生へ:「もし〜なら」の前に、今の状態を子どもに予想させます。正解・不正解より、理由を聞くことを大切にします。
