乱数(ランダム)を使ってより面白いプログラムに挑戦しよう。
乱数を扱うことができ、うまく使うと、 コンピュータ(プログラム)上で、きまぐれや、偶然などを表すことが可能となります。
ランダム/乱数とは、でたらめ/予想がつかない数のこと。
VBで乱数を扱うには、Rnd()関数を用い、「Rnd(1)」を 実行すると、0〜1までの適当などれかの数値(小数)となる。
使用例;
x = Rnd(1)このようにすると、変数xにランダムな0〜1までのどれかの数値が代入されることになる。
実際には計算式の中でRnd(1)を利用するのが一般的である。
VBのプログラムで、さいころの目を出すプログラムを作ってみましょう。
さいころは、1〜6の整数がランダムに出るものです。
次のようにプログラムするのがベストです。
Randomize
x = Int( Rnd(1) * 6 ) + 1
Label1.Caption = x
このようにすると、xに1から6までの数値(整数)が代入され、結果的にLabel1にさいころの目が表示される。
最初のRandomaizeという命令は、ランダム(Rnd関数)を使うための準備として必要となる。
つまり RandomizeはRndを使う場合の約束として1回だけ最初にどこかで実行(プログラム)させておく 。
Randomizeが無くても動くことは動くが、忘れずに書いておこう。
2行目の右辺は、まずRnd(1)により0〜1(未満)の小数となり、これに6をかけることで、0から6未満の適当な値(少数)となり、更にInt()関数によってその値が無理矢理整数に切り捨てられる。つまりここで0から5までの適当な整数となる。更に
+1をすることにより、1から6までの整数となる。
よって、コンピュータでサイコロを振ったと同じことになる。
さいころを複数回振りたければ全く同様にすればよい。プログラムは一度しか使えない命令など基本的にはない。
例えばこのサイコロの目によって、きまぐれや、偶然などを表すことが可能。
もしRPGゲームを作ろうとした場合、さいころを振って1が出れば強い敵、6がでれば弱い敵を出現させるなど。。。
もちろん、1〜6までの整数である必要はなく、同じようにランダムを使えば、使い方は無限大。工夫次第によって無限の可能性がある。