Aleatorio#
Introducción#
La biblioteca estándar de C++ proporciona funciones para generar números pseudoaleatorios. Estos se pueden usar en VEXcode EXP para comportamientos que requieren variabilidad o azar.
Funciones#
La <cstdlib> biblioteca incluye las siguientes funciones:
rand#
Devuelve un entero aleatorio entre 0 y 2,147,483,647.
Available Functionsint rand();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un entero aleatorio entre 0 y 32767.
NotesPara devolver un entero aleatorio dentro de un límite exclusivo, use el patrón
rand() % max.Para devolver un entero aleatorio dentro de un rango específico, use el patrón
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#
Establece la semilla que utilizará el generador de números pseudoaleatorios en la función rand.
void srand( unsigned int seed );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El valor inicial de la semilla. |
Esta función no devuelve un valor.
NotesLlame a
srandsolo una vez, cerca del inicio de su proyecto, antes de llamar arand. No es necesario llamarlo antes de cadarand.Si nunca se llama a
srand, el programa se comporta como si se usarasrand(1). Esto significa querandproduce la misma secuencia de números cada vez que se ejecuta el proyecto.Para obtener resultados diferentes cada vez que se ejecuta el proyecto, siembra con un valor que cambie entre ejecuciones, como el temporizador de Brain.
Para obtener los mismos resultados cada vez (útil para pruebas), sembrar con un número fijo como
srand(1).
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);