デジタルこどもBASE特定非営利活動法人デジタルこどもBASE← 全50回の一覧
Unit 08第36〜40回

Lesson 38:かぎで開く門

「もし〜なら」を使い、今の状態や合言葉に応じて、メッセージやブロックを変える単元です。

🧠 この単元のゴール

条件が本当のとき・そうでないときの違いを予想し、反応する仕掛けをつくれる。

Lesson 38条件と反応

かぎで開く門

🎯 ミッション

key を先に入力したときだけ、gate で2ブロック高の入口を開ける。

🖼 完成イメージ

もし 条件 なら反応が変わる完成イメージ条件が本当かどうかで、結果を変えよう※条件による反応の違いを示すMinecraft風イメージです。

🌱 今回わかること

「かぎを持っている」という状態を条件に使う方法

🧰 はじめる前の準備

前方に空いた場所を取り、同じチャットを何回入力したか数えよう。第38回は壁を用意し、入口を開ける場所を確認してから実行する。

🪜 つくり方

  1. 前方に高さ2以上の壁を用意する。
  2. hasKey を false で作り、key のとき true にする。
  3. gate の中で、hasKey なら下と上を空気にする。
  4. 先に gate、次に key → gate の順で試し、違いを見る。

🔎 実行前に予想

条件は今、本当? どちらのメッセージ・ブロックが出る? 理由も言葉にしてみよう。

🧩 MakeCodeのブロック

MakeCodeブロックを読み込み中…
対応するTypeScriptコードを見る
let hasKey = false
player.onChat("key", function () {
    hasKey = true
    player.say("かぎを見つけた!")
})
player.onChat("gate", function () {
    if (hasKey) {
        blocks.place(AIR, posCamera(0, -1, 4))
        blocks.place(AIR, posCamera(0, 0, 4))
        player.say("門が開いた!")
    } else {
        player.say("まだかぎがないよ")
    }
})

✅ 成功の見分け方

key の前は開かず、key の後は中央に高さ2の空きができて通れる。

🎮 1か所だけ改造

入口を右へ1マス動かすには、空気にする左右の数をどう変える?

🆘 うまくいかないとき

困ったこと確かめること
いつも同じ反応になる条件の中の変数が、実行の最後で正しく変わっているか確認する。
門が開かない第38回は先に key、次に gate と入力したか確認する。
スタートできない第40回は先に ready を1回入力しているか確認する。

保護者・先生へ:「もし〜なら」の前に、今の状態を子どもに予想させます。正解・不正解より、理由を聞くことを大切にします。