Gambas France BETA


Pas de compte ? Incription

[Abandon]Nombre aléatoires

1
AuteurMessages
Foromus#1 Posté le 20/3/2010 à 13:22:00
Bonjour,

Il me semble que j'ai vu, il y a déjà un moment, un commentaire sur le sujet, mais je ne le retrouve pas.
Donc, au niveau aléatoire, je trouve que ce n'est pas terrible, souvent même, le même nombre sort deux fois de suite. J'ai tenté plusieurs astuces, par exemple, placer deux Randomize deux lignes de suite, voire, faire un (rnd * 10) inutile, avant de d'utiliser le (rnd * 5) dont j'ai besoin, cela dit, ce n'est pas le pied, j'ai quand même la nette impression que mes "astuces" ne changent pas grand chose. Enfin, on peut toujours se dire que le problème était déjà patent dans VB...
Si quelqu'un a un conseil judicieux...

Merci !
jeanyvon#2 Posté le 20/3/2010 à 17:16:00
Gambas? Ma! Et gustoAucune loi mathématique n'interdit une série de 50 fois le même nombre dans une suite aléatoire.
Faut faire avec :lol: :lol: :lol:
autre solution:
tu apprend le C.
Tu écrit un générateur de nombre aléatoire qui ne rentre pas dans le principe ci-dessus.
tu défend ta thèse de doctorat en math (Il n'y a pas de Nobel en Math... Dommage)
Tu le propose à Benoit pour qu'il le rentre dans gambas et tu fini ton travail
JY :pirat:
Vieillir? On peut retarder mais pas y échapper!
Foromus#3 Posté le 20/3/2010 à 17:32:00
C'est ben vrai ça, il n'y a aucune raison de sortir 50 fois le même nombre de 50 fois de suite avec 50 fois la même chose...
Bon, pour le C, j'ai déjà eu du mal à apprendre le français et à essayer de l'écrire correctement, faudrait voir à ne pas trop me compliquer la vie....
Donc, je vais "faire avec", ce ne sera d'ailleurs pas le premier truc dans ce cas de figure !
spheris#4 Posté le 21/3/2010 à 12:51:00
ou alors tu crées une petite fonction qui teste l'existence de ce nombre déjà sortie et tu l'écartes !
Je crois avoir déjà vu ça dans mes bouquins ancestraux de BASIC

;)
jeanyvon#5 Posté le 21/3/2010 à 15:53:00
Gambas? Ma! Et gusto
ou alors tu crées une petite fonction qui teste l'existence de ce nombre déjà sortie et tu l'écartes !
Je crois avoir déjà vu ça dans mes bouquins ancestraux de BASIC

;)

Hello!
ce ne sont plus des nombres aléatoires. Pour des jeux il faut accepter qu'un nombre sorte plusieurs fois de suite sinon ce n'est plus la chance mais le calcul. si tu es sur qu'un nombre déjà sortie ne sortira plus pendant un temps tu es dispensé de le jouer et tes chances de gagner grandissent..... :geek:
JY
Vieillir? On peut retarder mais pas y échapper!
spheris#6 Posté le 21/3/2010 à 22:40:00
exact JY,
utilisons donc notre bonne vieille methode avec RND
;)
tozman#7 Posté le 4/8/2010 à 21:19:00
quitte à ce que le même nombre sorte tout le temps, autant déclarer une constante ^^ :lol!:
Prokopy#8 Posté le 4/8/2010 à 21:52:00
Kinder PinguiHello,

Pour répondre vite fait à ta question, sache que le générateur de nombres aléatoires se base sur l'heure actuelle (en millisecondes quand même). Essaie de mettre un Wait 0.1 (ou quelque chose comme ça) entre deux générations de nombres aléatoires et ça ira mieux. N'oublie pas que tu dois utilliser Randomize à chaque fois que tu appelles Rnd(). ;)
Je me souviens j'ai eu le même problème récemment. :)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
spheris#9 Posté le 6/8/2010 à 14:15:00
Prokopy,
Pour confirmer tes dires et pour la véracité de l'information,
ou trouves tu dans la doc ou ailleurs que gambas utilise rnd avec l'heure systeme ?
Merci pour ta réponse.
;) ;)
Prokopy#10 Posté le 6/8/2010 à 16:48:00
Kinder PinguiDans la page de doc de Randomize. :lol:
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
spheris#11 Posté le 6/8/2010 à 19:34:00
Effectivement, prokopi tu as raison.
Tu es un fervent lecteur de la doc !
et les nombres alleatoires sont générés par l'algorithme TGFSR :
http://www.google.fr/url?sa=t&source=web&cd=3&ved=0CDEQFjAC&url=http%3A%2F%2Fwww.math.sci.hiroshima-u.ac.jp%2F~m-mat%2FMT%2FARTICLES%2Ftgfsr3.pdf&rct=j&q=algorithme%20twisted%20generalized%20feedback%20shift%20register&ei=EFVcTNDPJcPP4wam_OCzAg&usg=AFQjCNHbscELNZ2JDvwzKRNcIpw1xnDXJw&cad=rja

C'est peut etre la que le bas blesse Foromus. Il n'est peut etre pas adapté à ton application.
;) ;)
gambix#12 Posté le 9/8/2010 à 22:01:00
Faire simple !pour parler clair ... deux valeurs identiques de suite est vraiment aléatoire !... tu crois que des gouttes de pluie ne tombent jamais deux fois de suite au même endroit
un système réparti n'est pas aléatoire !
Moins de texte dans une signature c'est agrandir son espace.
1