※解説修正情報※
2013-03-11:数値範囲についての補足修正

■VarRandom【変数へ指定範囲の乱数を代入】

▼概要
指定した変数スロットのVarへ指定した範囲の乱数を代入する。
一度に変更できるのは1つの変数スロットのみ。
Varについて詳しくは該当ページを参照。関連項目もVar参照。
変更できる対象
T-/Var()


▼必須記述
V = (Int型) ;代入するT-/Var()の指定
  • 他のVarは使用できない
  • 存在しない変数スロットを指定するとエラーが流れる。

▼オプション
Range = (最大値Int型) ;指定方法1:0~指定値までの乱数
Range = (最小値Int型), (最大値Int型) ;指定方法2:最小値~最大値までの乱数
  • 省略時、0~1000までの数値を返す。
  • 範囲の限界は最小値から+32767まで
    • つまり「-500,500」の指定でも機能する。
  • 乱数の基本値が15bit?の「最大32767」のようで、
    32768を割り切れる数値範囲以外の場合、偏りが生じるかも?
    • 0~1023の場合、範囲は0を含めた「1024の範囲」という具合。
    • とは言え3桁以下の範囲ならそこまで酷い偏りにはならないはず。
    • 一応2の累乗数ならキッチリと割り切れる。
    • 「0~32767」自体の偏りは不明。


■Lv1-記述例・補足・注意点

記述例
[State 2000, varrandom]
Type = varrandom
Trigger1 = !Time
V = 2
Range = 3
  • Var(2)に0~3のいずれかの数値を代入する。
[State 2000, varset];varrandom代替
Type = varset
Trigger1 = !Time
V = 2
value = (Random % 4)
  • T-/Randomでの代用。こうした記述でもほぼ同様。
  • ただし大きな数値の場合はVarRandomの方が偏りを少なくできる。

補足
  • 細かい点はVarのページを参照
  • 小さい数値ならT-/Randomでの代用代入の方が楽。

注意点
  • 細かい点はVarのページを参照



最終更新:2013年03月11日 12:55