Andre Michelle and Joa Ebertが始めたライブラリpopforgeでNumber型(小数点付き)乱数を生成してみる。
残念ながらpopforgeの開発は停滞気味で2007-12から更新がない、ドキュメントも充実していないので使うにはソースを読みながらなこともあるのがツライ。
なことができるらしいのでとても興味がある。
簡単なトコから使ってみた。
import de.popforge.math.Random; var rand:Random = new Random((new Date()).time); for (var i=0;i<100;i++){ trace(rand.getNumber());// between 0 and 1 } |
Number型乱数製造ルーチン。
シードを与えて乱数を発生させる、他の言語でも一般的な手法がとられている。
今回はシードにタイムスタンプを使用。
getNumber( min: Number = 0, max: Number = 1 ): Number
関数rintは引数の小数点以下が0.5以上か未満で1/0を返す。
応用すると0/1をランダムに発生させることができる。
ランダム ON/OFF スイッチみたいなのができる。
ランダム・ソートの時に使えるかも。
import de.popforge.math.*; var rand:Random = new Random((new Date()).time); for (var i=0;i<100;i++){ trace(rint(rand.getNumber()));// 0 or 1 } |
rint( value: Number ): int
*戻り値の型がintなので-1になる場合がある。
ライブラリはsvnで、downloadにリンクされているのは古いので注意。