なんか作って載せます

乱数って、いろいろと使い道がありそうですね。

第08回:乱数について



 今回は「乱数」についてやっていきます。

 乱数は、コンピュータが勝手に発生させる数で、何が出るかは誰にも分かりません。
 これを用いれば、例えばクイズゲームで100問の中からランダムに1つ選んで出題するという仕組みを作ることができます。


 hen = rnd(100)

 上の1行で、変数henに0〜99の数のどれかが代入されるという意味になります。
 どの数が代入されるか分かりませんし、代入される確率はどの数字も100分の1です。
 このように、rnd関数は指定された範囲の乱数を発生させ、数値として使用できるようにします。

 関数とは、パラメータとして数値の代わりに書くことのできる命令のようなもの、ということらしいです。
 関数には必ず「()(括弧)」を付けて、関数のためのパラメータを指定します。
 rnd関数は、括弧の中に何通りの乱数を発生させるかを指定します。

 乱数として出てくる数は必ず“0から”なので、100通りであれば0〜99までということになります。
 0〜100ではないので注意。

 もしも、例えば10〜15までの乱数が欲しい時は、

 hen=rnd(6)
 hen=hen+10

 と書けば、変数henに10〜15のどれかが代入されます。

乱数を使った簡単なスクリプト

 上の例は、1〜5の乱数を発生させてそれを当てるというゲームのようなものです。

 4行目に出てきたinput命令というのは、数字などを入力する枠を配置するためのものです。

 実行すると、
乱数を使った簡単なスクリプト・実行

 このように、入力ボックスが表示されます。
 ここに1〜5のどれかをキーボードから入力してOKを押すと、「あたり。」か「ちがいました。」のどちらかが表示されます。

 数字当てゲームとして遊べるかと思いきや、実はこのままでは、毎回答えが同じなんですね。

 そこで、
乱数を使った簡単なスクリプト・修正

 このように、乱数発生の前に「randomize」という1行を追加します。
 すると、今度は見事に毎回違う答えになります。

 このrandomize命令を最初に入れておけば、そこから先の乱数は誰にも分からなくなります。

 例えば、

 hen1=rnd(5)
 hen2=rnd(5)
 hen3=rnd(5)

 このように乱数を発生させたとして、randomize命令が最初に入っていれば、全く予想のつかない乱数が出てきます。

 このrandomize命令を最初に入れることが乱数の決まりごとである。今のところは、そういうふうに覚えておけばいいそうです。


 今回はこれで終わり。


2012/05/04/Fri 更新

inserted by FC2 system