「マインクラフトのHour of Codeってどんなことが学べるの?」
「Hour of Codeはプログラミング学習の役に立つ?」
こんなお悩みはありませんか?
そんなお悩みをお持ちの保護者の方に向けて、本記事では、マインクラフトのHour of Codeの操作方法や学習内容を画像付きでご説明します。
この記事を読めば、Hour of Codeの操作方法からプログラミングに必須の考え方まで分かります。
お子さんに楽しみながらプログラミングに必須の考え方を身につけさせたい方は、ぜひお読みください。
マインクラフトのHour of Codeとは?
「Hour of Code」とは、マインクラフトの操作をビジュアルプログラミングで行えるソフトです。
ブラウザから無料で体験でき、繰り返しや条件分岐、関数を勉強できます。
ヒントやチュートリアルが豊富なため、プログラミング初心者のお子さんでも一人で学習できます。
ビジュアルプログラムを作成すると、実際のマインクラフトで動作しているJavaScriptコードを表示する機能があります。
もう一段階上のプログラミングを勉強したい場合は、この機能を足掛かりとしてJavaScriptを勉強し始めても良いでしょう。
JavaScriptについては、こちらの記事で詳しく解説しています。
マインクラフトのHour of Codeでプログラミングを学習しよう
実際にMinecraftのHour of Codeを体験してみましょう。
さっそく、ブラウザを使用して公式サイトにアクセスしてください。
学習できるモードは『アドベンチャー』『デザイナー』『ボヤージュ アクアティック』『ヒーローの旅』の4モードがあります。
今回は基本的な『アドベンチャー』から遊んでみましょう。
マインクラフトのHour of Code|アドベンチャーコース
『アドベンチャー』を起動するとイントロ動画が流れます。右上の×ボタンで閉じることができます。
動画は英語ですが日本語字幕が付いています。基本的な操作方法について紹介してくれるので、一度は視聴しましょう。
キャラクターを選択してコース開始です。私はスティーブを選択しました。
チャレンジする問題は全部で14個あります。
最初の問題は羊から毛を刈り取る問題です。今回は羊の目の前に移動すればクリアとなります。
今回は2マス直進すれば羊の前に到着できるので『前に進む』コマンドを1つ追加して、実行ボタンを押します。
無事に羊の前に到着できたのでクリアしました。
しばらくチュートリアルのような操作が続きますが、ステージ5で繰り返しブロックが登場します。これを使用すれば複数回行う動作を一回の命令で実行できるため便利です。
繰り返しブロックはプログラミング言語だと『for文』として実装されています。
ここでは、繰り返しブロックを使って木の板を4枚置く動作を行います。
繰り返しブロックを使わなくても同じ動作を実行できますが、ブロック数が多くなるとコード作成が大変です。
4枚の木の板を置くなら問題ありませんが、100枚、200枚の木の板を置く場合は、繰り返しブロックを使わないと途中で数が分からなくなります。
参考までに、繰り返しブロックを使った場合と使わなかった場合の画像を見てみましょう。
【繰り返しブロック(ピンクのブロック)を使った場合】
『木の板を置く』と『前に進む』の2ブロックしか追加していませんが、同じ動作を4回行うことができました。これは便利ですね。
【繰り返しブロックを使わなかった場合】
画像で比較すると、繰り返しブロックの便利さがより分かります。
下の画像のステージ11まで進めると、繰り返しブロックの扱いにも大分慣れているでしょう。
ステージ11からは『もし溶岩が前にあるなら』ブロックが出現します。以降は『もしブロック』と呼称します。
もしブロックを使用すると条件分岐を設定できます。つまり、溶岩が目の前にあるならば特定の動作を行い、溶岩が無いならば通常通りの操作を行うコマンドです。
もしブロックは、多くのプログラミング言語では『if文』として実装されている機能です。
ステージ12では早速もしブロックを使用して、条件分岐と繰り返し動作の組合せ動作を作っていきます。
お気づきかもしれませんが、プロクラムは小さな動作の組合せで構築されています。
組合せを工夫すれば、少ないコードでより多くの制御が可能なので、どこまでブロックを少なくできるか考えてみましょう。
私は少ないブロックでたくさんのレッドストーンを取りたかったので、繰り返しブロックを2回使用して、8/14ブロックで目標を達成しました。
先ほどご紹介したようにソースコードも確認できるので、自分のプログラムがJavaScript上だと、どの様に表示されるか確認してみましょう。for文が2回と、if文が1回使用されているのが分かります。
ここまで学習すれば『アドベンチャー』コースはほとんどクリアしたも同然です。残りのステージも進めてみましょう。
マインクラフトのHour of Codeで他に学習できること
『アドベンチャー』では繰り返しブロックと、もしブロックのみ使用しましたが、他のコースでは追加ブロックが登場します。
たとえば『ヒーローの旅』コースでは『関数ブロック』が登場し、メインの実行プログラムとは別にサブプログラムを用意できます。
サブプログラムを活用すれば、特定の機能を小分けに作って必要なときに呼び出せるのでコード量が減ります。
また、便利なサブプログラムを皆で共有すれば、多くの人がコード作成の手間を省略できます。これはモジュール化という、プログラムにおける重要な考え方に繋がります。
次に『デザイナー』コースをご紹介します。
『デザイナー』コースでは複数のもしブロックを使用できます。
『アドベンチャー』では条件が1つしか選択できませんでしたが、複数の条件を設定することで操作の幅が広がります。
今回ご紹介した以外にも、マインクラフトのHour of Codeには多くのブロックがあります。どのブロックも現実のプログラミング言語で使用される機能なので、ぜひお子さんと一緒にご自身の手で操作して学習してみてください。
まとめ
今回は、マインクラフトのHour of Codeについてご紹介しました。
Hour of Codeではマインクラフトの世界観を楽しみながら、繰り返しや条件分岐、関数などプログラミングに必須の考え方を勉強できます。
マインクラフトのHour of Codeの追加コンテンツでは、更なるプログラミング機能の勉強ができます。ぜひお子さんと一緒に手を動かして学んでみましょう。
最後までお読みいただき、ありがとうございました。