【マイクラ】プログラミングで「照明が一気につくスイッチ」を作る!【メイクコード】

今回の内容

おすすめ記事

「レバーでオンオフできる照明」プログラムを作る

春日部つむぎキャラアイコン
春日部つむぎ

やっほー 春日部つむぎだよ

ずんだもんキャラアイコン
ずんだもん

なのなのだ ずんだもんなのだ

ずんだもんキャラアイコン
ずんだもん

部屋を明るくするために照明をつけるスイッチを作りたいんだけど、回路を置く場所もないし道具が足りなくてできないのだ…。

春日部つむぎキャラアイコン
春日部つむぎ

そんな時はプログラミングを使うと場所も道具も少なく済むよ!

ずんだもんキャラアイコン
ずんだもん

そうなのだ?! それなら教えてほしいのだ!

春日部つむぎキャラアイコン
春日部つむぎ

それじゃあ『マイクラ』と『メイクコード』を準備してプログラミングを始めよう!

  • 『MineCraft(マインクラフト)』はMicrosoftが提供しているサンドボックスゲームです。プレイヤーはブロックを積み上げて建物を作り上げたり、広い世界を冒険してモンスターと戦うことができます。メイクコードを使ってプログラミングをするためには統合版が必要です。
  • 『MakeCode(メイクコード)』はMicrosoftが提供するオープンソースのプログラミング学習プラットフォームです。ブロックを使ったビジュアルコーディングとJavaScriptによるテキストコーディングの2種類のエディタを切り替えながら、プログラミングできます。

『マイクラ』で準備をしよう

春日部つむぎキャラアイコン
春日部つむぎ

まずは『マイクラ』の方準備をしていくね!

春日部つむぎキャラアイコン
春日部つむぎ

今回は「仕掛けの作成」と、「仕掛けの座標を確認」するよ!

春日部つむぎキャラアイコン
春日部つむぎ

今回はお家の作り方は解説しないから、みんなの好きな形で作っておいてね!

仕掛けを作ろう

春日部つむぎキャラアイコン
春日部つむぎ

まずは、照明をつけたい場所のブロックをお家に使っていない材質の物に変更してくれるかな?

ずんだもんキャラアイコン
ずんだもん

わかったけど、どうしてなのだ?

春日部つむぎキャラアイコン
春日部つむぎ

今回のプログラムは「スイッチがオンなら指定したブロックを《海のランタン》に置き換えて、オフなら元に戻す」ように作るんだ

ずんだもんキャラアイコン
ずんだもん

なるほどなのだ! さっそくお家の天井5カ所を《クォーツ》変更してきたのだ!

春日部つむぎキャラアイコン
春日部つむぎ

ありがとう! それじゃあ次はスイッチを作っていくね

春日部つむぎキャラアイコン
春日部つむぎ

「《粘着ピストン》、《レバー》、好きなブロック」を1つずつ用意してね

ずんだもんキャラアイコン
ずんだもん

わかったのだ! 好きなブロックは《ダイヤモンド》を使うのだ!

春日部つむぎキャラアイコン
春日部つむぎ

準備ができたら、レバーを使うと粘着ピストンが動くようにブロックを置いていくよ

春日部つむぎキャラアイコン
春日部つむぎ

今回は入口の向かい側に置くけど、粘着ピストンが動けば置く場所はどこでもOK!

ずんだもんキャラアイコン
ずんだもん

レバーを引いたときにピストンが飛び出したから大丈夫なのだ

春日部つむぎキャラアイコン
春日部つむぎ

これで仕掛けの作成は終わり! 次は座標を確認していくね!

仕掛けの座標を確認しよう

春日部つむぎキャラアイコン
春日部つむぎ

まずは、レバーを動かしたときに《ダイヤモンド》が来る座標を確認しよう

ポイント!

座標とはプレイヤーの場所を表すもの(足元の場所)です

『マインクラフト』では座標はx座標(東西)、y座標(高さ)、z座標(南北)の3つがあり、[x,y,z]の順番で表示されています。


「-」記号のついた数字は、ついていない数字の反対方向になる場所と覚えておきましょう!

ずんだもんキャラアイコン
ずんだもん

僕の所だと[3,-59,-14]なのだ

春日部つむぎキャラアイコン
春日部つむぎ

確認できたね。 それじゃあ次は、家全体を範囲にするための座標を2つ調べていくね

春日部つむぎキャラアイコン
春日部つむぎ

1つめは、スイッチに近い角の下側の座標を確認してみて

ずんだもんキャラアイコン
ずんだもん

1つめは[5,-61,-11]なのだ

春日部つむぎキャラアイコン
春日部つむぎ

2つめは、真反対の角の上側の座標を確認してくれるかな

ずんだもんキャラアイコン
ずんだもん

2つめは[-5,-53,-3]なのだ

春日部つむぎキャラアイコン
春日部つむぎ

ここまでできたら準備完了! あとは『メイクコード』に切り替えてプログラミングしていくよ!

プログラミングをはじめよう

コードを準備しよう

春日部つむぎキャラアイコン
春日部つむぎ

それじゃあコードを準備していくね。今回は【《ブロック》が[~0,~0,~0]の地点に存在するか、確認する】【次の《ブロック》に置き換える】【ワールド[0,0,0]】【ずっと】【もし〈真〉なら~、でなければ~】を使うから準備しておいてね

コードは画面左にある項目のように分かれています。今回必要となるブロックと対応する項目は以下の通りです。

  • ブロック   ⇨ 【《ブロック》が[~0,~0,~0]の地点に存在するか、確認する】【次の《ブロック》に置き換える】
  • ポジション  ⇨ 【ワールド[0,0,0]】
  • ループ  ⇨ 【ずっと】
  • 論理  ⇨ 【もし〈真〉なら~、でなければ~】
ずんだもんキャラアイコン
ずんだもん

準備ができたからプログラミングを始めるのだ

コードを組み合わせていこう

メイクコードでは以下のようにブロックを組み合わせてプログラミングしていきます。

  • 凹凸のついたブロックは組み合わせられます
  • 入力・選択部分が丸い形やをしているものは同じ形のコードをはめ込めます

凹凸の付いたブロックを組み合わて作る大まかな動きと入力・選択欄を変更して詳細な動きを設定していくのが、プログラミングの基本となります。

春日部つむぎキャラアイコン
春日部つむぎ

まずは【ずっと】と【もし〈真〉なら~、でなければ~】を組み合わせよう

ポイント!

【もし〈真〉なら~、でなければ~】のコードは、〈真〉の部分に条件を付けてそれが正しいかどうかを判定するものです。

条件が正しい(真)なら組み合わさっているコードが動作し、条件が間違っている(偽)なら「でなければ」の部分が動作します。

春日部つむぎキャラアイコン
春日部つむぎ

それができたら、【もし〈真〉なら~、でなければ~】に条件をつけるね。 今回は「レバーを引いたときに《ダイヤモンド》がワールドの決まった位置にあるかないか」を条件にするね。

ずんだもんキャラアイコン
ずんだもん

あるかないかを判定するには【《ブロック》が[~0,~0,~0]の地点に存在するか、確認する】を使うのだ

ポイント!

【《ブロック》が[~0,~0,~0]の地点に存在するか、確認する】のコードは、指定したブロックが入力した座標にあるかを判別するものです。

単体では使えず他のコードと組み合わせて使用します。

春日部つむぎキャラアイコン
春日部つむぎ

今回はワールド座標で場所を確認するから、【ワールド[0,0,0]】と組み合わせて使おう

ポイント!

普通の座標指定([~0,~0,~0]表記)では自分が今いる位置が基準になり、ワールド座標指定([0,0,0]表記)ではそのワールドの座標が基準になるという違いがあります

春日部つむぎキャラアイコン
春日部つむぎ

それと、他にもワールド座標を使う所があるからあと2つ複製しておいてくれるかな?

ずんだもんキャラアイコン
ずんだもん

わかったのだ。 複製はコードを右クリックして出てくるメニューからできるのだ

ずんだもんキャラアイコン
ずんだもん

複製ができたから【《ブロック》が[~0,~0,~0]の地点に存在するか、確認する】に組み合わせてから、【もし〈真〉なら~、でなければ~】に組み合わせるのだ

ずんだもんキャラアイコン
ずんだもん

あとは、ブロックを《ダイヤモンド》にして、さっき調べた座標[3,-59,-14]を入力すれば条件は完成なのだ!

春日部つむぎキャラアイコン
春日部つむぎ

次は照明になるブロックを置くプログラムだね!

春日部つむぎキャラアイコン
春日部つむぎ

まずは、さっき複製した2つの【ワールド[0,0,0]】コードを【次のブロックに置き換える】に組み合わせるよ

春日部つむぎキャラアイコン
春日部つむぎ

次は今できたプログラムを複製するんだけど、複製すると入力している座標とかもそのままコピーされるから、先に入力しておこう!

