Il existe en mathematiques une fonction qui te sort un nombre pseudo-aleatoire.
Comme ce nom l'indique, ce nombre n'est pas totalement aleatoire, cependant il l'est presque. Cette fonction a ete implementee sur les ordinateurs. Le probleme avec cette fonction c'est qu'elle sort toujours les memes nombres "a la suite". En gros, meme si les nombres en eux sont aleatoires, on connait la suite des nombres.
Sur les ordinateurs, quand tu utilise la fonction pour retourner le nombre aleatoire, cette derniere utilise "le temps depuis que le pc est allume" comme parametre de la fonction.
Avec cette methode on est sur de ne "jamais" utiliser 2 fois le meme parametre (tant que l'on a pas ralume le pc).
Mais helas, avec cette methode il y un incovenient.
On pourrait "deviner" le nombre qui va sortir. Ben oui, la fonction va retourner le meme nombre si l'on utilise le meme parametre.
L'astuce qu'on trouve les constructeurs des ordinateurs a ete de "decaler" la fonction.
Etant donne que la fonction est continue vers l'infini, il n'y a pas de probleme lors du decalage.
C'est ainsi que lorsque tu allume ton pc, ce dernier va "decaler" la fonction pseudo-aleatoire en fonction de la date de ce dernier (nbre de milisecondes depuis une date precise).
On va decaler "le zero" de la fonction. Par consequent, tant que le pc est allume, la fonction va retourner le meme nombre si l'on utilise le meme parametre (parametre qui de toute facon ne peut pas etre "influence" par l'utilisateur). Mais une fois que le pc est redemarre, la fonction sera decalee. Par consequent si l'on tente d'utiliser un parametre de la derniere "session", cette fois ci le nombre sera different (a cause du decalage).
J'espere que mes explications n'ont pas ete trop obscures.