【マイクラ】プログラミングで「ドア開閉スイッチ」を作る!【メイクコード】

今回の内容

「レバーで開け閉めできるドア」プログラムを作る

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

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

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

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

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

今のお家は自動ドアなのだけど、自分の好きな時に開け閉めできるドアに変更したいのだ

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

なら今回は「レバーで開け閉めできるドア」を作ってみよう!

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

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

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

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

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

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

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

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

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

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

仕掛けを作ろう

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

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

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

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

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

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

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

初めに、入口の近くに《石》を置いてその上にレバーを好きな向きで置いてね

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

置けたのだ

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

そしたら、《石》の下に《吸着ピストン》と《ダイヤモンド》をくっつけるよ

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

あとは、レバーを動かしたときにピストンが飛び出れば仕掛けは完成!

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

ピストンが飛び出したから大丈夫なのだ!

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

それじゃあ次は座標を確認していくよ!

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

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

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

ポイント!

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

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


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

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

僕の所だと[87,-63,30]なのだ。 座標も確認したし、穴を埋めておくのだ

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

穴を埋めるときはピストン装置が動くように、《ダイヤモンド》の移動先は空けておいてね

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

穴を埋めたら、次はドアを作る範囲の座標を2つ調べていくね

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

ドアの範囲は、ドアの「右下と左上」になるよ。 対角線上に置ければいいから、「左下と右上」でもOK!

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

わかったのだ。 今回は「幅3×高さ3」のドアを作るのだ

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

僕の所だと左上の座標は[86,-58,33]、右下の座標は[84,-60,33]だったのだ!

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

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

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

コードを準備しよう

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

それじゃあコードを準備していくね。今回は【《ブロック》が[~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]の地点に存在するか、確認する】に組み合わせてから、【もし〈真〉なら~、でなければ~】に組み合わせるのだ

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

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

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

次はドアの部分を作ったり消したりするプログラムだね!

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

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

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

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

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

それじゃあ、始まりの範囲に[86,-58,33]を、終わりの範囲に[84,-60,33]を入力するのだ

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

そこまでできたらそれを複製して、並べるブロックを《空気》と《石》にしよう

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

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

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

そうだね。 今回は「《ダイヤモンド》が指定した座標にある」なら「《空気》を並べる」んだよね

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

だったら、《空気》を並べるプログラムを条件をつけた部分に、《石》を並べるプログラムを「でなければ」のところに組みあわせて…

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

これで完成なのだ!

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

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

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

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

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

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

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

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

プログラムを動かそう!

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

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

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

「レバーを動かすとドアが開いて、戻すとドアが閉まる」なら今回の目標は達成だね!

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

大丈夫だったのだ!

さいごに

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

おつかれさま! 今回は「レバーで開け閉めできるドア」プログラムを覚えたね!

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

これで、気分によって自動型とレバー型を切り替えて使えるのだ!

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

今回作った装置はいろいろな仕掛けに使えるから、ぜひ覚えておこう!

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

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

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

問題1

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

今回作ったプログラムを複製して、レバーのオンオフを逆(オフでドアが開き、オンで閉まるよう)に変更しよう! ただし、座標は変更しないでね!

ポイント!

どこの座標を変更するか考えてみよう!

問題2

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

今回作ったプログラムを複製して、レバーのオンオフを逆(オフでドアが開き、オンで閉まるよう)に変更しよう! ただし、座標だけを変更してね!

ポイント!

座標を変更せずに逆にするにはどうするか考えてみよう!

問題3

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

レバーの装置を使って高さが2ブロック分の落とし穴を作成してみよう!

おすすめ記事