「アイスを拾ったら、点が増えるようにしたい!」

わが家の6歳が作っていたゲーム「うんち避け+アイス拾い」。落ちてくるうんちをよけながら、アイスを拾うゲームです。ここで登場したのが、Scratch(スクラッチ=ブロックでゲームを作る、子ども向けプログラミング)の「変数(へんすう)」でした。

この記事では、変数とは何かどうやって得点をつけたか、そして「カウントが増えすぎる」というつまずきをどう直したかを、親子で作った体験をもとにやさしく説明します。

※「変数」「当たり判定」などの言葉は、記事の中でひとつずつ、やさしく説明します。むずかしいブロックは親が手伝った部分もあるので、「6歳が一人で全部作った」という話ではありません。正直な体験記として読んでください。


変数(へんすう)ってなに?──数を覚えておく「箱」

変数とは、ひとことで言うと「数を覚えておく“箱”」です。

ゲームの得点なら、「いま何点か」を覚えておく箱、ということになります。

  • 箱に「0」を入れてゲームを始める
  • 点が入るたびに、箱の数を「+1」していく
  • 画面には、その箱の数(=得点)が表示される

Scratchでは、この箱に「とくてん」のような名前を付けて作ります。名前を付けた箱が、ゲームの間ずっと数を覚えていてくれる——それが変数です。

💡 「変数」という名前について

中の数が「変わる」から「変数」。むずかしい言葉ですが、子どもには「点を覚えておく箱」と言えば十分伝わります。


アイスを拾うと点が増えるしくみ

わが家のゲームでは、こんなふうに作りました。

  • ゲームが始まったら、得点の箱を「0」にする
  • アイス(落ちてくる)に自分のキャラクターが触れたら、得点の箱を「1ふやす
  • 画面の上に、得点の箱の数を表示する
「とくてん」の箱の中身が増えていく
0 → アイスを拾う → 1 2 3

「アイスに触れたか?」を調べるのが「当たり判定」(ぶつかったかどうかを調べるしくみ)です。当たり判定で「触れた!」となったら、変数(箱)に1を足す。これで「アイスを拾うと点が増える」が完成します。

子どもは、アイスを拾うたびに数字が増えるのを見て、とても喜んでいました。「数が増える=うれしい」は、変数を学ぶいちばんの入り口かもしれません。


Scratchで当たり判定を使う|うんちに当たったらゲームオーバー

得点だけでなく、「うんちに当たったらゲームオーバー」も入れました。これも当たり判定です。

  • アイスに触れた → 点を増やす(うれしい)
  • うんちに触れた → ゲームを終わりにする(残念)

同じ「触れたか調べる」でも、触れた相手によって、起きることが変わる。これが分かると、ゲームがぐっと「ゲームらしく」なります。


つまずき:「カウントが増えすぎる!」

ここで、子どもが気づいた問題がありました。

アイスのカウントが、いっぱい増える!

アイスを1個拾っただけなのに、得点が一気に何点も増えてしまうのです。

実は、Scratchは1秒間に何度も「触れた?」を調べています。そのため、アイスとキャラクターが少しの間でも重なっていると、その間ずっと「触れた!」と判定され、そのたびに点が増えていました(重複カウント)。

⚠️ 1個のアイスなのに、触れている間ずっと数えてしまう
触れた +1 / まだ触れてる +1 / まだ触れてる +1
→ だから増えすぎる。拾ったらアイスをすぐ上へ動かすと、1回だけ数えられます ✅

直し方は、こうしました。

  • アイスに触れて点を増やしたら、そのアイスをすぐ画面の上(次に落ちてくる位置)へ移動させる

こうすると、触れた瞬間に相手がいなくなるので、1回だけ数えてくれます。ついでに、移動したアイスがまた落ちてくるので、ゲームも自然に続きます。

プログラミングでは、このように「思ったとおりに動かない原因を見つけて直すこと」を「デバッグ」と呼びます。子どもが自分で「おかしい」と気づけたのが、いちばんの収穫でした。


子どもの反応と、むずかしさの調整

遊んでいるうちに、子どもがもうひとつ言いました。

落ちるのが早すぎる!

そこで、うんちやアイスが落ちる速さを調整しながら、何度も遊びました。速すぎると難しすぎるし、遅すぎるとかんたんすぎる。「ちょうどいい」をさがすのも、ゲーム作りの楽しい部分です。

Scratchでは、落ちる速さも「数字」を変えることで調整できます。数を変えると、ゲームの感じが変わる——数字が、ゲームの「手ざわり」を作っているのだと、遊びながら体感できました。


親として感じたこと

変数は、言葉だけで教えようとすると、6歳にはむずかしい考え方です。でも、「アイスを拾うと点が増える」という、本人が作りたかったゲームの中でなら、すっと受け入れていました。

  • 「点を覚える箱」という具体的な役割があると、変数が分かりやすい
  • 「増えすぎる」というつまずきを、自分で見つけて直せたのが大きい
  • むずかしいブロックは親が手伝ったが、アイデア・テスト・調整は子どもが主役

「変数を教える」より、「得点のあるゲームを一緒に作る」。結果として、変数にも当たり判定にも、自然に触れられました。

なお、変数(数を覚えておく箱)は得点だけではありません。「残り時間・ライフ(残りいくつ)・集めたコインの数・レベル」なども、変数で覚えておけます。「次は何を覚えさせようかな?」と考えると、作りたいゲームがどんどん広がります。


まとめ

  • 変数(へんすう)=数を覚えておく「箱」。得点なら「いま何点か」を覚える箱
  • 「アイスに触れたら(当たり判定)、得点の箱を1ふやす」で、得点のしくみができる
  • 同じ当たり判定でも、触れた相手によって起きることを変える(アイス=点/うんち=終了)
  • つまずき「カウントが増えすぎる」は重複当たり判定。拾ったらアイスを上に移動して、1回だけ数えるように直した(デバッグ)
  • 変数は言葉で教えるより、作りたいゲームの中で触れるのがいちばん伝わる

子どもの「こうしたい!」は、変数や当たり判定といったしくみを学ぶ、いちばんの動機になります。「点を増やしたい」から変数へ。「当たったら終わりにしたい」から当たり判定へ。作りたい気持ちの先に、学びが自然についてきました。完成したゲームは、ぜひ保存して、だれかに遊んでもらいましょう。

関連記事