« 【講座】HSPたまひよ塾 - 第12回「キャラクターの移動(2)」 | メイン | 【講座】HSPよく使うフレーズ 第9回 画像を変形する »

2006年06月20日

【講座】HSP3ワンポイントテクニック 第9回

このコーナーでは、HSP3の変わった使用例や、気がつきにくい機能など
を紹介していきたいと思います。

今回は実数の乱数を得る方法についてご紹介します。
乱数は、通常rnd関数というもので得られます。
0から9までの10通りの乱数が欲しい時は、「変数=rnd(10)」
のように書けば、乱数が変数に代入されます。
しかし、rnd関数はあくまでも実用の範囲内で簡易的に求められており、
その範囲も整数で32768通り(15bit精度)までとなっています。
HSPで使用できる実数は、64bit精度になっており、数学の世界で
シミュレーションを行なう際などに必要となる乱数としては、
精度が足りないことがあります。
そこで、HSP3からは拡張プラグインHSPDAに実数で乱数を取得するための
命令が追加されています。
以下のスクリプトは、実数の乱数を20回表示するものです。

#include "hspda.as"
rndf_ini ; 乱数の初期化
mes "実数で0~1までの乱数を生成します。"
repeat 20
rndf_get dval ; 乱数の取得
mes "RND="+dval
loop

このプラグインで求めている乱数は、Mersenne Twisterと呼ばれる
優れたアルゴリズムを使用しています。詳しくは、以下のページを
参照してみてください。

Mersenne Twister Home Page
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html

(おにたま)

投稿者 usuaji : 2006年06月20日 23:13

口臭チェッカー市場