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

Lesson 30:柱と屋根の正面

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

🧠 この単元のゴール

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

Lesson 30建物の部品

柱と屋根の正面

🎯 ミッション

柱の部品を2回、屋根の部品を1回使い、建物の正面をつくる。

🖼 完成イメージ

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

🌱 今回わかること

小さな部品を組み合わせて、1つの完成物にする順番

🧰 はじめる前の準備

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

🪜 つくり方

  1. pillar と roof の2つの関数を準備する。
  2. 左の柱 pillar(-2)、右の柱 pillar(2) を呼ぶ。
  3. 最後に roof() を呼ぶ。
  4. 2本の柱の上に屋根が渡っているか確認する。

🔎 実行前に予想

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

🧩 MakeCodeのブロック

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

✅ 成功の見分け方

左右の石の柱2本を、横5マスの木材の屋根がつないでいる。

🎮 1か所だけ改造

柱の高さを 3 から 4 に変えるなら、屋根の高さもどれだけ変える?

🆘 うまくいかないとき

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

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