llFrand
float llFrand(float max)
max未満のランダムな小数値を返す。
小数値は必ず0.0以上である。
例えばllFrand(1.0)であれば、0.0~0.9999999....の範囲の値をランダムに返す。
小数値は必ず0.0以上である。
例えばllFrand(1.0)であれば、0.0~0.9999999....の範囲の値をランダムに返す。
ランダムな整数を取りたい場合は単にキャストすれば良い。
例えば以下の例は6面サイコロをシミュレートしたユーザー関数の例である。
例えば以下の例は6面サイコロをシミュレートしたユーザー関数の例である。
integer dice(){ return ((integer)llFrand(6.0) + 1); } default { touch_start(integer num_detected) { llSay(0, (string)dice()); } }
0からではなく、10~20の間の範囲でランダムな値を取りたいような場合は、
llFrand(最大値 - 最小値) + 最低値
のようにすれば良い。
integer rand(integer min, integer max){ return ((integer)llFrand(max - min) + min); } default { touch_start(integer num_detected) { llSay(0, (string)rand()); } }