-
bloque par random
salut,
je suis bloque par random, je genere un tableau de nombres aleatoires qui ne le sont pas puisque a chaque fois que j'execute les meme nombres se retouvent au memes endroits.
j'ai l'impression que c'est le randomize qui coince vu qil fonctionne avec un "seed" et donc a prioris , a un "seed" correspond une serie et une seule.
donc pas vraiement alleatoire.
des idées ??
-
Re: bloque par random
La fonction Randomize() permet de changer le seed.
-
Re: bloque par random
Tu m'apprends quelque chose, Oliver. j'ai toujours cru que randomize restreignait le seed plutôt que de le rendre aléatoire. Par exemple, je croyais que randomize(1) produisait toujours les mêmes nombres quand on appelait random par la suite, alors qu'un random sans randomize était un vrai random... [img]/epicentre/images/%%GRAEMLIN_URL%%/crazy.gif[/img]
-
Re: bloque par random
Randomize() permet effectivement de fixer le seed. Donc si on appelle toujours Randomize(1) puis Random(XXX) on devrait avoir la même suite de nombres à chaque fois. Mais si on fait Randomize(Random(XXX)) là on doit avoir quelquechose de beaucoup plus aléatoire.
C'est comme ça que j'ai compris ces fonctions, mais peut-être que je me trompe.
-
Re: bloque par random
(on ne répétera jamais assez ^^)
pour générer un vrai tableau de random, il faut que la souche sois unique à chaque fois.
Pour cela, il suffit tout simplement de récupérer la date et l'heure et de les concaténer pour avoir une valeur qui changera toujours
8h 34min 26s : 16/05/08
avec tout ça, on fabrique un chiffre de ce genre 083426160508
ce chiffre changera toujours au moins jusqu'en 2200 après JC
et voilà un beau seed ^^
-
Re: bloque par random
ah bien vu le coup de la date et l'heure.
effectivement, j'etais bloque par randomize qui me renvoyait toujours la meme suite de chiffres.
merci.
(et c'est vrai, on ne le repetera jamais assez .. faudrait p'tet le mettre dans la doc officielle dans ce cas)
-
Re: bloque par random
Oui je n'ai pas trouvé de description pour la fonction Randomize() dans la doc. Est-ce que le paramètre à une valeur maximale comme pour la fonction Random()?
-
Re: bloque par random
ça marche !! donc ça donne :
jai ajoute un objet date & time puis dans randomize , j'ai mis :
year of( "Date & Time" )+month of( "Date & Time" )+day of month of( "Date & Time" )+hours of( "Date & Time" )+minutes of( "Date & Time" )+seconds of( "Date & Time" )
voila!!
-
Re: bloque par random
à savoir que la graine du nombre aléatoire est aléatoire à chaque démarrage de l'appli.
-
Re: bloque par random
A partir de la version ou il y a l'enregistrement de demos, tu trouveras une nouvelle property dans ldes proprietes de la frame, "Random generator". Mise à -1, le germe est aleatoire (nombre de millisecondes depuis l'allumage de la machine), mise à un chiffre au dessus de 0, cela force le germe.