ずんだもんキャラアイコン
ずんだもん

それじゃあ、始まりの範囲に[5,-61,-11]を、終わりの範囲に[-5,-53,-3]を入力するのだ

春日部つむぎキャラアイコン
春日部つむぎ

そこまでできたら、「置く」ブロックと「置き換えられる」ブロックを設定していくね

春日部つむぎキャラアイコン
春日部つむぎ

置くブロックは「次のブロックに置き換える」のところにあるブロックのアイコンで、置き換えられるブロックは「置きかえるブロック」のところにあるブロックのアイコンだよ

春日部つむぎキャラアイコン
春日部つむぎ

今回は「《クォーツ》を《海のランタン》に置きかえる」のと「《海のランタン》を《クォーツ》に置きかえる」の2種類が必要だよ

ずんだもんキャラアイコン
ずんだもん

どっちも「置きかえる」って書いてるからややこしいのだ…

春日部つむぎキャラアイコン
春日部つむぎ

たしかにそうだよね…。 ただこれはもう「置きたいブロックは上側」って覚えるしかないかな…。

ずんだもんキャラアイコン
ずんだもん

まぁ仕方がないのだ…。 とにかく、2種類作るのだ

ずんだもんキャラアイコン
ずんだもん

できたのだ。 これを【もし〈真〉なら~、でなければ~】と組み合わせるのだね!

春日部つむぎキャラアイコン
春日部つむぎ

そうだね。 今回は「《ダイヤモンド》が指定した座標にある」なら「《クォーツ》を《海のランタン》に置き換える」んだったよね

ずんだもんキャラアイコン
ずんだもん

だったら、置き換えの上側ブロックが《海のランタン》の方を条件をつけた部分に、上側が《クォーツ》の方を「でなければ」のところに組みあわせて…

ずんだもんキャラアイコン
ずんだもん

これで完成なのだ!

春日部つむぎキャラアイコン
春日部つむぎ

それじゃあ実際にプログラムを動かしてみよう!

春日部つむぎキャラアイコン
春日部つむぎ

動かすには右下のスタートボタンを押して、ボタンの色が緑色から赤色になったら準備完了!

春日部つむぎキャラアイコン
春日部つむぎ

あとは『マイクラ』でプログラムを動かすために決めた条件の行動をすればOK!

ずんだもんキャラアイコン
ずんだもん

動かす前にはプログラムが合っているか最終確認しておくのだ!

プログラムを動かそう!

ずんだもんキャラアイコン
ずんだもん

スイッチのオンオフを切り替えてプログラムを動かしてみるのだ

春日部つむぎキャラアイコン
春日部つむぎ

「レバーを下すと電気がついて、上げると電気が消える」なら今回の目標は達成だね!

ずんだもんキャラアイコン
ずんだもん

大丈夫だったのだ!

さいごに

春日部つむぎキャラアイコン
春日部つむぎ

おつかれさま! 今回は「レバーでオンオフできる照明」プログラムを覚えたね!

ポイントまとめ
  • ブロックの置き換え方を覚えておこう!
  • プログラムを動かす条件の作り方を覚えておこう!
  • ブロックが指定の座標にあるかを確認する方法を覚えておこう!
ずんだもんキャラアイコン
ずんだもん

部屋が明るくなって本も読みやすくなったのだ!

春日部つむぎキャラアイコン
春日部つむぎ

今回は置き換えの範囲をお家全体にしているから、《クォーツ》や《海のランタン》を使うときは注意してね!

春日部つむぎキャラアイコン
春日部つむぎ

最後に練習問題を用意してみたから、よかったら挑戦してみてね!

プログラムを変更してみよう!

問題1

春日部つむぎキャラアイコン
春日部つむぎ

今回作ったレバーの仕掛けの場所を入り口側に変更して、プログラムが動くようにしよう! もし初めに入り口側に作っていたら、向かい側に変更してね!

ポイント!

位置を変えた後は《ダイヤモンド》の座標を再確認しよう!

問題2

春日部つむぎキャラアイコン
春日部つむぎ

照明のブロックを《グロウストーン》と《岩盤》に変更して、スイッチがオフの時に《グロウストーン》に置き換えるようにしてみよう!

ポイント!

天井に置いているブロックも変更が必要なことに注意しよう!

問題3

春日部つむぎキャラアイコン
春日部つむぎ

問題2で作ったプログラムの置き換えの範囲を家全体から天井だけに変更してみよう!

ポイント!

部屋の中に《グロウストーン》を置いて、置き換わらないか確認しよう!