隨機的#
介紹#
C++標準函式庫提供了產生偽隨機數的函式。這些函數可用於VEXcode V5中需要變化性或隨機性的行為。
函數#
<cstdlib> 庫包含以下函數:
rand#
傳回 0 到 2,147,483,647 之間的隨機整數。
Available Functionsint rand();
此函數不接受任何參數。
Return Values傳回 0 到 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在專案開始不久,呼叫
srand一次,然後再呼叫rand無需在每調用rand之前都調用它。如果從未呼叫過
srand,程式的行為就如同使用了srand(1)。這意味著每次運行 `randrand都會產生相同的數字序列。為了在每次專案運行時獲得不同的結果,請使用在運行之間會改變的值作為種子,例如 Brain 的計時器。
為了每次都得到相同的結果(對測試很有用),使用固定的數字作為種子,例如
srand(1)。
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);