BOULE DE BILLARD N°8 OU COMMENT FAIRE CONFIANCE AU HASARD...

krakkoukluk Messages postés 11 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 8 juin 2003 - 8 juin 2003 à 11:15
cs_Black Night Messages postés 44 Date d'inscription jeudi 5 octobre 2000 Statut Membre Dernière intervention 21 juin 2003 - 12 juin 2003 à 19:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/7389-boule-de-billard-n-8-ou-comment-faire-confiance-au-hasard

cs_Black Night Messages postés 44 Date d'inscription jeudi 5 octobre 2000 Statut Membre Dernière intervention 21 juin 2003
12 juin 2003 à 19:45
Je confirme tout ve que vous avez dit, et je rajoute un argument pour prouver que les nbr pseudo-anéatoires sont basés sur le temps : vous savez peur etre que le langage C repose sur une série de bibliotéques (ou plutot des headers pour les puristes), et la fonction qui initialise le générateur de nbr aléatoire se situe dans la bibliotheque <time.h> (time = temps)
Skywalker13 Messages postés 111 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 27 août 2004
11 juin 2003 à 18:22
Non je ne la connais pas.. et ça na finallement pas une grande importance, tant que sa parrait "aléatoire" pour notre petite tête. :-)
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
11 juin 2003 à 13:37
Pour les séries pseudo aléatoire, la basic en son temps utilisait des séries de fourrier, en gros on prend un certain nombre de valeurs qu'on multiplie entre elles modulo un nombre premier. Si ces valeurs sont prises à partir de l'horloge système (à la miliseconde près) on obtient un résultat qui parait très aléatoire. Ensuite chaque valeur calculée est soumise à une fonction des n valeurs précédentes (une multiplication par hasard) modulo toujours la même valeur.
Pour générer des nombres vraiment aléatoires, certains programmeurs (notamment celui qui a inventé le pgp) se bases sur les entrées utilisateur (temps d'appuis des touches clavier et déplacement de la souris) qui sont normallement assez cahotiques. Ensuite on revient sur une serie de fourrier réduite à une cinquantaine de valeurs si l'utilisateur ne touche plus à ses périphériques.
Je ne connait pas l'algorithme qu'utilise aujourd'hui le vb, mais on peut parier que son système de valeur aléatoires n'a pas changé depuis des lustres.
Ktb Messages postés 80 Date d'inscription mercredi 13 mars 2002 Statut Membre Dernière intervention 8 novembre 2006 1
9 juin 2003 à 15:52
non c'est randomize tout court : l'instruction initialise le générateur de nombres pseudo-aléatoires (n'est-ce pas skywalker ;)) en se basant sur l'horloge système : si tu ne mets pas randomize avant le rnd, tu peux relancer le prog autant de fois que tu veux, t'auras toujours la même série de nombres (sauf si tu redémarres l'ordi mais c'est un pei débile alors !).

Voilà ;), et en effet je confirme que les nombres générés sont pseudo-aléatoires, il me semble qu'en en connaissant quelques un consécutifs on peut prédire les autres (pas mal pour de l'aléatoire hein ? lol) mais je suis pas sûr que ça soit le cas avec VB.

P.S : Skywalker13, tu connais la suite utilisée par VB pour générer les nombres pseudo-aléatoires ? ça m'intéresse si t'as la réponse
@+ KtB
JoVB Messages postés 87 Date d'inscription lundi 4 novembre 2002 Statut Membre Dernière intervention 10 mars 2009
9 juin 2003 à 11:55
ouais juste... c'est en rapport avec le nombre de secondes écoulées depuis minuit, et je crois encore qqs autres paramètres !
Et c'est pas plutot "Randomize Timer" qu'il faut mettre ?
Skywalker13 Messages postés 111 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 27 août 2004
9 juin 2003 à 11:33
pour votre culture.. l'aléatoire n'existe pas en informatique.. c'est toujours du pseudo-aléatoire.
cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009
8 juin 2003 à 19:55
Prend aussi l'intégral de ton nombre aléatoire : int(rnd*1000), pour avoir des nombres entiers, tu peut aussi utiliser slect case au lieu de if
krakkoukluk Messages postés 11 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 8 juin 2003
8 juin 2003 à 19:38
merci black night !
cs_Black Night Messages postés 44 Date d'inscription jeudi 5 octobre 2000 Statut Membre Dernière intervention 21 juin 2003
8 juin 2003 à 18:28
De facons générales, met toujours l'instruction Randomize avant un nombre aléatoire : c'est cette instruction qui initialise le générateur de nombres aléatoires
Bonne prog
krakkoukluk Messages postés 11 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 8 juin 2003
8 juin 2003 à 12:54
merci pour le truc du Randomize mais franchement je vois pas vraiment la différence...
krakkoukluk Messages postés 11 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 8 juin 2003
8 juin 2003 à 12:49
eh bah c tout simple la boule de billard c est un petit jeux que tu peux trouver dans certains magazins, tu lui poses une question (existentielle), tu la secoues et tu regardes la réponse affichée dans le cadre qui ne veut souvent rien dire ou qui n'a aucun rapport avec la question
voila
vjeux Messages postés 92 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 5 décembre 2003
8 juin 2003 à 12:22
Un conseil met Randomize au début pour avoir un vrai chiffre aléatoire :D

Sinon j'ai pas trop compris l'histoire de la boule !?

Bonne continuation :D
vjeux Messages postés 92 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 5 décembre 2003
8 juin 2003 à 12:22
Un conseil met Randomize au début pour avoir un vrai chiffre aléatoire :D

Sinon j'
krakkoukluk Messages postés 11 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 8 juin 2003
8 juin 2003 à 11:15
bon je sais les méga pros me diront que j'aurais pu faire la boule en 3D et faire une animation pour secouer ou je sais pas quoi mais cette source est destinée comme ma précédente à l'usage des debutants pour leur faire connaitre la fonction Rnd
voili voila
Rejoignez-nous