「何を先にする?」を考えて、モンスターをたおそう
前の「お宝プログラミング」では、カギを取ってから宝箱へ向かうために、2つの目的を順番に達成しました。
今回の「剣を取ってモンスターをたおそう」では、さらに一歩進みます。剣を取る → モンスターをたおす → ゴールするという3つの目的を、正しい順番で進めます。
ゴールまでの道だけを見るのではなく、「その前に何が必要か」を考えて命令を組み立てることで、プログラミングの基本となるアルゴリズムをより深く体験できます。
剣を取ってモンスターをたおそうにチャレンジ!
ゲームは専用画面で遊べます。下のボタンを押すと、新しいタブでゲームが開きます。
剣を取ってからモンスターをたおし、最後にゴールできる命令を考えてみましょう。
あそびかた
- ロボット、剣、モンスター、ゴールの場所を確認します。
- まず剣まで行く道を考えます。
- 次にモンスターまで行き、最後にゴールへ向かう道を考えます。
- 「↑」「↓」「←」「→」を押して、命令を順番に並べます。
- 命令ができたら「うごかす」を押します。
- 剣 → モンスター → ゴールの順番で進めたらクリアです。
剣を持たずにモンスターへ行くと、モンスターをたおせません。うまくいかなかった場所を見ながら、命令を直してもう一度試してみましょう。
このゲームで学べること
学習テーマは、前回に続いて「アルゴリズム」です。
アルゴリズムは、目的を達成するための手順のことです。今回の最終目的はゴールですが、いきなりゴールへ行けばよいわけではありません。
- 剣を取る
- 剣を持ってモンスターのところへ行く
- モンスターをたおす
- ゴールへ行く
このように、大きな目的を小さな目的に分けて順番に考えることが、プログラミングでとても大切な考え方です。
どうして順番が大切なの?
同じ場所を通ったとしても、行動する順番が違うと結果が変わることがあります。
このゲームでは、剣を取る前にモンスターへ行っても倒せません。つまり、「モンスターのところへ行く」という命令だけでは足りず、その前に剣を取っていることが必要です。
プログラムでも、「この処理をする前に、別の処理が終わっている必要がある」という場面がたくさんあります。順番を意識することは、正しく動くプログラムを考える基礎になります。
対象は小学1年生くらい
目安は小学1年生です。難易度は★★☆で、これまでのゲームより少し考えることが増えます。
矢印の方向が分かり、複数の命令を順番に並べることに慣れてきた子に向いています。年長でも、保護者と一緒に盤面を指でたどりながら取り組めます。
一度に全部の道を考えるのが難しい場合は、「まず剣まで」「次はモンスターまで」「最後にゴールまで」と3つに分けて考えてみましょう。
「お宝プログラミング」から何が難しくなった?
前回のお宝プログラミングは、カギを取る → 宝箱へ行くという2段階でした。
今回は、剣を取る → モンスターをたおす → ゴールするという3段階です。目的が1つ増えたため、より長い手順を頭の中で整理する必要があります。
ただし考え方は同じです。最初から全部を一度に考えるのではなく、目的を小さく分けて一つずつつなげていくと、長い手順も考えやすくなります。
子どもがつまずいたときの声かけ
難しくなってきたら、矢印の答えを直接教えるのではなく、「今の目的は何?」と確認する声かけがおすすめです。
- 「最初に必要なのは何だった?」
- 「剣を取ったら、次はどこへ行く?」
- 「モンスターをたおしたら、まだやることはあるかな?」
- 「どこまではうまくできていた?」
「剣まで」「モンスターまで」「ゴールまで」と区切ることで、長い問題を小さな問題に分ける練習にもなります。
失敗した場所が、直す場所を教えてくれる
剣を取らずにモンスターへ行ったり、壁にぶつかったりしても、それは学習の途中です。
実際に命令を動かしてみると、「ここで剣が必要だった」「この矢印の向きが違った」と、直す場所が見えます。
このように、実行 → 結果を確認 → 修正を繰り返すことは、プログラミングのデバッグにもつながる大切な体験です。
慣れてきたら、よりよい道も探してみよう
クリアできたら、同じ順番を守りながら別の道でもゴールできないか考えてみましょう。
さらに、「もっと少ない矢印でクリアできる?」「剣からモンスターまでの道を短くできる?」と考えると、効率のよい手順を探す学習にもつながります。
答えが一つとは限らない問題では、いくつかの方法を比べてみることもプログラミング的思考の練習になります。

