Scratchでブロック崩しを作った:まねして学んだゲームのしくみ
「ゲームって、自分で作れるの?」
Scratchの作品ページを一緒に探索していたとき、子どもがシンプルなゲームを見つけました。ボールを台で跳ね返し続けるだけ——それだけなのに、一度遊んだら「これ作りたい!」と言い出しました。
この記事では、6歳の子どもとScratchの公開ゲームをまねして作った体験を紹介します。できたこと・ゲームの仕組みがどう見えてきたか・子どもの反応もあわせてお伝えします。
「ブロックなしのブロック崩し」を見つけた
この日も作品ページを子どもと一緒に眺めるところからスタートしました。
Scratchのトップページから作品を探すと、ゲーム・アニメ・クイズなど色とりどりの作品が並んでいます。子どもは気になるものを次々クリックしながら探索を楽しんでいました。
そこで目に留まったのが、ボールと台だけのシンプルなゲームでした。いわゆるブロック崩しに近い形ですが、崩すブロックがなく、「ボールが下に落ちないように台で跳ね返し続ける」だけの内容です。
説明を読まなくてもルールがわかる。操作もシンプル。それが「これなら作れそう」と感じさせた理由だったように思います。
まず遊んでみた
作る前に、まず一緒に遊んでみました。
マウスを左右に動かして台を操作し、ボールが下に落ちないように跳ね返し続けます。シンプルなのに意外と難しく、ボールの動きを目で追いながら素早く台を動かす必要があります。
子どもは「あ、落ちた!」「もう1回!」と何度も繰り返していました。
遊んでいるうちに、自然と「ボールはどうして跳ね返るの?」「台に当たったとき何が起きてるの?」という疑問が生まれていた様子でした。
まねして作ることに決めた
ひとしきり遊んだあと、子どもが「これ、作りたい!」と言い出しました。
作品ページの「中を見る(See inside)」ボタンを押してコードを確認。ボールのスプライトと台のスプライトがそれぞれどんなブロックを使っているかを眺めながら、まねして並べていきました。
まねして作る手順
- 作品ページで「中を見る」をクリック
- ボール・台のスプライトごとにブロック構成を確認
- 自分の作品で同じスプライトを追加し、同じブロックを並べる
今回も「なぜこのブロックを使うのか」の説明は後まわしにして、まず動かすことを目標にしました。
実際に作ってできたこと
まねして作る中で、子どもが自分でできたことはこちらです。
- ボールのスプライト(キャラクター)を追加して画面に配置する
- 台(パドル)のスプライトを追加して下部に配置する
- ボールが台に当たったとき、跳ね返るよう設定する
- ボールが画面の下に行ったら、ゲームが終わるよう設定する
前回のアニメーション作りとひと味違うのは、下の2つです。「何かが起きたとき、こうする」という反応の仕組みに、初めて触れた瞬間でした。
ゲームを作って見えてきた2つのしくみ
今回の体験を通じて、子どもがぼんやりとでも感じ始めたしくみを整理します。
しくみ1:「もし〜したら」という考え方
ボールが台に当たったとき跳ね返る・ボールが下に行ったら終了——この2つは、どちらも「もし〜が起きたら、こうする」という考え方で作られています。
プログラミングの言葉では「条件分岐」と呼ばれますが、今の段階では難しい名前は不要です。「ボールが台に触れたら向きを変える」「ボールが画面の下まで行ったら全部止まる」という自然な日本語で理解できれば十分です。
子どもには「こうなったら、こうするよ、っていう命令が入ってるんだよ」と伝えると、すっと受け取ってくれました。
しくみ2:「ずっと繰り返す」という考え方
ボールが動き続けているのは、「ずっと繰り返す」ブロックのおかげです。前回のアニメーション作りでも同じブロックが出てきましたが、ゲームでも使われています。
「なんで止まらないの?」と聞かれたとき、「ずっと動き続けてねっていう命令が入ってるから」と答えると、「ああ、ずっとやるやつか」と納得していました。
繰り返しの中に「もし〜したら」を組み合わせることで、「常に動きながら、状況に応じて反応する」というゲームらしい動きが生まれます。この2つのしくみが今回のゲームの核心です。
子どもの反応
ゲームが完成したとき、子どもはとても喜んでいました。
アニメーションを作ったときとは少し違う、「自分でゲームを作った」という感覚が表情から伝わってきました。「また別のゲームも作りたい」という言葉も出てきて、次への意欲にそのままつながっていました。
前回と同じように「家族に見せてくる!」と駆け出していったのが印象的でした。作品を誰かに見せたい・楽しんでもらいたいという気持ちが、自然と続ける力になっています。
「やりたいこと」を優先する学び方
今回の体験を振り返って、改めて感じたことがあります。
プログラミングを学ぶとき、「繰り返し→条件分岐→変数」と順番に体系的に進める方法はもちろん有効です。でも子どもに関しては、「これを作りたい」という気持ちが先にあることが、続ける力の源になっていると感じます。
「ゲームを作りたい」という目標があれば、繰り返しや条件という難しい概念も、自然な流れで触れられます。順番ではなく、必要なときに必要な分だけ出会う——その方が感覚として身についていくようです。
まねして作ることも、立派な学習です。コードを見て、同じように並べて、動かして確認する——その繰り返しが、少しずつ「なぜこう動くのか」という理解につながっていきます。真似から始めることは、プログラミングに限らず学びの王道です。
まとめ
- ブロックなしのブロック崩しゲームをまねして作ることで、ゲームの基本的なしくみに触れられた
- 「もし〜したら(条件)」と「ずっと繰り返す(ループ)」の2つが、ゲームを動かしている核心
- ボールが跳ね返る・ゲームが終わる、どちらも「条件に応じて動きを変える」という同じ考え方
- 「やりたいことを先に」という進め方でも、難しい概念は自然に出てくる
- 完成の達成感と「見せたい」という気持ちが、次への意欲をつくる
次回は、子どもが興味を持った別の作品を自分で探して、また新しいまねにチャレンジしてみます。
前の記事:Scratch作品のまねして作り方:初めてコードを書いた日の記録
関連記事: