マインクラフトのレッドストーン回路入門。プログラミング教育用に基礎の基礎を書いてみる
【本記事が累計100,000PVを超えました!(2020年10月)】
こんにちは、K研究員です。
プログラミング教育ではマインクラフトのレッドストーン回路が使われていて、マインクラフトカップでも使用が推奨されています。そのため、いろいろなサイトを見たのですが、そもそもマインクラフトの知識がなさ過ぎて全然わかりません。そこで私のようなマインクラフトに精通していない人向きにレッドストーン回路を解説していこうと思います。
こちらのブログにある噴水づくりもやっていければと思います。
0.レッドストーンの前に・・・
我々のようなプログラミング教育勢は、マインクラフトを1時間ぐらいしかやったことがないので、いきなりレッドストーンを使うと混乱してしまいますから、それ以前からスタートします。
マインクラフトのブロックの中にはレバーを隣に置くと、何か起こるものがあります。例えば鉄のドアが空いたり閉まったり、線路は切り替えたりできます。TNTは爆発させられます。図ではもう爆発してしまいましたが。
このように便利なレバーですが、何かを起こしたいものの隣に置く必要がありますし、一つのレバーで離れたところにある複数のドアを開閉したりはできません。自動で動かすこともできません。え?別にそんなことしたくない?そんなことを言うと話が終わってしまいますが、レッドストーンを使うとそういうことができます。
-ここまでのまとめ-
レッドストーン回路はレバーなどでできる操作を、遠くからやったり、複数同時にやったり、自動でやったり、いろいろできるよ。
1.レッドストーンの粉
レッドストーンには粉みたいな見た目の「レッドストーン」(レッドストーンパウダー)とレッドストーンブロック、レッドストーンのたいまつなどいろいろなものがありますが、基本は粉を使います。粉なんて撒いておいても雨や風で飛ばされそうですが、この世界ではこれが回路になります。レッドストーンの粉は一つだけ地面に撒くと十字の形をしていますが、いくつか撒くと自然と道のようにつながります。
図のようにレバーと動かしたいものの間をレッドストーン粉でつなぎます。そうしてレバーをオンにすると、レッドストーンの粉が光ってドアが空いたり、線路が切り替わったりします。
爆弾は爆発してしまったので今はやめておきますが同じように動きます。これで遠くからドアを開けたりできるようになりました。
2.複数のドアを同時に開けたりする
レッドストーンの粉は分岐させられるので図のようにつなげれば複数のドアを同時に開けられます。ここで注意点として、レッドストーンの粉がドアに向かっていないと動かないのでうまく向きを作ることが必要です。
左右のドアを同時に開けたりするとかっこいいですかね?
そうでもない?複数の爆弾を一度に起爆したりするのも爽快かもですね。子供に教える時は爆弾は喜ぶと思います。
3.レッドストーン信号を発するものはいろいろある
今までレッドストーンを赤くして動かすのに、レバーだけを使っていましたが、ボタンや日照センサーなどでも動かすことができます。
このレッドストーン回路に電流を流すような働きをレッドストーン信号といい、赤いときはオン、茶色いときはオフと言ったりします。レッドストーン信号を発するものはいろいろあります。日照センサーを使えば夜は入れないお城も作れるわけです。
4.なんか難しいレッドストーンたいまつ
非常に重要なアイテムにレッドストーンのたいまつというものがあります。これは応用次第でレッドストーン信号をオンからオフにしたり、上方向に信号を伝搬したりできるのですが、正直、理解が難しいです。いろいろ試して、なんとなくこう動くのかなと理解するのがよさそうです。ただし、ここはちょっと難しいのでわからなかったら7.に行って試してから戻ってきてもOKです。
説明すると、レッドストーンのたいまつには次の二つの機能があります。
1.たいまつがついているとき(赤いとき)はレッドストーン信号がONになっている。つまり、レバーをオンにしたのと同じように隣にレッドストーンがあるとオンになる。
2.ブロックにくっついているレッドストーンたいまつをくっつけ、オンのレッドストーン信号を送るとたいまつが消える。つまりレバーとたいまつが逆になるようになる。
(こんなにくっつけるひつようはないが)
この性質を利用すると、たいまつがくっついた石ブロックを間に挟むと信号を逆転することができます。
5.Not回路
信号を逆転する回路は電子回路の世界ではNot回路と呼ばれます。ついに回路っぽくなってきました。これを使うとこんな感じで、オンにすると逆に閉じるドアが作れます。そうすると何がいいかというと、回路を分岐させれば、どっちかしか開かないドアが作れるわけです。AかBか究極の選択が実現できるわけです。
オンはオフになり、
オフはオンに反転する。
どっちかしか開かないドア。レバーをオンにすると上が開く。
6.レッドストーンのたいまつで信号を上に伝搬する
レッドストーンのたいまつを使うと信号を上(高さ方向)に伝えることができます。こんな感じで、石、たいまつと置くと、信号がONだとたいまつが消えるものが作れます。
さらにその上に石、たいまつを置くと、下のたいまつが消えていると、上のたいまつがつく(反転するので)回路が作れます。つまり逆の逆でレバーと同じ信号が伝わることになります。
これで3段上に信号が伝わりました。
信号をONのまま伝えるには偶数回反転する必要があります。
7.やっと出したり止めたりできる噴水がつくれる?
これまでの応用として、上のブログを参考にレバーで出したり止めたりできる噴水を作るのですが、0節で書いたように、レッドストーン回路はレバーを遠くからできるようにしているだけなので、レバーでも動くはずです。やってみましょう。まず「発射装置」ブロックに「水バケツ」を入れます。
そして発射装置の隣にレバーを置きます。
発射装置はレバーをオンにすると水バケツを使ったのと同じ動作を行います。つまりオンにすると水が出ます。
水が出ると水バケツは空のバケツになります。レバーをオフにしてもう一度オンにすると、今度は空のバケツが使われるので、水がなくなります。
このようにレバーで水を出したり止めたりできます。これを回路でやれば噴水の完成ですね?
8.ところが簡単にはうまく行かない
では発射装置とレバーの間をレッドストーン粉でつないでみます。
そして、レバーをオン!
確かに水が出てきましたが、粉が水に流されてアイテム化してしまいましたw。これではレバーを切り替えても水が止められないですね。
だからなぜ粉で回路を作るのかと。。。
9.流されないように頑張る
そこで粉が流されないように粉の一段上に囲いを作って、粉に水が来ないようにして、レッドストーンのたいまつで下から信号を下から伝えます。6.を参考に、
こういうのをつくって、
流されないように水が溜まるプールをつくる。
今度こそ!
あ、今度はたいまつが流されてしまった。
そこでたいまつも水がかからないようにブロックで覆い隠す。
完成!
レバーを入れなおすと水が止まります。不格好ですが、かっこよくするのはがんばればできるので割愛。日照センサーにしたり、ボタンにしたりいろいろ楽しんでください。
10.まとめ
いかがだったでしょうか。世の中にはマインクラフトが得意な方向けの記事は多いですが、この記事ではほとんどやったことがない人でもわかるように図を多めに入れてみました。わからないところや難しいところがあればコメントいただければと思います。
次回はこちらでレッドストーンコンパレーターを使った、クロック回路について紹介しています。
他にもマインクラフトで気になることがある、詳しい人に聞いて解決したい、という方は
ではまた。