Ouui et non: il existe une fonction, sous stdlib.h, qui te permets de créer un nombre pseudo-aléatoire; en partant d´un nombre, il lui fait faire une suite de calculs relativements spécifiques à chaque nombre...
Un bon exemple, simple, est l´exponantiation: chaque nombre exponantié donnera un nombre différent. Alors, le truc est d´exploiter plusieurs choses dans le même genre...
C´est simple, c´est basé sur plusieurs fonctions différentes: srand() et rand().
srand part le nombre sur lequel il faudrait se baser pour faire les nombres pseudo aléatoires.
Il prend comme paramètres le nombre, unsigned int, où partir le random number generator.
rand(), lui, à partir de srand(), prend le seed, qui lui est passé d´une certaine façon, et génère un nombre entre 0 et RAND_MAX.
Le truc, c´est de repartir le srand avec un nombre qui change SOUVENT, à quelques intervales de rand(), ou même chaque rand()), si tu est maso. Comment avoir un nombre qui change souvent? Simple: utiliser le temps courant à très petite précision! Genre... des secondes. Et hors, justement, il existe une fonction pour ça: time() ( inclus dans time.h).
time_t time ( time_t * timer ) ;
Le paramètre est un pointeur vers une structure time_t où mettre les infos de temps: mais si on indique NULL, alors il ne sera pas mis de côté, mais RETOURNÉ QUAND MÊME! Alors, ça retourne le nombre de secondes depuis le 1er Janvier 1970.
On mélange tout, et voilà:
- include < time.h>
- include < stdlib.h>
//[...]
//Obtiens le nombre sur lequel
//se baser pour partir le
//random number generator
unsigned int base = ( unsigned int)time(NULL);
//Part le random number generator
srand(base);
//Trouve un nombre aléatoire entre 0 et RAND_MAX
int randomNumber = rand();
Kelios
---------