0/5 (14 avis)
Vue 5 089 fois - Téléchargée 211 fois
'déclaration des variables Dim aleat As Integer 'aleat est le nombre aléatoire qui déterminera le message a afficher Dim reponse As String 'reponse est la variable dans laquelle sera stockée la réponse Private Sub cmdSecouer_Click() Randomize aleat = Rnd * 1000 If aleat < 33.33 Then reponse = "oui" ElseIf aleat < 66.66 Then reponse = "non" ElseIf aleat < 99.99 Then reponse = "peut-être" ElseIf aleat < 133.32 Then reponse = "peut-être pas" ElseIf aleat < 166.65 Then reponse = "attend un peu" ElseIf aleat < 199.98 Then reponse = "patiente" ElseIf aleat < 233.31 Then reponse = "redemande plus tard" ElseIf aleat < 266.64 Then reponse = "sois plus patient" ElseIf aleat < 299.97 Then reponse = "ce n'est pas le bon moment" ElseIf aleat < 333.3 Then reponse = "dis-moi plus de choses à ce sujet..." ElseIf aleat < 366.63 Then reponse = "précise ta question" ElseIf aleat < 399.96 Then reponse = "articule !" ElseIf aleat < 433.29 Then reponse = "parle plus fort, je ne t'entend pas !" ElseIf aleat < 466.62 Then reponse = "qui a dit que je pouvais te répondre ?" ElseIf aleat < 499.95 Then reponse = "es-tu sûr de vouloir entendre la réponse ?" ElseIf aleat < 533.28 Then reponse = "n'as tu rien de plus intéressant à faire ?" ElseIf aleat < 566.61 Then reponse = "avant de répondre, j'aimerais en savoir plus sur toi" ElseIf aleat < 599.94 Then reponse = "je ne sais pas" ElseIf aleat < 633.27 Then reponse = "aucune idée" ElseIf aleat < 666.6 Then reponse = "reformule autrement ta question" ElseIf aleat < 699.93 Then reponse = "pourquoi le saurais-je ?" ElseIf aleat < 733.26 Then reponse = "on m'attend pour une partie de billard" ElseIf aleat < 766.59 Then reponse = "demande plutot à la boule blanche" ElseIf aleat < 799.92 Then reponse = "je n'ai pas réponse à tout" ElseIf aleat < 833.25 Then reponse = "je te le dirais plus tard" ElseIf aleat < 866.58 Then reponse = "tu m'as l'air désespéré" ElseIf aleat < 899.91 Then reponse = "tu me fatigue" ElseIf aleat < 933.24 Then reponse = "je ne suis pas un hochet" ElseIf aleat < 966.57 Then reponse = "laisse-moi me reposer" Else reponse = "ta question est trop compliquée" End If lblReponse.Caption = reponse End Sub
12 juin 2003 à 19:45
11 juin 2003 à 18:22
11 juin 2003 à 13:37
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.
9 juin 2003 à 15:52
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
9 juin 2003 à 11:55
Et c'est pas plutot "Randomize Timer" qu'il faut mettre ?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.