【スクラッチ(Scratch)】乱数を使ってみよう!

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

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

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

という方向け。

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

変数へんすうとリストが分かる前提ぜんてい解説かいせつします。変数へんすうやリストって何?という方は下の記事を先に読んでくださいね。

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

スポンサーリンク

乱数とは

サイコロ

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

ランダムは、きまりがなくデタラメということです。

 

「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をコピーしました