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

Lesson 27:2つの窓

柱・窓・入口・屋根という部品を関数にし、同じ部品を組み合わせて建物らしい形をつくる単元です。

🧠 この単元のゴール

「部品をつくる命令」に名前をつけ、必要な場所で呼び出して使える。

Lesson 27建物の部品

2つの窓

🎯 ミッション

石の壁をつくってから、窓の部品を2回呼び出す。

🖼 完成イメージ

完成イメージ名前をつけた部品を呼び出して、形を組み立てよう※完成する部品の位置関係を示すMinecraft風イメージです。

🌱 今回わかること

土台をつくる処理と、飾りの部品を分ける方法

🧰 はじめる前の準備

前に8マス、上に5マスの空きがある平らな場所を選ぼう。壁や屋根が見やすいよう、正面を向いて実行する。

🪜 つくり方

  1. 最初に横5・高さ3の石の壁をつくる。
  2. 「windowBlock」という関数で、ガラスを1つ置く。
  3. windowBlock(-1) と windowBlock(1) を呼ぶ。
  4. 石の壁の中央にガラスが2つ見えるか確認する。

🔎 実行前に予想

関数を何回呼び出す? それぞれの部品はどこに現れる? 完成図を指さして予想しよう。

🧩 MakeCodeのブロック

MakeCodeブロックを読み込み中…
対応するTypeScriptコードを見る
function windowBlock(x: number) {
    blocks.place(GLASS, posCamera(x, 0, 4))
}
player.onChat("windows", function () {
    for (let x = -2; x <= 2; x++) {
        for (let y = -1; y <= 1; y++) {
            blocks.place(STONE, posCamera(x, y, 4))
        }
    }
    windowBlock(-1)
    windowBlock(1)
})

✅ 成功の見分け方

石の壁に、左右へ並んだガラスの窓が2つできる。

🎮 1か所だけ改造

窓の位置の -1 と 1 を -2 と 2 に変えると、窓はどう動く?

🆘 うまくいかないとき

困ったこと確かめること
部品が1つしか出ないチャットの中で、関数を必要な回数だけ呼び出しているか確認する。
部品の高さが合わない柱のくり返し回数と、屋根の上下の数字をセットで確認する。
入口を通れない第28回は空気にするブロックが下と上の2個になっているか確認する。

保護者・先生へ:「関数は部品の名前」と言い換え、同じ部品を何度も使える良さを、完成物と結び付けて話します。