ランダム#
導入#
C++標準ライブラリには、擬似乱数を生成する関数が用意されています。これらの関数は、VEXcode EXPにおいて、変動性や偶然性を必要とする動作を実現するために使用できます。
機能#
<cstdlib> ライブラリには、以下の関数が含まれています。
rand#
0から2,147,483,647までのランダムな整数を返します。
Available Functionsint rand();
この関数は引数を受け付けません。
Return Values0から32767までのランダムな整数を返します。
Notes排他的な範囲内のランダムな整数を返すには、パターン
rand() % maxを使用します。特定の範囲内のランダムな整数を返すには、パターン
rand() % (max - min + 1) + minを使用します。
// Display a random number
Brain.Screen.print("%d", rand());
// Display a random number between 0 and 100
Brain.Screen.print("%d", rand() % 101);
// Display a random number between 5 and 10
Brain.Screen.print("%d", rand() % (10 - 5 + 1) + 5);
srand#
rand 関数内の擬似乱数生成器で使用されるシードを設定します。
void srand( unsigned int seed );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
初期シード値。 |
この関数は値を返しません。
Notesプロジェクトの開始直後、
randを呼び出す前に、srand一度だけ呼び出してください。4rand呼び出す前に毎回呼び出す必要はありません。srandが一度も呼び出されない場合、プログラムはsrand(1)使用されたかのように動作します。つまり、randプロジェクトが実行されるたびに同じ数列を生成します。プロジェクトを実行するたびに異なる結果を得るには、Brain のタイマー のように、実行ごとに変化する値でシードします。
毎回同じ結果を得るには(テストに役立ちます)、
srand(1)のような固定数でシードします。
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);