【スクラッチ(Scratch)】乱数とは?使い方をわかりやすく解説|ランダムな数字を出そう

この記事きじでは、スクラッチ(Scratch)「1~10までの乱数らんすうブロックの使つかかた紹介しょうかいします。

乱数らんすうとは、ある範囲はんい数値すうちから ランダムにした数値すうちのこと。

「1~10までの乱数らんすうブロックは、ゲームをつくるときなど 使つか機会きかいがとてもおおいブロックです。

というひとけ。

かんたんなプログラムをれいにあげながら紹介しょうかいします。

 

変数へんすうリストかる前提ぜんてい解説かいせつします。
変数へんすうやリストってなに?というひとした記事きじさきんでくださいね。

また、スクラッチがはじめてのひとは、した記事きじからごらんください。

スポンサーリンク

乱数(らんすう)とは

サイコロ

ゲームなどでは、「バラバラなかずしたい」ときがあります。

  • すごろくのサイコロ
  • てきがどこにあらわれるか
  • おみくじ
  • カードをシャッフル

こんなときに使つかうのが乱数らんすうです。

乱数らんすうは、ある範囲はんいからランダムにえらばれた数字すうじのことです。

ランダムとは、きまりがなく なにるかからないという意味いみです。

サイコロをふると、「1~6のどれか」がますが なにるかはかりません。

これがランダムです。

コンピューターのなかには、本物ほんもののサイコロはありません。

そのわり、サイコロのようにランダムな数字すうじつくって使つかっています。

 

「1~10までの乱数」ブロックの使い方

では、スクラッチで乱数らんすう使つかってみましょう。

「1~10までの乱数」ブロック

演算えんざんカテゴリにある「1~10までの乱数らんすうブロックを使つかいます。

1~10の部分ぶぶん一番いちばんちいさなかず一番いちばんおおきなかずれ、一番いちばんちいさなかずから一番いちばんおおきなかずまでの ランダムな数値すうちつくします。

 

例1:1から10の中でランダムな数字を言う

1から10の中でランダムな数字を言う

  1. イベントカテゴリの「このスプライトがされたとき」す。
  2. カテゴリの「こんにちは!と2びょうう」し、「このスプライトがされたとき」した配置はいちする。
  3. 演算えんざんカテゴリの「1~10までの乱数らんすうし、「こんにちは!と2びょうう」のこんにちは!の部分ぶぶん配置はいちする。
範囲はんい指定していした数値すうち小数しょうすうだった場合ばあい小数しょうすうかえってきます。

 

例2:コスチュームをランダムに変える

コスチュームをランダムに変える

Ghostのスプライトを使つかっています。

  1. イベントカテゴリの「このスプライトがされたとき」す。
  2. カテゴリの「コスチュームをghost-dにする」し、「このスプライトがされたとき」した配置はいちする。
  3. 演算えんざんカテゴリの「1~10までの乱数らんすうし、「コスチュームをghost-dにする」のghost-dの部分ぶぶん配置はいちする。
  4. 「1~10までの乱数らんすう「1~4までの乱数らんすうにする。
「コスチュームを()にする」ブロックで指定していしたあたいは、コスチューム一覧いちらんばんごう対応たいおうしたコスチュームになります。

 

例3:ランダムな座標へスプライトを動かす

ランダムな場所へスプライトを動かす
座標(ざひょう)とは、とある位置いち指定していするための 数字すうじわせのことです。

スクラッチでは、ステージじょう位置いちx座標ざひょう(左右)y座標ざひょう(上下)2つの座標ざひょう使つかってあらわします。

座標ざひょう乱数らんすうにすれば、ランダムな場所ばしょに スプライトを表示ひょうじさせることができます。

  1. イベントカテゴリの「このスプライトがされたとき」す。
  2. うごきカテゴリの「x座標ざひょうを0にする」し、「このスプライトがされたとき」した配置はいちする。
  3. 演算えんざんカテゴリの「1~10までの乱数らんすうし、「x座標ざひょうを0にする」の0の部分ぶぶん配置はいちする。
  4. 「1~10までの乱数らんすう「-240~240までの乱数らんすうにする。

 

例4:リストの項目をランダムに参照する

リストの項目をランダムに参照する

あらかじめリストをつくって、項目こうもくを10追加ついかしています。

  1. イベントカテゴリの「このスプライトがされたとき」す。
  2. カテゴリの「こんにちは!と2びょうう」し、「このスプライトがされたとき」した配置はいちする。
  3. 変数へんすうカテゴリの「リストの1番目ばんめし、「こんにちは!と2びょうう」のこんにちは!の部分ぶぶん配置はいちする。
  4. 演算えんざんカテゴリの「1~10までの乱数らんすうし、「リストの1番目ばんめの1の部分ぶぶん配置はいちする。

