Au sujet de la fonction random [Résolu]

cs_saadox 69 Messages postés vendredi 20 novembre 2009Date d'inscription 6 juin 2011 Dernière intervention - 4 janv. 2010 à 22:12 - Dernière réponse : cs_saadox 69 Messages postés vendredi 20 novembre 2009Date d'inscription 6 juin 2011 Dernière intervention
- 5 janv. 2010 à 16:47
Bonsoir;
Je voudrai svp avoir de l'aide pour bien manipuler la fonction dite Random,en effet je veux developper mon jeu de pendu ,qu'on puisse jouer contre la machine, ceci dit, je voudrai fournire au programme une liste de mot qu'il choisira par hazard suivant ca liste random.

donc bref je veux savoir comment devrai-je faire pour creer une liste de mots ,comment forcer le programme a choisir chaque fois un nouveau mot qu'il va pas reprendre par la suite jusqu'a ce qu'il ait deja fini tous les mots de la liste !

ce mot choisi devrai aprés passer par une variable de type string donc comment pourrai-je le recuperai et le mettre dedons?

merci infiniment a tous ceux qui m'aidrent sur ce sujet.

Developper c'est créer une nouvelle vie, Celle qu'on trouve parfaite...Saad.
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 5 janv. 2010 à 14:43
3
Merci
tu récupères un numéro
sert toi de ce numéro comme l'index de ton tableau non??

TextBox1.Text = t(r.Next(1, 6))

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de PCPT
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 4 janv. 2010 à 22:27
0
Merci
salut,

la question est sur le hazard (random) ? ou le hazard unique?

une fois les mots chargée en liste, tu supprimes le mot utilisé, il ne sera pas re-pioché

sinon le random vb.net permet aussi l'unicité mais il nous faut ton code pour t'orienter

++
[hr]
Commenter la réponse de PCPT
cs_saadox 69 Messages postés vendredi 20 novembre 2009Date d'inscription 6 juin 2011 Dernière intervention - 4 janv. 2010 à 22:35
0
Merci
pour le code j'y pense tjr mais disons que je veux juste un pti bout de code ou y'a chargement de quelques mots dans une liste et dont le programme choisira hazardement a chaque fois un nouveau nom ce nom va etre affecté par la suite a une variable string avec la quelle je pourrai travailler ou sinon travailler avec le mot directe si y'a moyen ,Pour l'hazard unique je crois que j'ai comprid l'astuce
merci d'avoir repondu.

Developper c'est créer une nouvelle vie, Celle qu'on trouve parfaite...Saad.
Commenter la réponse de cs_saadox
cs_saadox 69 Messages postés vendredi 20 novembre 2009Date d'inscription 6 juin 2011 Dernière intervention - 5 janv. 2010 à 13:57
0
Merci
donc toujours pas de reponse, je cherche encore sinon, alors si quelqu'un veut bien m'aider ca srait assez gentil :)

Developper c'est créer une nouvelle vie, Celle qu'on trouve parfaite...Saad.
Commenter la réponse de cs_saadox
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 5 janv. 2010 à 14:12
0
Merci
montre où tu en es, ton code

comment sont chargés tes mots etc...
qu'on ne parte pas de zéro
Commenter la réponse de PCPT
cs_saadox 69 Messages postés vendredi 20 novembre 2009Date d'inscription 6 juin 2011 Dernière intervention - 5 janv. 2010 à 14:24
0
Merci
D'accord :

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim t(6) As String
        'la je remplis un tableau de differents mots :
        'je sais pas si c'est la methode ou nn
        'mais c'est ce qui m'est vnu a l'esprit !
        t(1) = "lune"
        t(2) = "voiture"
        t(3) = "cable"
        t(4) = "informatique"
        t(5) = "ordinateur"
        t(6) = "random"
        ' je vide la zone textbox pour qu'il y'ait juste un seul mot a chaque click :
        TextBox1.Clear()
        Dim r As New System.Random
        'normalement la je veux avoir un mot alleatoire qui s'affiche dans 
        'la zone textbox en apuiyant sur le bouton, 
        'et c'est la que je bloc
        TextBox1.Text = r.Next(t(1), t(6))
        'j'ai tiré ce code d'un pti programme qui genere 
        'une liste de nombre entre 0 et 9 
        'voila le code en entier
        'Dim r As New random

        'For i As Integer = 0 To 15
        '    If i 4 Or i 8 Or i = 12 Then
        '        TextBox1.Text &= "-"
        '    End If

        '    TextBox1.Text &= r.Next(0, 9)

        'Next
        'mais comment faire pour qu'a la place des nombre je puisse mettre des mots !
    End Sub
