「作ったゲーム、毎回同じ動きでちょっとあきちゃう…」

そんなとき役に立つのが、Scratch(スクラッチ=ブロックを組み合わせてゲームやアニメを作る、子ども向けのプログラミング)の「乱数(らんすう)」です。乱数を使うと、毎回ちがう動きが作れて、ゲームがぐっと面白くなります。

たとえば、

  • アイテムが毎回ちがう場所から落ちてくる
  • 敵がランダムなタイミングで出てくる
  • キャラの大きさや色が毎回変わる

この記事では、乱数とは何か・「◯から◯までの乱数」ブロックの使い方・そして6歳が作ったゲームでの実例まで、親子でわかるようにやさしく解説します。

※「スプライト」「座標」などの言葉は、記事の中でその都度やさしく補足します。


乱数(ランダム)ってなに?

乱数とは、ひとことで言うと「決めた範囲の中から、ランダムに選ばれる数字」のことです。「次にどの数字が出るか分からない数字」と考えると分かりやすいです。

サイコロを思い浮かべてください。サイコロを振ると、1〜6のどれかが出ますが、次に何が出るかは分かりません。乱数は、この「コンピューターにサイコロを振ってもらう」ようなしくみです。

  • ふつうの数字:いつも同じ(例:「5」と書けば、いつも5)
  • 乱数:決めた範囲から、そのつどランダムに選ばれる(例:1〜6のどれか)

⚠️ ここで1つだけ注意。乱数は「毎回かならず違う数字」ではありません。サイコロで3が2回続くことがあるように、同じ数字が続けて出ることもあります。「毎回ランダムに選び直す」だけで、「毎回ちがう」わけではない、と覚えておいてください。

「毎回同じ」だと飽きてしまうゲームも、乱数で「ランダム」を入れると、遊ぶたびに新鮮になります。


Scratchの乱数の使い方|「◯から◯までの乱数」

Scratchでは、「演算」(緑色)のグループに、乱数のブロックがあります。

「(1)から(10)までの乱数」

このブロックは、1から10までの数字から、ランダムに1つ選んでくれます(1や10も含みます)。数字の部分は、自由に変えられます。

  • 「1から6までの乱数」 → サイコロと同じ(1〜6のどれか)
  • 「1から100までの乱数」 → 1〜100のどれか

この乱数ブロックは、数字を入れる“穴”(数値の入力欄)に、はめこんで使います。「◯歩動かす」の◯や、「大きさを◯%にする」の◯など、数字を書くところに、数字の代わりに乱数ブロックを置くと、そこがランダムになります。

💡 「1から6までの乱数」は1と6も含みます。「1〜6の6通り」と覚えておけばOKです。両方に整数(1・6など)を入れると、1・2・3・4・5・6のどれか(整数)が返ります。


乱数の使いみち|ゲームに変化をつける

乱数を「どこに入れるか」で、いろいろな変化が作れます。よく使う例を紹介します。

  • 毎回ちがう場所から出す:x座標に「−200から200までの乱数」を入れる → 左右のどこかからアイテムが登場
  • ランダムな大きさ:「大きさを(50から150までの乱数)%にする」→ 大小いろいろ
  • ばらばらのタイミング:「ずっと」の中で「1〜3秒のランダムな時間だけ待ってから、敵を出す」→ 出るタイミングが毎回ちがう
  • サイコロ・くじ:「1から6までの乱数」でサイコロゲーム

座標(x・y)と組み合わせると、とくに効果的です。座標で「どこに置くか」を決め、その数字を乱数にすると、「毎回ちがう場所」が作れます(座標のしくみは【Scratchの座標(x・y)とは?キャラの位置の決め方】でくわしく)。

⚠️ 座標を乱数にするときは、範囲を広げすぎないのがコツ。x座標は−240〜240まで置けますが、座標はスプライトの中心の位置なので、−240や240ちょうどにするとキャラの一部が画面の外にはみ出すことがあります。画面内に収めたいときは「−200から200まで」のように、少し余裕を持たせます。


わが家の実例|アイスを「毎回ちがう場所」から落とす

以前、6歳(当時)の子と「うんち避け+アイス拾い」というゲームを作りました(【Scratchの変数で得点をつける|6歳のゲームで体験】)。落ちてくるアイスを拾って点を取るゲームです。

最初は、アイスがいつも同じ場所から落ちてきました。それでも遊べますが、動きが読めてしまい、少し単調です。

そこで、アイスを上に戻すときに、x座標(横の位置)を「−200から200までの乱数」にする——つまり「毎回ちがう横位置から落とす」ようにしました。すると、

  • どこから落ちてくるか分からない
  • 左右に動いて拾いにいく必要がある

と、一気にゲームらしくなりました。「次はどこ!?」と、子どもも夢中になって遊んでいました。

「毎回ちがう場所」=座標を乱数にする。これが、乱数のいちばん分かりやすい使いどころだと思います。


乱数を使うときの注意

便利な乱数ですが、いくつか気をつける点もあります。

  • 範囲を広げすぎない:座標に使うときは、画面からはみ出さない範囲に(例:xは「−200から200まで」など)。「−1000から1000まで」にすると、キャラが画面の外に行ってしまいます
  • 整数が使いたいときは、両方に整数を入れる:「1から6まで」のように整数を指定すると、1・2・3・4・5・6のどれか(整数)になります。最初は整数だけ覚えればOKです
  • 毎回選び直したいなら「ずっと」や「くり返し」の中で:乱数はそのブロックを実行するたびに選び直されます。1回だけだと、そのとき選ばれた数字のままです

むずかしく感じたら、まずは「毎回ちがう場所から出す」だけ試してみてください。それだけでもゲームは大きく変わります。


まとめ

  • 乱数=決めた範囲からランダムに選ばれる数字(コンピューター版のサイコロ)。※同じ数字が続くこともある=「毎回かならず違う」ではない
  • 「◯から◯までの乱数」ブロック(演算・緑)で作る。◯と◯も含む
  • 数字を入れる場所なら、どこにでも入れられる(座標・大きさ・色・待つ秒数など)
  • 座標を乱数にすると「毎回ちがう場所」が作れる=ゲームらしくなる
  • わが家では、アイスをランダムな横位置から落として、ぐっと面白くなった

「毎回同じ」で少し飽きてきたら、乱数の出番です。まずは、いつも同じ数字だったところを「◯から◯までの乱数」に置きかえるだけ。それだけで、ゲームは遊ぶたびに新しくなります。子どもの「次はどうなる?」というワクワクを、ぜひ引き出してみてください。

関連記事: