もどる

 乱数の発生(関数:Rnd) その1
HOMEへ
PRODUCTSへ
LEARNING
LINKへ
LOGO
HeadLine
ORDER FORMへ
Image画像
MailTo:

もどる


(c) Copyright 2005 VBAを基礎から解説 VBA World All rights reserved.
E-Mail:info@vba-world.com

ゲームでは敵キャラの出現や動きなどがプレーヤに悟られないようにすることで面白くします。乱数を発生させてその乱数によって敵キャラを出現させたり動きを決定したりします。

乱数はゲームだけでなく、ランダムにデータを集める場合などにも応用できます。
Rnd関数

Rnd関数は 0 以上、1 未満の範囲の値を返す。したがって、任意の範囲で整数の乱数を発生させるには次のように記述してやる必要がある。

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

upperbound:範囲の上限の値
lowerbound:範囲の下限の値
Randomizeステートメント

上記の記述のみで Rnd関数を使用して乱数を発生させた場合、発生する乱数系列はすべて同じ系列になる。つまり、いつも同じ順番で乱数が生成される。
毎回違った乱数系列を発生させるためには、Rnd関数を呼ぶ前に Randomize ステートメントを使用する。
このようにすると、プログラム実行のたびにランダムに乱数が生成されるようになる。
実際に乱数を発生させる

フォーム上に TextBox1、CommandButton1 が配置されているとして、以下の内容でプログラムする。


Option Explicit

Private Sub CommandButton1_Click()
 Dim intMax As Integer
 Dim intMin As Integer

 intMax = 10
 intMin = 1

 Me.TextBox1.Value = Int((intMax - intMin + 1) * Rnd + intMin)

End Sub


この例では、CommandButton1をクリックするたびに、1〜10の乱数が発生し、TextBox1に表示される。