1日1時間は子どもにプレイさせたい!『マインクラフト』は最強のプログラミング教材だった!?【世界一頑張らないプログラミング術】
「2020年度から小学校でプログラミング教育が必修化」とニュースになってから、にわかに活気づいた「プログラミング教育」。遊びながらプログラミングを学べる「プログラミングトイ」が発売されるわ、「プログラミング教室」に通う小学生が増えるわで、世の中ちょっとしたプログラミングバブルだ。「乗り遅れた!」「でも自分、文系だし……」と漠然とした不安を感じているあなた! この特集を読めば不安も解消。そう、プログラムってものすごく簡単な話だったんです。
1日1時間プレイすべきなMinecroft
2009年に発売されたマインクラフトは、9年経過した今でも進化し続けている。子どもだけではなく、大人の心もわしづかみにする「マイクラ」は、子どものプログラム教育に最適な教材なのだ。
スマホ版なら820円だし幼稚園児でも遊べる
子どもがずっとゲームをやっていて、やめろと言っているのにやめない。そのゲーム、ゲーム機ごと捨ててやる!
子どもを持つ親あるあるだが、ちょっと待ってほしい。そのゲームが「Minecraft(マインクラフト)」、略してマイクラだったら、子どもに1日1時間はプレイさせたい「教材」なのだ。
マイクラは、世界(ワールド)を探索したり、建物を建てたり、モンスターと戦ったりできるゲームだ。敵がいる世界で生き抜く「サバイバル」モードや、自分の世界を楽しむ「クリエイティブ」モードなどがある。
クリエイティブモードには「魔王を倒す」ような「ゲームの最終目的」は存在せず、基本的にプレイヤーはその世界で何をしてもかまわない。このようなゲームをサンドボックス(箱庭)ゲームと呼ぶ。
また、ゲーム内のキャラクターの外見(スキン)や、ブロックやアイテムなどの外見(テクスチャ)を変える画像を追加でダウンロードでき、ワールドを自分好みにカスタマイズできる。
マイクラのワールドは「木材」「石」「草」などの「ブロック」と、「リンゴ」「矢」などの「アイテム」で構築されており、それぞれに役割がある。プレイヤーはブロックやアイテムの設置や組み立て、破壊が自由にできる。木材や石を積み上げて家を建てる、武器を作って友達と戦うなど、何をしてもいい。
このマイクラが「教材」であるといえる要素のひとつが「レッドストーン回路」に関連する各種アイテムだ。これはマイクラで組み上げたブロックに機械的な要素を組み込むもので、さまざまな操作を自動化したり、遠隔から操作したりすることができるようになる。
レッドストーン回路とアイテムはワイヤーで接続し、動力を通せる。また、「スイッチ」アイテムで動力のオン・オフを切り替えることができる。
そう、レッドストーン回路の接続は、プログラムそのものなのだ。
たとえば、「矢を自動的に発射する装置があったら便利だな」と思い浮かび、そのためにはどのようなアイテムとレッドストーン回路を繋げばいいかを考え、試し、結果を出す。
「もちろん、自分で思い描いた結果が発生しないこともよくあります。そのときに、なぜ結果が発生しないのか調べて、エラーを自分で解決する。これが、問題解決能力を鍛えることに直結するのです」(プログラミング教室Beans代表 曽根 芙美恵先生)。
2020年から小学校で必修化される「プログラム」では、技術ではなく、「プログラミング的思考」、つまり論理的思考能力と問題解決能力を学ぶ。マイクラはプログラミング的思考を鍛える、最適な教材というわけだ。
さらに、JAVA EDITIONのみに提供されている「Computer Craft Edu」というMod(ネットの有志が作った追加機能)をインストールすると、マイクラの世界で絵文字のパネルを組み合わせることにより、複雑なプログラミングができる。
iOS版などで「レッドストーン回路の作成」に慣れたら、JAVA EDITIONに移行してもいいだろう。実際にプレイしてみると、何でもできるのでとまどうが、徐々に広がる世界に病みつきになるはず。さあ、子どもと一緒にマイクラの世界に飛び立とう!
マルチプレイができるから友達と同じ世界で遊べる
マイクラの醍醐味のひとつが「マルチプレイ」。友達のワールドにインターネット経由でお邪魔して、一緒に作業をしたり、冒険に出たり、時には戦ったりできる。友達と一緒に建造物を作りまくるのが超楽しい。
自分が住むワールドを進化させることができる
ゲーム開始時は単に広いだけだった平原に、家や城を建てたり、街を作ったりしてどんどんワールドを広げることができる。また、未知の土地に冒険に出て、その土地に畑や牧場などを作って開拓することも自由にできる。
条件、分岐、結果を常に意識できる
全ハード対応 初級編
矢が飛ぶ装置を作ってみよう
早速、子どもとマイクラでプログラミング的な仕組みを作ってみよう! 始めの一歩は、レッドストーン回路を使った矢の発射装置をオススメしたい。簡単な手順で、プログラミングの基本である「条件=入力(レバーをONにする)」と「結果=出力(矢が飛び出す)」を体感的に理解できるからだ。なお、レッドストーンは、探検しながらアイテムを収集していく”サバイバルモード”では入手しづらいアイテムであるため、最初からすべてのアイテムが使用できる”クリエイティブモード”で行うこと。
まずはアイテム画面を立ち上げて発射装置(ディスペンサー)を選ぶ。タブレットの場合はタップすればOKだ。その後、自分の持ち物一覧(スロット)をタップすれば「発射装置」が自分のスロットに入る。同様に、レッドストーン、レバー、矢を自分のスロットに入れる。
レバーをONにしたときに3つの発射装置(ディスペンサー)から同時に矢が飛び出す装置を作ろう。レッドストーン回路は左のようになる。回路を繋ぐときは、誤発射防止のためレバーをOFFにした状態で作業しよう。レッドストーンはマス目に沿って置いていくと自動的に回路化するので、途切れたり、繋ぎ間違えたりしないように注意が必要だ。また、すべての発射装置の射出口において、向きが前になるように揃えて置くこと。この装置の目的は、前から来た敵を撃退することを想定しているからだ。
「レッドストーン回路」の作成がプログラミング的思考の基本です。
回路が繋がったら、発射装置(ディスペンサー)に矢をセットする。発射装置(ディスペンサー)をタップすると、発射したいアイテムを入れることができるので、自分の持ち物から矢を移動して装置の中に入れておく。左図ので矢をタップしてから、をタップすれば発射装置(ディスペンサー)の中に矢が入る。このとき、矢の数が少ないと発射できる回数が少なくなってしまうので、64本くらい入れておくと安心だ。今回の設計では、発射装置(ディスペンサー)は3つあるため、それぞれに矢を64本ずつ格納すること。
レバーをONにして、設計通りに発射装置(ディスペンサー)から矢が飛び出すか確認してみよう。このとき、レッドストーン回路がすべて赤褐色から明るい赤に変わっていれば、回路がつながっているということになる。もし、明るい赤になっていない部分があったら、どこかで回路が途切れている状態なので、STEP2の画像と同じようにレッドストーン回路が置かれているかチェックしよう。
うまく発射されないときは回路を見直して改善することがプログラミングの勉強に繋がります。
全ハード対応 中級編
「自動敵迎撃装置」を作ってみよう
今度は、装置を少し発展させて、敵が発射装置(ディスペンサー)の前に来たら、自動的に矢が飛ぶ仕組みに挑戦してみよう。敵が来たかどうかは、感圧板というアイテムを使うことで、その上に敵が乗った場合に判別することができる。プログラミング用語では、設定した条件によって結果が変わることを、「条件分岐」と呼ぶ。今回の条件は、「敵が感圧板を踏んだかどうか」ということになる。
感圧板は、プレイヤーやMob(プレイヤー以外の人物など)、アイテムなどを検知する特殊なブロックだ。プレイヤーを襲ってくる敵対Mobだけでなく、牛や豚、村人といった非敵対Mobが乗った場合にも反応するので、アイデア次第でさまざまな使い方ができる。
初級編の回路と見比べてみよう。発射装置(ディスペンサー)の手前に、レッドストーン回路が繋がっていることがわかる。これは、感圧板を踏んだ敵に対して矢が飛ぶ仕組みにする必要があるからだ。また、敵の存在を判定する範囲を広げるために、感圧板も3つ設置しておこう。この回路作りをマスターしたら、発射装置(ディスペンサー)と感圧板の数を増やすことで、より強力な装置にカスタマイズすることも可能だ。3つの発射装置(ディスペンサー)には、前回同様に、それぞれ矢を64本ずつ格納しておくこと。
アイテム欄から、モンスターの卵(スポーンエッグ)を使うなどして、感圧板の近くに敵を出現させてみよう。左の画面のように、敵が感圧板を踏んだ時に、レッドストーン回路が明るい赤に変わって矢が発射されれば成功だ。プログラミング的に説明すると、この回路で設定した「敵が来る(敵が感圧板を踏む)」という条件に該当する状態になったため、「矢が飛ぶ」という処理が実行されたということになる。敵が感圧板を踏んでいない状態で矢が飛ばないのは、「敵が来る(敵が感圧板を踏む)」という条件を満たしていないからだ。
こんな時どうする?
Q.敵が感圧板の上に来ているのに、矢が発射されない!
A.矢が格納されているか調べよう
感圧板が敵の存在を感知し、レッドストーン信号が送られているにもかかわらず、矢が発射されないことがある。回路と感圧板に問題がなさそうであれば、発射装置(ディスペンサー)の中に矢が格納されていないケースが考えられる。エラーの原因をひとつずつ調査することは、プログラミングを習得するためにはとても大切! 根気よく原因を探ってみよう。
Q.感圧板を踏んでいないのに、レッドストーン信号がONのままになってしまう!
A.感圧板の上をチェックしよう!
上の画面のように、感圧板に矢が刺さっていたり、投げたアイテムが乗っていたりすると、感圧板がそれを感知してレッドストーン回路に信号が送られてしまう。この状態だと回路がOFFに切り替わらないので、処理が止まったままになる。感圧板の上をよくチェックしてみよう。
感圧板と発射装置の数を増やせば陣地の守りが強固になります。
全ハード対応 上級編
「ガチャガチャ」を作ってみよう
処理が実行される条件(ハンドルをタップする回数)を満たすまでアクション(ハンドルをタップする)を繰り返し、条件を満たしたら結果が得られる(アイテムが出る)、という仕組みを利用してみよう。プログラミングでは、設定した回数の分だけ処理を実行することを「繰り返し処理」と呼ぶ。
まず、装置に使う7つのアイテムを自分の持ち物スロットに入れる。ガチャの景品は、好きなアイテム9種類を用意しよう。なお、スライムボールは、ガチャのハンドル部分として使うので、代わりに雪玉やフグ、エンダーパール、ひまわりといったお好みのものを選んでもよい。景品を出す装置には、発射装置(ディスペンサー)ではなくドロッパーを使おう。
STEP 2
回路の全体図を確認
回路を伝わる信号(動力)には、0〜15レベルまでの強弱が存在する。また、信号がレッドストーン中を1ブロック分進むたびに動力強度は1レベル弱まる。今回の回路はこの特性を利用しているのがポイントだ。額縁に入れたアイテムはタップするたびに回転し、8回タップで元に戻る。この回転角度は、コンパレーターを左のように使うことで1〜8の動力強度として取り出すことが可能。額縁の回転が最大になった時、8レベルの動力がコンパレーターから出力される。さらにレッドストーンを8個連続して置いているので、最大回転時のみドロッパーまで動力が伝わるという仕組みだ。
ドロッパーの上にはそのままだと直接ブロックを置けないので、スマホやタブレットなどでは上の画面のように十字キーの中心にある◇マークを連続タップして、スニーク(しゃがみ状態)をONにしよう。Windowsなどのパソコン版ではShiftキーを押している間は、スニークがオンになる。スニークがオンになると、ドロッパーの上にもブロックを設置できるようになる。なお、このテクニックは、ドロッパー以外にも、ディスペンサーやホッパーといった、上にブロックを設置しようとすると中身が展開されてしまう仕様のブロックにも応用できるので、覚えておこう。
スニーク(しゃがみ)状態なら発射装置の上にも直接ブロックを置けます
1.ドロッパーの後ろに、木材を3つ並べ、
2.一番手前の木材の上にコンパレーターを設置する。このとき、赤いランプが2本ついている方が前になるように注意しよう。この向きを間違えると、ハンドルを回したときの信号が、レッドストーン回路に送られなくなってしまう。あとは、
3.回路図通りにレッドストーンをコンパレーターの後ろからドロッパーの左まで繋げれば、回路は完成だ。
1.回路が繋がったら、ドロッパーに景品用のアイテムを入れておく。ドロッパーから飛び出すアイテムはランダムで選ばれるため、ガチャらしい動きをしてくれる。
2.ドロッパーの上に置いた木材に額縁を貼りつけ、ハンドルとなるアイテム(ここではスライムボール)をセットして完成。
3.ハンドルを1周回して、ドロッパーから景品が飛び出せば成功だ。なお、初回は7回のタップで景品が出てくるが(額縁の初期状態だとアイテムの回転角度が最大なるのが7回タップした時なので)、次からは8回タップごとに景品が出てくるようになる。
景品はあたりアイテムとハズレアイテム、両方入れるのが楽しさのポイントです!
※『デジモノステーション』2018年6月号より抜粋。