Googleがプログラミング教育を目的とした「ブロックリー・ゲーム」というサイトを公開しています。
全部で8種類(パズル、迷路、鳥、タートル、動画、音楽、ポンド・チューター、ポンド)ありますが、
今回はその中で恐らく一番難易度が高い「迷路」を解き進めていきたいと思います。
(残りの7種類は簡単過ぎるので解説しません)
皆さんも頭の体操だと思って良かったらレベル1~レベル10まで順番にやってみてください。
引用元:ブロックリー・ゲーム
ルール説明(レベル1解説)
上記の「ブロックリー・ゲーム」の「迷路」をクリックするとレベル1の以下の問題が表示されます。

このゲームはその名の通りブロック状の命令をつなぎ合わせてプログラムを作成するタイプのプログラミングで、以前「プログラミング学習について」という記事でご紹介したビジュアルプログラミングに該当します。
ルールは簡単でGoogle Mapでおなじみの人のマークを目的地のマークまで連れて行けばクリアになります。
プログラミングのやり方は画面中央に親切に案内がある通り、紫色の「まっすぐ進む」というブロックを右の白いエリアにドラッグ&ドロップで移動させ、初めから置かれていた「まっすぐ進む」ブロックの下に繋げるとブロック同士がくっついてくれます。
プログラムは上から下へ流れていくのでこの場合は「まっすぐ進む」が2回実行されます。
実行する際は左下の「▶プログラムを実行」の赤いボタンをクリックします。

実行が終わると画面中央にメッセージが表示されますが、JavaScriptとかmoveForward();とかよくわからない専門用語が出てきました。
こちらはあまり気にする必要ないのですが、Google Mapは主にJavaScriptというプログラミング言語で開発されているため、「まっすぐ進む」というブロックをJavaScriptの文字によるプログラミング(コードプログラミング)で記述した場合はこのように記載しますよと例を示しているだけです。
ただ、残念ながらこのゲームのプログラミングはブロックによるビジュアルプログラミングのみ対応しておりJavaScriptでプログラムを作成することは出来ませんのでJavaScriptでの表記については「へぇー、そうなんだ」程度で大丈夫です。
また、プログラミングに関係ないですが、画面上部にはレベルの番号(1~10)や選択言語「日本語」や途中の状態を保存するボタンが用意されています。また、右上の人のマークをクリックすると宇宙飛行士やパンダにキャラクターを変更することが出来ます。(宇宙飛行士もパンダもいまいちなので以後の解説は人のマークで進めて行きます)

レベル2解説
レベル2は以下の問題になります。

あらたに「左を向く」と「右を向く」のブロックが追加されました。
このゲームは主人公(人のマーク)から見た目線で体の向きを決めるので、目的地に行くまでに「左を向く」と「右を向く」をそれぞれ1回ずつ使ってみましょう。
レベル2:解答
「まっすぐ進む」→「左を向く」→「まっすぐ進む」→「右を向く」→「まっすぐ進む」が正解の動きとなります。

レベル3解説
レベル3は以下の問題になります。

あらたに「「まで繰り返す」📍 実行」のブロックが追加されました。
この中に「まっすぐ進む」や「左を向く」や「右を向く」などのブロックを入れると目的地に到着するまで中のブロックの命令をずっと繰り返します。つまりこのブロックはループの役割をします。
また左下に「残り1ブロックです。」と表示されています。
レベル3以降は使えるブロック数の上限が決められているため、そのブロック数以内でクリアしましょう。
レベル3:解答
目的地までただ「まっすぐ進む」を繰り返すだけです。

レベル4解説
レベル4は以下の問題になります。

この問題はレベル2の向きを変えるブロックとレベル3のループブロックを組み合わせた問題です。
目的地までどのような動きを繰り返せば良いか考えて「「まで繰り返す」📍 実行」のブロックの中に繰り返すブロックを全て入れましょう。
レベル4:解答
「まっすぐ進む」→「左を向く」→「まっすぐ進む」→「右を向く」を目的地まで繰り返す動きが正解の動きとなります。

レベル5解説
レベル5は以下の問題になります。

レベル3とレベル4の問題はループブロックの中に「まっすぐ進む」や「右を向く」や「左を向く」のブロックを入れて、最初から目的地まで同じ命令をずっと繰り返していましたが、今回の問題は角があるので、【角に行くまで】と【角に行ったあと】の2段階に分けて考えます。
レベル5:解答
【角に行くまで】は「まっすぐ進む」→「まっすぐ進む」→「左を向く」
【角に行ったあと】は「まっすぐ進む」を目的地までずっと繰り返します。

レベル1~レベル5まで終わりましたが、ここまではそんなに難しくないっというか簡単だと思います。
レベル6~レベル10はそれなりに難しい問題も出てきますので、とりあえず今回はここまでにして続きは後編で解説していきます。
1つ後の記事>>
コメント