*標準ライブラリ - Rnd **説明 >Kuinでは、実はLib@RndやLib@RndFで乱数を生成することが出来るのですが、このライブラリを使用すれば、乱数のインスタンスを用意したり、乱数のseedの値を指定した乱数の生成などが行えます。&br()これはゲームのリプレイデータを生成する時など、常に固定の乱数列が得たい場合などに有効です。&br()因みにKuinで生成することが出来る乱数は、全てMT系乱数となっています。線形合同法とは格が違うのだ(ドヤァ) ---- #contents(fromhere=true) ---- *&aname(Rnd所有メソッド)所有メソッド **Make() : Rnd@CRnd ***&aname(Make説明)説明 >その昔MakeSeedと呼ばれていたものです。Seed値を指定して、乱数を生成するクラスを作ります。&br()1.00の中でも、古いやつはMakeSeedな仕様になっていないので、注意してください。 **&aname(Make引数)引数 -seed : int --初期化したいseed値を指定します ***&aname(Make戻り値)戻り値 -Rnd@CRnd --Rnd@CRnd型のクラスインスタンスが返ります。 --このインスタンスを利用して、様々な乱数を得ます。 --このメソッドで得た乱数のseedの値は実行ごとにオートで変わります。 ***&aname(Makeサンプルコード)サンプルコード(Ver1.00) #highlight(linenumber){{ func Main() var rndIns0 : Rnd@CRnd :: Rnd@Make(0) {Seed値を0として乱数クラスを生成} var rndIns1 : Rnd@CRnd :: Rnd@Make(917) {検証用にSeed値を917とした乱数クラスも生成} for i(1,10,1) do Dbg@Log("実行 : " ~ i.ToStr() ~ "回目") do Dbg@Log("初期SEED値 : 0,乱数値 : " ~ rndIns0.GetF().ToStr()) do Dbg@Log("初期SEED値 : 917,乱数値 : " ~ rndIns1.GetF().ToStr()) end for do Dbg@Log("全く同じSEEDでもう一度初期化します") do rndIns0 :: Rnd@Make(0) {Seed値を0として乱数クラスを生成} do rndIns1 :: Rnd@Make(917) {検証用にSeed値を917とした乱数クラスも生成} for i(1,10,1) do Dbg@Log("実行 : " ~ i.ToStr() ~ "回目") do Dbg@Log("SEED値 : 0,乱数値 : " ~ rndIns0.GetF().ToStr()) do Dbg@Log("SEED値 : 917,乱数値 : " ~ rndIns1.GetF().ToStr()) end for do Dbg@Log("初期化したSEED値が違えば得られる乱数が異なるが、") do Dbg@Log("初期化したSEED値が同じならば、同じ順番に同一の乱数列が得られることが分かる。") end func}}