Satunnainen#

Johdanto#

C++:n standardikirjasto tarjoaa funktioita pseudo-satunnaislukujen luomiseen. Näitä voidaan käyttää VEXcode EXP:ssä käyttäytymismalleihin, jotka vaativat vaihtelua tai sattumaa.

Toiminnot#

<cstdlib> -kirjasto sisältää seuraavat funktiot:

  • rand — Palauttaa satunnaisen kokonaisluvun.

  • srand — Asettaa satunnaisen siemenluvun.

rand#

Palauttaa satunnaisen kokonaisluvun väliltä 0 ja 2 147 483 647.

Available Functions
int rand();

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Palauttaa satunnaisen kokonaisluvun väliltä 0 ja 32767.

Notes
  • Palauttaaksesi satunnaisen kokonaisluvun poissulkevan rajan sisällä, käytä kuviota rand() % max.

  • Palauttaaksesi satunnaisen kokonaisluvun tietyltä alueelta, käytä kuviota 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#

Asettaa siemenarvon, jota pseudo-satunnaislukugeneraattori käyttää rand-funktiossa.

Available Functions
void srand( unsigned int seed );

Parameters

Parametri

Tyyppi

Kuvaus

seed

unsigned int

Lähtöarvo siemenille.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Kutsu srand vain kerran, lähellä projektisi alkua, ennen randkutsumista. Sinun ei tarvitse kutsua sitä ennen jokaista rand kutsua.

  • Jos funktiota srand ei koskaan kutsuta, ohjelma käyttäytyy ikään kuin funktiota srand(1) olisi käytetty. Tämä tarkoittaa, että funktio rand tuottaa saman numerosarjan joka kerta, kun projekti suoritetaan.

  • Saadaksesi erilaisia ​​tuloksia jokaisella projektin suorituskerralla, anna alkuarvoksi arvo, joka muuttuu suorituskertojen välillä, kuten Brain’s timer.

  • Saadaksesi samat tulokset joka kerta (hyödyllinen testausta varten), anna siemeneksi kiinteä luku, kuten srand(1).

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