Parcourir la source

Add SetRandomSeed(unsigned int seed) function (#1994)

Specifying a fixed seed for the random number generator is often
used in games for various reasons.

By adding an api function for seeding the random number generator
we solve two different problems regarding the seeding:

1) The underlying RNG implementation does not leak to client code
   (as would be the case if we called srand directly from the
   client code)
2) Seeding the RNG would be simple from other programming languages
   (especially in cases where calling libc functions is non-trivial)
pull/1995/head
Tommi Sinivuo il y a 3 ans
committed by GitHub
Parent
révision
3c55f067a8
Aucune clé connue n'a été trouvée dans la base pour cette signature ID de la clé GPG: 4AEE18F83AFDEB23
2 fichiers modifiés avec 7 ajouts et 0 suppressions
  1. +6
    -0
      src/core.c
  2. +1
    -0
      src/raylib.h

+ 6
- 0
src/core.c Voir le fichier

@ -2669,6 +2669,12 @@ int GetRandomValue(int min, int max)
return (rand()%(abs(max - min) + 1) + min);
}
// Set the seed for the random number generator
void SetRandomSeed(unsigned int seed)
{
srand(seed);
}
// Check if the file exists
bool FileExists(const char *fileName)
{

+ 1
- 0
src/raylib.h Voir le fichier

@ -1009,6 +1009,7 @@ RLAPI double GetTime(void); // Get elapsed
// Misc. functions
RLAPI int GetRandomValue(int min, int max); // Get a random value between min and max (both included)
RLAPI void SetRandomSeed(unsigned int seed); // Set the seed for the random number generator
RLAPI void TakeScreenshot(const char *fileName); // Takes a screenshot of current screen (filename extension defines format)
RLAPI void SetConfigFlags(unsigned int flags); // Setup init configuration flags (view FLAGS)

Chargement…
Annuler
Enregistrer