Pourquoi ne pas utiliser des fonctions pseudo-aleatoires mathematiques ?
l'algo generalement utilisé est le suivant:
================
germe: un entier // en anglais: "seed" tu as du deja entendre ca
// cette variable doit etre globale, reserve lui un espace memoire.
initialiser: l'action (n: un entier)
algo:
germe <- n;
nombre_au_hasard: la fonction (limite: un entier) -> un entier
algo:
germe <- f ( germe );
-> germe mod limite;
=================
ou f est une fonction idealement chaotique.
Comme en ASM ca sera tres compliqué d'avoir une fonction vraiment satisfaisante, vous pouvez vous contenter d'un germe sur 32 bits, et de la fonction suivant (tres connue)
f(x) = 4 * x * ( 1 - x )
les resultats sont assez satisfaisants pour une limite sur 8 bits ( ce qui est deja pas mal, pour une fonction tres simple ).
pour avoir un truc vraiment bien, essaye de reinitialiser le germe regulierement, avec une valeur dependant de l'horloge.