-
Probleme de random
Alors voila j'ai créé quatre random les un après les autres dans une boucle for (...) comme ceci:
Random colone = new Random();
int col = colone.Next(2);
Random ligne = new Random();
int lig = ligne.Next(2);
Random colone1 = new Random();
int col1 = colone1.Next(2);
Random ligne1 = new Random();
int lig1 = ligne1.Next(2);
Le probleme c'est que le random me donne les meme valeurs a chaque fois. Càd que j'ai toujours mais 4 integer egal les un aux autres. (col = lig = col1 = lig1 = 1 ou = 2 ou =0) Pour les 1,2 ou 0 pas de probleme. Mais pourquoi sont il tjrs egaux entre eux???
-
As tu pensé à changer la "seed" de ton generateur ? (cf msdn)
Pourquoi passer par 4 generateurs ? autant en prendre 1 seul et faire
4 next... ca serait plus simple...
Et dans le constructeur du random, tu peux passer une valeur pour "initialiser"
ton générateur...
genre :
Random rdm1 = new Random(unchecked((int)DateTime.Now.Ticks));
Voila
The Monz, Toulouse
-
J'avais pas pensé a faire simple avec 4 next Ca marche deja mieux avec ca. Sinon j'ai pas compris ce que tu voulais dire par "initialiser" le random.
Sinon merci.
-
beh le random genere toujours la meme suite de nombre sauf si tu "l'initialise"
avec une valeur qui provient d'un élement changeant...
En gros, en prenant le temps depuis le debut du monde ;), tu vas initialiser
ton générateur de nombre avec une valeur différente à chaque fois et donc
obtenir une serie de nombre générés différente à chaque fois...
L'interet du seed (random(seed)) est de pouvoir si tu avais à re-générer la
meme serie de pouvoir le faire.. (genre dans un simulateur par exmple, lors d'une phase de rejeu de ta simulation.. pour ne pas citer un exemple que je connais
assez bien ;)
The Monz, Toulouse
-