イナヅマTVログ

de.popforge.math.Random, Number型乱数を生成させる

| 0件のコメント

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にリンクされているのは古いので注意。

コメントを残す

必須欄は * がついています


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください