Scratchの変数で得点をつける|6歳のゲームで体験
「アイスを拾ったら、点が増えるようにしたい!」
わが家の6歳が作っていたゲーム「うんち避け+アイス拾い」。落ちてくるうんちをよけながら、アイスを拾うゲームです。ここで登場したのが、Scratch(スクラッチ=ブロックでゲームを作る、子ども向けプログラミング)の「変数(へんすう)」でした。
この記事では、変数とは何か、どうやって得点をつけたか、そして「カウントが増えすぎる」というつまずきをどう直したかを、親子で作った体験をもとにやさしく説明します。
※「変数」「当たり判定」などの言葉は、記事の中でひとつずつ、やさしく説明します。むずかしいブロックは親が手伝った部分もあるので、「6歳が一人で全部作った」という話ではありません。正直な体験記として読んでください。
変数(へんすう)ってなに?──数を覚えておく「箱」
変数とは、ひとことで言うと「数を覚えておく“箱”」です。
ゲームの得点なら、「いま何点か」を覚えておく箱、ということになります。
- 箱に「0」を入れてゲームを始める
- 点が入るたびに、箱の数を「+1」していく
- 画面には、その箱の数(=得点)が表示される
Scratchでは、この箱に「とくてん」のような名前を付けて作ります。名前を付けた箱が、ゲームの間ずっと数を覚えていてくれる——それが変数です。
💡 「変数」という名前について
中の数が「変わる」から「変数」。むずかしい言葉ですが、子どもには「点を覚えておく箱」と言えば十分伝わります。
アイスを拾うと点が増えるしくみ
わが家のゲームでは、こんなふうに作りました。
- ゲームが始まったら、得点の箱を「0」にする
- アイス(落ちてくる)に自分のキャラクターが触れたら、得点の箱を「1ふやす」
- 画面の上に、得点の箱の数を表示する
0 → アイスを拾う → 1 → 2 → 3
「アイスに触れたか?」を調べるのが「当たり判定」(ぶつかったかどうかを調べるしくみ)です。当たり判定で「触れた!」となったら、変数(箱)に1を足す。これで「アイスを拾うと点が増える」が完成します。
子どもは、アイスを拾うたびに数字が増えるのを見て、とても喜んでいました。「数が増える=うれしい」は、変数を学ぶいちばんの入り口かもしれません。
Scratchで当たり判定を使う|うんちに当たったらゲームオーバー
得点だけでなく、「うんちに当たったらゲームオーバー」も入れました。これも当たり判定です。
- アイスに触れた → 点を増やす(うれしい)
- うんちに触れた → ゲームを終わりにする(残念)
同じ「触れたか調べる」でも、触れた相手によって、起きることが変わる。これが分かると、ゲームがぐっと「ゲームらしく」なります。
つまずき:「カウントが増えすぎる!」
ここで、子どもが気づいた問題がありました。
「アイスのカウントが、いっぱい増える!」
アイスを1個拾っただけなのに、得点が一気に何点も増えてしまうのです。
実は、Scratchは1秒間に何度も「触れた?」を調べています。そのため、アイスとキャラクターが少しの間でも重なっていると、その間ずっと「触れた!」と判定され、そのたびに点が増えていました(重複カウント)。
触れた +1 / まだ触れてる +1 / まだ触れてる +1 …
→ だから増えすぎる。拾ったらアイスをすぐ上へ動かすと、1回だけ数えられます ✅
直し方は、こうしました。
- アイスに触れて点を増やしたら、そのアイスをすぐ画面の上(次に落ちてくる位置)へ移動させる
こうすると、触れた瞬間に相手がいなくなるので、1回だけ数えてくれます。ついでに、移動したアイスがまた落ちてくるので、ゲームも自然に続きます。
プログラミングでは、このように「思ったとおりに動かない原因を見つけて直すこと」を「デバッグ」と呼びます。子どもが自分で「おかしい」と気づけたのが、いちばんの収穫でした。
子どもの反応と、むずかしさの調整
遊んでいるうちに、子どもがもうひとつ言いました。
「落ちるのが早すぎる!」
そこで、うんちやアイスが落ちる速さを調整しながら、何度も遊びました。速すぎると難しすぎるし、遅すぎるとかんたんすぎる。「ちょうどいい」をさがすのも、ゲーム作りの楽しい部分です。
Scratchでは、落ちる速さも「数字」を変えることで調整できます。数を変えると、ゲームの感じが変わる——数字が、ゲームの「手ざわり」を作っているのだと、遊びながら体感できました。
親として感じたこと
変数は、言葉だけで教えようとすると、6歳にはむずかしい考え方です。でも、「アイスを拾うと点が増える」という、本人が作りたかったゲームの中でなら、すっと受け入れていました。
- 「点を覚える箱」という具体的な役割があると、変数が分かりやすい
- 「増えすぎる」というつまずきを、自分で見つけて直せたのが大きい
- むずかしいブロックは親が手伝ったが、アイデア・テスト・調整は子どもが主役
「変数を教える」より、「得点のあるゲームを一緒に作る」。結果として、変数にも当たり判定にも、自然に触れられました。
なお、変数(数を覚えておく箱)は得点だけではありません。「残り時間・ライフ(残りいくつ)・集めたコインの数・レベル」なども、変数で覚えておけます。「次は何を覚えさせようかな?」と考えると、作りたいゲームがどんどん広がります。
まとめ
- 変数(へんすう)=数を覚えておく「箱」。得点なら「いま何点か」を覚える箱
- 「アイスに触れたら(当たり判定)、得点の箱を1ふやす」で、得点のしくみができる
- 同じ当たり判定でも、触れた相手によって起きることを変える(アイス=点/うんち=終了)
- つまずき「カウントが増えすぎる」は重複当たり判定。拾ったらアイスを上に移動して、1回だけ数えるように直した(デバッグ)
- 変数は言葉で教えるより、作りたいゲームの中で触れるのがいちばん伝わる
子どもの「こうしたい!」は、変数や当たり判定といったしくみを学ぶ、いちばんの動機になります。「点を増やしたい」から変数へ。「当たったら終わりにしたい」から当たり判定へ。作りたい気持ちの先に、学びが自然についてきました。完成したゲームは、ぜひ保存して、だれかに遊んでもらいましょう。
関連記事:
- Scratchは何から始める?6歳の体験で作った学習ロードマップ(変数は学習ロードマップの「段階7」。全体の地図はこちら)
- Scratchで自分だけのゲームを作る:6歳が「作りたい」を形にした日(このゲームのもとになった、オリジナル制作の体験記)
- Scratchの作品を保存・公開する方法:親子で安全に(完成した得点ゲームを保存・公開するやり方)