ランダム#

導入#

C++標準ライブラリには、擬似乱数を生成する関数が用意されています。これらの関数は、VEXcode EXPにおいて、変動性や偶然性を必要とする動作を実現するために使用できます。

機能#

<cstdlib> ライブラリには、以下の関数が含まれています。

  • rand — ランダムな整数を返します。

  • srand — 乱数シードを設定します。

rand#

0から2,147,483,647までのランダムな整数を返します。

Available Functions
int rand();

Parameters

この関数は引数を受け付けません。

Return Values

0から32767までのランダムな整数を返します。

Notes
  • 排他的な範囲内のランダムな整数を返すには、パターン rand() % maxを使用します。

  • 特定の範囲内のランダムな整数を返すには、パターン rand() % (max - min + 1) + minを使用します。

Examples
// 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 関数内の擬似乱数生成器で使用されるシードを設定します。

Available Functions
void srand( unsigned int seed );

Parameters

パラメータ

タイプ

説明

seed

unsigned int

初期シード値。

Return Values

この関数は値を返しません。

Notes
  • プロジェクトの開始直後、 randを呼び出す前に、 srand 一度だけ呼び出してください。4 rand呼び出す前に毎回呼び出す必要はありません。

  • srand が一度も呼び出されない場合、プログラムは srand(1) 使用されたかのように動作します。つまり、 rand プロジェクトが実行されるたびに同じ数列を生成します。

  • プロジェクトを実行するたびに異なる結果を得るには、Brain のタイマー のように、実行ごとに変化する値でシードします。

  • 毎回同じ結果を得るには(テストに役立ちます)、 srand(1)のような固定数でシードします。

Examples
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);