ブロックの使い方演算

スクラッチの乱数とは?「〇から〇までの乱数」ブロックの使い方を解説!

スクラッチでもよく使う「乱数」。

乱数を簡単に作れるのが、「〇から〇までの乱数」ブロックです。

こちらは、乱数とは何なのか?乱数の使い方について、詳しく徹底解説しています!

スポンサーリンク

乱数とは?

乱数とは、指定した範囲の数値の中から、ランダムに取り出した数値のことです。

簡単にいえば、サイコロがまさに乱数です。

一般的なサイコロは「1~6」の数字が書かれていますよね。

サイコロを振ると、ランダムで「1~6」のいずれかの数字がでます。

プログラミングの乱数は、「1~6」の小さな範囲ではなく、特定の範囲や、大きな範囲、小さな範囲も自由に設定できます。

乱数は以下のような場合などで使われます。

  • キャラクターの動きや位置をランダムに決める
  • アイテムの出現場所をランダムに決める
  • パスワードを自動生成

「〇から〇までの乱数」ブロック

「〇から〇までの乱数」ブロックは、指定した2つ数値の範囲でランダムな数値を返します。

初期設定では、「1から10までの乱数」となっており、「1~10」のいずれかの数値を返します。

試しに、「1から10までの乱数」ブロックをクリックしてみましょう。

すると、このように「1~10」の範囲でランダムで数値を返しています。

整数と少数で値が変わる

「〇から〇までの乱数」ブロックでは、指定範囲が「整数」と「少数」で返す値が変わります。

「1から100までの乱数」の場合は、指定した2つ数値はともに「整数」で返ってきた値も「整数」となっています。

しかし、どちらかの数値に「少数」が入っている場合は、「少数」で値が返ってきます。

もしも、指定する2つ数値が共に「整数」であっても、「少数」を返したい場合は、「1.0」のように小数点をつけて設定しましょう。

「〇から〇までの乱数」ブロックの使用例

こちらでは、「〇から〇までの乱数」ブロックの使用例を紹介します。

ランダムに泳ぐ魚

スクラッチプロジェクトの中を見る

こちらは海の中で魚がランダムに動くプログラムです。

スクリプトの内容は、この通り。

まず、x座標とy座標は、乱数を使って変数に格納しています。

そして、条件分岐で、もしも変数xが0よりも大きい場合は、右向きに、それ以外なら左向きに向きを変えます。

これで、魚が右を向いたり、左を向いたりします。

そして、「〇秒でx座標を〇に、y座標を〇に変える」ブロックを使って、魚をランダムに移動させています。

移動時間については、「1~3」の乱数を設定していて、座標は変数xと変数yを入れています。

これで、海の中で魚が泳いでいるプログラムが完成しました。

こういったランダムで動くプログラムでは必ず乱数が使われます。

ただし、こちらのプログラムの魚の動きを見ると、ちょっとおかしな時がありますよね?

それは、「x座標:0」を基準に、魚の向きを決めているためです。

自然な動きをするには、もう少し手を加える必要があります。

どうやればうまくいくか、考えてみましょう。

演算ブロック一覧

「演算」ブロックには、以下の11個のブロックが用意されています。

  • 真偽ブロック・・・7つ
  • 値ブロック・・・11つ

ブロックの色は、黄緑色で統一されています。

演算ブロック 動作
〇+〇(足し算)
指定した2つの数値を足し算した結果を返す
〇-〇(引き算)
指定した2つの数値を引き算した結果を返す
〇*〇(掛け算)
指定した2つの数値をかけ算した結果を返す
〇/〇(割り算)
指定した2つの数値を割り算した結果を返す
〇から〇までの乱数
指定した2つ数値の範囲でランダムな数値を返す
〇<〇(小なり)
左の値が右の値より小さいときにtrueを、そうでないときにfalseを返す
〇=〇(イコール)
左の値と右の値が同じときにtrueを、そうでないときにfalseを返す
〇>〇(大なり)
左の値が右の値より大きいにtrueを、そうでないときにfalseを返す
◇かつ◇
指定した2つの条件で両方とも満たすときにtrueを、そうでないときにfalseを返す
◇または◇
指定した2つの条件でどちらか一方を満たすときにtrueを、そうでないときにfalseを返す
◇ではない
指定した条件がtrueであればfalseを、そうでないときにtrueを返す
〇と〇(文字列結合)
2つの値を連結して、くっつけた値を返す
〇の〇番目の文字
指定した文字列から指定した番号の文字を返す
〇の長さ(文字列長さ)
指定した文字列の文字数を返す
〇に〇が含まれる
指定した文字列に指定した文字列が含まれるときにtrueを、含まれていないときにfalseを返す
〇を〇で割った余り
1つめの値を2つめの値で割ったときの余りを返す
〇を四捨五入
指定した数値を四捨五入した値を返す
〇の▢(関数)
指定した数値を指定した数学関数で演算した値を返す