「ゴールする」だけじゃないプログラミングに挑戦しよう
これまでのゲームでは、矢印の向きや命令の順番を考えながら、ロボットを目的地まで動かしてきました。
今回の「お宝プログラミング」では、ただ宝箱へ向かうだけではありません。先にカギを取り、そのあと宝箱へ行くという2つの目的を、正しい順番で達成します。
「まず何をする?」「その次は?」と考えながら、目的をいくつかの手順に分けていくことで、プログラミングの基本となるアルゴリズムの考え方を体験できます。
お宝プログラミングにチャレンジ!
ゲームは専用画面で遊べます。下のボタンを押すと、新しいタブでゲームが開きます。
カギを取ってから宝箱へ行けるように、矢印の命令を順番に並べてみましょう。
あそびかた
- ロボット・カギ・宝箱の場所を確認します。
- まず、ロボットをカギの場所まで動かす方法を考えます。
- 「↑」「↓」「←」「→」を押して、命令を順番に並べます。
- 続けて、カギの場所から宝箱までの命令も考えます。
- 命令ができたら「うごかす」を押します。
- カギを取ってから宝箱へ着けばクリアです。
まちがえたときは、命令を戻したり最初から作り直したりできます。どこまで合っていたのかを見ながら、少しずつ直してみましょう。
このゲームで学べること
このゲームのテーマは「アルゴリズム」です。
アルゴリズムという言葉は少し難しく聞こえますが、子ども向けには「目的を達成するための手順」と考えると分かりやすくなります。
今回なら、最終的な目的は宝箱へたどり着くことです。ただし、その前にカギを取らなければなりません。
- カギの場所まで行く
- カギを取る
- 宝箱の場所まで行く
この大きな流れを、さらに「上へ進む」「右へ進む」といった小さな命令へ分けていきます。目的を小さな手順に分け、正しい順番で並べることが、プログラミング的思考の大切な基礎になります。
どうして「カギを先に取る」ことがプログラミングにつながるの?
コンピューターは、人のように「たぶん先にこれをやった方がいい」と判断してくれるわけではありません。決められた条件と命令にしたがって処理します。
そのため、宝箱へ行く道だけが分かっていても十分ではありません。カギが必要なら、カギを取る処理を先に入れる必要があります。
「何をするか」だけでなく、どの順番で実行するかまで考えることが、プログラムを作るときには重要です。
対象は小学1年生くらい
目安は小学1年生です。矢印の向きが分かり、いくつかの手順を順番に考えられる子に向いています。
操作は矢印ボタンを押して命令を作るだけなので、文字をたくさん読む必要はありません。年長でも、保護者と一緒なら取り組めます。
最初からすべての命令を頭の中で考えるのが難しい場合は、盤面を指でたどりながら「ここまではどう行く?」と区切って考えても大丈夫です。
これまでのゲームとの違い
「ロボットめいろ①」では、矢印を見ながらゴールまで進むことを学びました。「ロボットめいろ②」では、複数の命令を先に並べてから実行し、命令の順番を考えました。
記事3の「じゅんばんをかんがえよう」では、日常生活の行動を正しい順番に並べ、順次処理を身近な場面から学びました。
今回のお宝プログラミングでは、そこから一歩進み、途中の目的まで考えて手順を組み立てることに挑戦します。単にゴールへ着くだけではなく、「先に何を達成する必要があるのか」を考えるのが大きな違いです。
子どもがつまずいたときの声かけ
うまくいかないときに、すぐ「右、右、上だよ」と答えを教えるより、考える範囲を少し小さくしてあげるのがおすすめです。
- 「まず最初にどこへ行かないといけないかな?」
- 「カギまで行くには、最初の1歩はどっち?」
- 「ここまでは合っていたね。次はどこを直せばよさそう?」
- 「ロボットになったつもりで、指で1マスずつ進んでみよう」
「カギまで」と「カギから宝箱まで」を別々に考えるだけでも、問題がぐっと分かりやすくなります。
間違えることも大切な学習
プログラミングでは、最初からすべて正しくできることよりも、実行した結果を見て修正することが大切です。
壁にぶつかったり、カギを取らずに宝箱へ行ってしまったりした結果は、失敗ではなく「どこを直せばよいか」を教えてくれるヒントになります。
全部の命令を消して最初からやり直すだけでなく、「何番目の命令までは合っていた?」と振り返ると、プログラミングでいうデバッグの考え方にもつながります。
慣れてきたら、もっと考えてみよう
ゲームに慣れてきたら、矢印を押す前に盤面を指でたどり、最初から最後までの命令を予想してみましょう。
さらに、クリアできたあとに「もっと少ない命令で行ける?」「別の道でもカギを取って宝箱へ行ける?」と考えると、効率のよい手順や最短ルートにも興味を広げられます。
大切なのは、最初に見つけた答えだけで終わらず、別の方法がないか考えてみることです。

