プログラム関連~チラシの裏~―メルセンヌ・ツイスタ(擬似乱数)のクラスサンプルの詳細表示プログラム関連~チラシの裏~スパム対策したりプログラム組んだり色々やってる為替とは別の面を表に出してみた。Exampleを実行する。ないブログに表示されています。新しい記事を書く事で広告が消えます。()Category:メルセンヌ・ツイスタ(擬似乱数)のクラスサンプル●ここのサンプルで学べること。・operator=の代入演算子ってなに?・explicitの使い方。ここが本家のURLです。SP6QT4.3.4のMinGW付属のGCCVC側では実行しまくってテストしましたがQT側ではテストしていません。ビルドの確認のみです。●概要cMTRandは、メルセンヌツイスタを利用した擬似乱数発生クラスです。乱数テーブルを作成しXORを利用して乱数を生成します。cSrc){};等を実行する事ができます。内部変数の初期化のみ。種を使ってデフォルトの乱数テーブルを作成します。&cSrc);コピーコンストラクタ。cSrc){};を作ってBonyuKure(A);をやれば呼ばれます。~cMTRand();デストラクタバーチャルなので派生させてもくるはず。cMTRandとかやったらハゲコンストラクタの前によばれハゲデストラクタの後に乱数(cMTRand)のデストラクタが呼ばれる。・Initialize()初期化。メモリを確保した後に呼べば消せないメモリがつくれます。privateにすべきもの。);乱数の種と乱数テーブルのサイズを指定して乱数作成。srand();と同じ物だとおもってください。キーテーブルの長さ);乱数の種を配列にして複雑なものを作りたいとき用。InitSeedの強化版。ゲームとして複雑にしたい場合はこっち。今のゲーム機はCPU早いから複雑でもいいよね。int(64bit)型で乱数を取得するが32bitでは無能。dobule(64bit)型で乱数を取得するそれぞれの方に合わせた乱数取得。初期化をしなくても取得時に初期化されていないことを判別してますので生成時にいきなり使ってもOKですよ。あと、MT_UINT64って何?typedefした64BITの変数名にしてます。longが使えて64BITだったり。プレステ2みたいにlongで64Bitだったり色々あるじゃない。VC6.0のように_int64で64Bit対応場合もある。クラスのヘッダで#ifとかで条件コンパイルしてます。VC6.0とそれ以外でわけてある。PS2で使いたければその部分書き換えてください。PSPでもいけるはず。詳細はソースコードをダウンロードして実際に見てください。cMTRand.hに入ってます。仕事を終えた後に作ってるので間違ってたりする個所があるはずです。できれば、コメントに指摘を入れてくれるとありがたいです。Exampleを実行する。Exampleを実行する。Exampleを実行する。Exampleを実行する。(03/23)メルセンヌ・ツイスタ(擬似乱数)のクラスサンプル(03/22)QT(キュート)/Windowsで環境を作成してサンプル実行(03/22)[失敗例]Qt(キュート)でウィンドウを作る。suna77777.。