中目黒駅徒歩3分でオンラインも可能。
お子様に合ったカリキュラム無料相談対応

Scratch(スクラッチ)

【Scratchの乱数の使い方】はじめての乱数を使ったゲームの作り方

このシリーズでは、Scratchではじめてゲームをつくりはじめた方向けに、ゲームをつくるときに便利な機能について解説していきます。

第1回の今回は、乱数の使い方です。

乱数を使ってじゃんけんゲームをつくる

下のリンクは、じゃんけんゲームのScratchプロジェクトです。まず開いて、ゲームをやってみてください。「じゃんけん」というボタンを押すたびに、モンスターの手がかわります。

https://scratch.mit.edu/projects/640747511/

じゃんけんゲームを作るときに、コンピューターが毎回同じ手を出したり、決まった順番で「ぐー」「ちょき」「ぱー」を出す仕組みになっていると、ゲームをやってもおもしろくありませんね。

できれば、決まった順番ではなく、ゲームをするたびに、ちがった順番で「ぐー」「ちょき」「ぱー」を出すコンピューターを作ることができたら、ゲームとしてのおもしろさがでてきます。

こうしたときに便利なのが「乱数」です。

乱数を使うと、きまったパターンではない順番で数字をつくることができる

もう一度ゲームをやってみてください。

「じゃんけん!」のボタンをおすたびに、画面の左上にある数字が変わっているのがわかると思います。数字が「0」なら「ぐー」、「1」なら「ちょき」、「2」なら「ぱー」が出るしくみになっています

この「0」「1」「2」という数字をつくっているのが、乱数という機能です。

Scratchでは、乱数をつくるブロックは、「演算」の中にある「◯から◯までの乱数」というブロックです。

「◯から◯までの乱数」の「◯」の部分に数字を入れると、設定した範囲から、毎回ちがった数字が不規則に作られる仕組みになっています。

このじゃんけんゲームでは「 0 から 2 までの乱数」という設定になっています。

「じゃんけん!」のボタンを押すたびに、「0」「1」「2」のどれかの数字が作られて、その数字にあわせてキャラクターが出す「ぐー」「ちょき」「ぱー」が変わるようになっています。

キャラクターが出てくる場所やスピードを乱数で変化させる

次は、乱数を使って、キャラクターが出てくる場所やスピードを変化させる例を見てみましょう。

上から落ちてくるアイテムを捕まえるキャッチゲームです。

https://scratch.mit.edu/projects/640753598/

下の動画をみてください。

「グレーの丸」と「赤い丸」の2つのキャラクターが、画面上部のから出てきます。グレーを取るとスコアが増え、赤い丸にふれるとゲームオーバーになります。

「グレーの丸」と「赤い丸」は、毎回画面の異なる場所から出てきます。これは、2つのキャラクターが出現する位置のx座標を、乱数を使ってコントロールしているからです。

「グレーの丸」と「赤い丸」が出現するx座標は、「-220から200までの乱数」と設定されています。これによって、画面の左端から右端の間のどこか違う場所から出てくるようになります。

また、画面左上には、「ボール1(グレーのボール)のスピード」と「ボール2(赤いボール)のスピード」が表示されています。

この2つのボールスピードが、出現するたびに変わります。

これも、ボールが出現するたびに、乱数を使ってスピードを変化させているからです。

ボールのスピードを「 -10 から -4 までの乱数」としていて、その設定されたスピードずつy座標が変化する仕組みになっています。

キャラクターの見た目を乱数でコントロールする

最後、3つ目の例は、キャラクターの見た目(コスチューム)を乱数でコントロールする「つりゲーム」です。

https://scratch.mit.edu/projects/640758295/

これは、左から右に、色・形・大きさのことなる魚が流れてくるので、それを釣り上げるゲームです。

このゲームの中をみてみると、魚のスプライトは一つしかありません。

では、なぜ色・形・大きさが異なる魚が出現するかというと、コスチューム・色・大きさを乱数を使ってコントロールしているからです。

実は、この魚のスプライトには、種類の異なるコスチュームが5つ用意されています。

これらのスプライトを、乱数を使って切り替えています。

「1 から 5 までの乱数」というブロックを使って、コスチュームが切り替わるので、魚のクローンが作られるたびに、別な種類の魚が出てくるようになっています。

同じように、魚の色や大きさも、乱数を使って変化させています。

ここまで解説してきたように、乱数は、キャラクターが出現する位置、見た目、スピード、色、大きさなど、いろいろなものを毎回ちがうものになるように変化させることができる便利な機能です。

ぜひ新しい作品づくりに取り入れてみてください!

ゲーム制作やプログラミングをさらに学びたい方へ!

本ブログでは、Scratchを使ったゲーム制作の基本について解説していますので、ぜひご覧ください!

「お家でやったけれども、うまくいかなかった」「さらに高度なことをやってみたい!」という方へ

最近は、プログラミングを学習するためのアプリや本、無料のプラットフォームも増えてきて、子どもがプログラミングを学習する機会や環境も整ってきました。

しかし、保護者の方とお話ししていると

  • あきてしまって、長続きしなかった
  • 本やアプリで自習してみたけど、うまくいかなかった
  • 保護者の方がプログラミングの経験がなく、子どもに教えるのが難しい

といったお話をよくうかがうことも多いです。

そんな方は、一度当ブログを運営するプログラミング教室MYLABのレッスンを体験してみませんか?

MYLABのレッスンの特徴は以下のような特徴があります。

  • お子さまが楽しくプログラミングを続けることができるカリキュラム
  • 一人ひとりの「創りたい!」にこたえられる知識を持ち、成長をサポートできるメンター陣
  • 初学者だけでなく、ロボコンにチャレンジしたり、本格的な3Dゲームをつくったりする上級コースまで継続できる

「本当に楽しめるのかな?」「うちの子に合うかしら?」「飽きっぽいうちの子が続けられるかしら?」と思う方もいるかもしれません。

そんな方は、ぜひ一度無料で開催している体験レッスンに来て、実際に体験してみてください!

ゲーム・プログラミング体験(90分)

  • どんなゲームをつくることができるのか、まずは遊んでみる
  • ミッションをクリアするためのアイデアを考える
  • コーチのサポートを受けながら、自分のアイデアを実現する!

体験会では、お子さまが集中してプログラミングしたり、作品を作ったりしている普段とは違う姿をみられるはずです!

ご興味をもっていただいた方は、ぜひ下のボタンからお申し込みください!

オンラインまたはMYLAB中目黒校での
体験授業お申込みはこちら

 

ABOUT ME
柿沼 功
MYLAB事業責任者。経営学修士(MBA)。株式会社明光ネットワークジャパンにて、明光義塾のeラーニングシステム開発・運用の責任者をつとめ、2020年2月よりMYLAB事業に従事。