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());
}
}