End Class


voila je sais pas comment faire..

Developper c'est créer une nouvelle vie, Celle qu'on trouve parfaite...Saad.
Commenter la réponse de cs_saadox
cs_saadox 69 Messages postés vendredi 20 novembre 2009Date d'inscription 6 juin 2011 Dernière intervention - 5 janv. 2010 à 15:04
0
Merci
j'etas mort dlisant ta reponse
mais comment j'ai fait pour passer a cté de ca mdr merci bien PCPT ca marche maintenant.

sinon srait il possible de creer une liste de mot directement dans une fonction random sans avoir a passer par un tableau, une liste que la fonction va parcourire quand on lui demandra un mot au hazard.

sinon y'a toujour le probleme du mot qui peut se repeter deux fois de suite, comment devrais-je faire pour eviter cela ?!

Merci pour la reponse :)


Developper c'est créer une nouvelle vie, Celle qu'on trouve parfaite...Saad.
Commenter la réponse de cs_saadox
cs_saadox 69 Messages postés vendredi 20 novembre 2009Date d'inscription 6 juin 2011 Dernière intervention - 5 janv. 2010 à 15:05
0
Merci
correction :
J'etais mort de rire en lisant...*

Developper c'est créer une nouvelle vie, Celle qu'on trouve parfaite...Saad.
Commenter la réponse de cs_saadox
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 5 janv. 2010 à 15:34
0
Merci
sinon y'a toujour le probleme du mot qui peut se repeter deux fois de suite, comment devrais-je faire pour eviter cela

il se répète parce que la portée de ton random est celle du click
il faut déclarer ton tableau hors de la procédure




sinon srait il possible de creer une liste de mot directement dans une fonction random sans avoir a passer par un tableau

non mais pareil tu peux déclarer ton tableau à portée de la form et l'instancier en une seule ligne
... = {"lune", "voiture", "cable", ...}


NB : attention à bien vérifier que le click ne soit pas produit plus de 6 fois dans ton cas
Commenter la réponse de PCPT
cs_saadox 69 Messages postés vendredi 20 novembre 2009Date d'inscription 6 juin 2011 Dernière intervention - 5 janv. 2010 à 16:01
0
Merci
donc je declare le tableau sur ma Form load comme suit:
t(1,2,3,4..)={"voiture","cable","jardin","merci",..}

mais pour le NB je crois que ca sra pas trop utile car le tableau je vais bien le remplir genre 100 mots ou plus comme ca meme si je traite pas le cas du mot qui se repete deux fois y'aura de faible chance que ca se produit .

merci encore

Developper c'est créer une nouvelle vie, Celle qu'on trouve parfaite...Saad.
Commenter la réponse de cs_saadox
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 5 janv. 2010 à 16:13
0
Merci
met le enabled du bouton à false, la chance sera encore plus faible...


le développement c'est aussi "penser à l'impensable", on en loin du compte avec "je code pas, y'a peu de risques" tu crois pas?!!

enfin, fait comme tu le sens, le problème est résolu? si c'est le cas n'oublie pas de valider la ou les bonnes réponses

++
Commenter la réponse de PCPT
cs_saadox 69 Messages postés vendredi 20 novembre 2009Date d'inscription 6 juin 2011 Dernière intervention - 5 janv. 2010 à 16:47
0
Merci
je gerai ca quand je codrai mon vrai programme le code de taleur etait juste un exp
et merci encore pour l'aide, ca m'a etait d'une grande utilité. :)

Developper c'est créer une nouvelle vie, Celle qu'on trouve parfaite...Saad.
Commenter la réponse de cs_saadox

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.