「1~10までの乱数らんすうの10の部分ぶぶん「リストのながさ」ブロックにすると、リストの項目こうもくすうわせた乱数らんすうつくれます。

リストの項目こうもくすうわっても プログラムをなおさなくてすみますよ。

スポンサーリンク

重複しない乱数の作り方

クイズの出題しゅつだいやビンゴのばんごうすときなど、ダブらないでランダムにあたいを1かいずつしたいときってありますよね。

リストの項目こうもくをランダムにならびえ、ならびえたリストの項目こうもく順番じゅんばん参照さんしょうする方法ほうほう紹介しょうかいします。

リストの項目をランダムにならび変える

まずハタがされたとき、リストの項目こうもくをランダムにならびえます。

リストの項目をランダムにならび変える

  1. 変数へんすう「そえじ」を10(リストの項目数こうもくすう)にする。
     
  2. 2-1~2-5を9かいくりかえす。
    2-1.変数へんすう「らんすう」を1から「そえじ」までの乱数らんすうにする。
    2-2.変数へんすう「たいひ」をリストの「らんすう」番目ばんめにする。
    2-3.リストの「らんすう」番目ばんめをリストの「そえじ」番目ばんめきかえる。
    2-4.リストの「そえじ」番目ばんめを「たいひ」できかえる。
    2-5.「たいひ」を-1ずつえる。
     
  3. 変数へんすう「そえじ」を1にする。

あらかじめリストをつくって、表示ひょうじさせたいあたいを10追加ついかしています。

変数へんすう「そえじ」「らんすう」「たいひ」つくります。役割やくわりしたのとおりです。

  • そえじ :
    (ハタがされたとき)リストの ならびかわっていない項目こうもく最後さいごあらわす。
    (このスプライトがされたとき)リストの項目こうもく順番じゅんばん表示ひょうじするときの添字そえじ
  • らんすう取得しゅとくした乱数らんすう保存ほぞん
    乱数らんすうブロックは実行じっこうするたびに、あたいわってしまうので変数へんすう保存ほぞんします。
  • たいひ :リストの項目こうもくれかえるとき使つかう。

 

一体いったいなにをしているのかというと、リストの項目こうもくを ランダムにえらんで、リストの一番後いちばんうしろと れかえています。

つぎはランダムにえらんだ項目こうもくと、リストのうしろから2番目ばんめ項目こうもくを れかえています。

これをくりかえして リストのうしろから ランダムな順番じゅんばんにならべかえ、リストの中身なかみをシャッフルします。

最後さいご変数へんすう「そえじ」を1にして、リストの項目こうもくを 順番じゅんばん表示ひょうじするときの 初期しょき設定せっていしておきます。

リストの項目をランダムに選んで、リストの一番後ろと入れかえ

 

リストの項目を入れかえる

2-2~2-4で、リストの項目こうもくれかえています。

リストの項目こうもくれかえるときは、退避たいひよう変数へんすう用意よういしましょう。

れい:リストの4番目ばんめと10番目ばんめれかえる場合ばあい

  1. 退避たいひ用の変数へんすうにリストの4番目ばんめあたい保存ほぞんする。
  2. リストの4番目ばんめをリストの10番目ばんめあたいきかえる。
  3. リストの10番目ばんめ退避たいひ用の変数へんすうあたいきかえる。

リストの項目を入れかえる

 

リストの項目を順番に表示する

スプライトがされたときの処理しょりで、ランダムにならびかえたリストの項目こうもく順番じゅんばん表示ひょうじします。

リストの項目を順番に表示する

 

実行じっこう結果けっか

【実行結果】リストの項目をランダムに表示

 

リストの長さが変わっても対応できるバージョン

したのプログラムは、リストのながさがいくつでも対応たいおうできるバージョンです。

リストの項目をランダムに表示する

さっきのプログラムと くらべてみてくださいね。

 

まとめ

スクラッチ(Scratch)の「1~10までの乱数らんすうブロックの使つかかた紹介しょうかいしました。

乱数らんすうとは、ある範囲はんい数値すうちから、ランダムにした数値すうちのことです。

ゲームやうらないなど乱数らんすう使つか機会きかいおおいので、ぜひマスターしましょう。

 

タイトルとURLをコピーしました