srand関数も MathSrand関数と同じ処理をします。
MathSrand (srand) 関数
この関数は、MathRand関数で発生させる疑似乱数を固定します。
疑似乱数の固定とは、MathSrand関数に引数を指定して MathRand関数を実行させると常に同じ疑似乱数を発生させることができます。
MathSrand関数の引数の値が同じであれば常に同じ結果になります。
常に違う乱数を発生させる場合は、MathSrand関数の引数に GetTickCount関数を使用します。
データ型と構成・戻り値
void MathSrand(①);
戻り値は無し。
引数 [1]
MathSrand関数は 1個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | seed | int | - | - | 一連の乱数を発生させるための番号。 |
使用例
MathSrand関数を使った乱数値の取得
引数を指定した MathSrand関数と MathRand関数を使って 5回乱数を発生させます。また、あわせて GetTickCount関数を使って乱数を発生させます。
コード
// MathSrand関数で発生する固定乱数値の取得
#property strict
void OnInit() {
int var = 1;
MathSrand(var);
for(int i=0; i<5; i++) {
Print(i+1, "回目:", MathRand());
}
uint a = GetTickCount();
MathSrand(a);
Print("GetTickCountの値:", a);
Print("GetTickCount関数使用乱数:", MathRand());
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
変数 var の値をいろいろ変えて試してみてください。