1. #1
    Futur Membre du Club
    Inscrit en
    novembre 2012
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : novembre 2012
    Messages : 128
    Points : 16
    Points
    16

    Par défaut PC qui pioche une lettre random

    Bonsoir,

    J'ai une petite question :

    Comment faire pour que, sitot que qu'une lettre de l'alphabet sorte dans mon txtbox, je ne puisse plus la reutiliser ?

    En effet, j'ai un pendu a faire ou c'est le PC qui doit piocher des lettres et les tester sur le mot.

    Donc, il genere un nombre entre 1 et 26, prenons 5 donc E. Il compare, il la place et maintenant il ne peut plus la reutiliser.

    J'ai utiliser un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     Randomize()
            RandomNombre = (25 * Rnd()) + 1
     
            Select Case RandomNombre
     
                Case "1"
                    RandomLettre = "A"
                Case "2"
                    RandomLettre = "B"
                Case "3"
                    RandomLettre = "C"
                Case "4"
                    RandomLettre = "D"
                Case "5"
                    RandomLettre = "E"
                Case "6"
                    RandomLettre = "F"
                Case "7"
                    RandomLettre = "G"
                Case "8"
                    RandomLettre = "H"
                Case "9"
                    RandomLettre = "I"
                Case "10"
                    RandomLettre = "J"
                Case "1"
                    RandomLettre = "K"
                Case "12"
                    RandomLettre = "L"
                Case "13"
                    RandomLettre = "M"
                Case "14"
                    RandomLettre = "N"
                Case "15"
                    RandomLettre = "O"
                Case "16"
                    RandomLettre = "P"
                Case "17"
                    RandomLettre = "Q"
                Case "18"
                    RandomLettre = "R"
                Case "19"
                    RandomLettre = "S"
                Case "20"
                    RandomLettre = "T"
                Case "21"
                    RandomLettre = "U"
                Case "22"
                    RandomLettre = "V"
                Case "23"
                    RandomLettre = "W"
                Case "24"
                    RandomLettre = "X"
                Case "25"
                    RandomLettre = "Y"
                Case "26"
                    RandomLettre = "Z"
     
            End Select

    Mais je doute que ce soit la bonne méthode...

  2. #2
    Membre éclairé Avatar de Saintelaitlait
    Homme Profil pro
    Responsable ServiceDesk
    Inscrit en
    août 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable ServiceDesk
    Secteur : Service public

    Informations forums :
    Inscription : août 2011
    Messages : 179
    Points : 342
    Points
    342

    Par défaut

    Salut,

    Vite fait je mettrais les lettres dans un tableau.

    Random 0 à 26.

    tu sort 4, tu va ramasser la lettre à l'indice 4.

    tu retire cette indice(cellule) de ton tableau.

    tu random 0 a 25.

    tu sort 16, tu va ramsser la lettre à l'indice 16.

    tu retire cette indice(cellule) de ton tableau.

    tu random 0 a 24.

    Ainsi de suite!

    Y'a surement mieux, mais pour faire rapide sans te casser le chou, ca le fait.
    Logic is like the sword -- those who appeal to it, shall perish by it.

  3. #3
    Futur Membre du Club
    Inscrit en
    novembre 2012
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : novembre 2012
    Messages : 128
    Points : 16
    Points
    16

    Par défaut

    Hey

    Ouai pas con, mais tu entends quoi par : Tableau ?

    Une liste ?

  4. #4
    Membre éclairé Avatar de Saintelaitlait
    Homme Profil pro
    Responsable ServiceDesk
    Inscrit en
    août 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable ServiceDesk
    Secteur : Service public

    Informations forums :
    Inscription : août 2011
    Messages : 179
    Points : 342
    Points
    342

    Par défaut

    Ouais ben une liste oui

    J'ai taper ca vite fait. Avec un bouton et deux listbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
       Dim letterList As New List(Of Char)
     
        Private Sub fillLetterList()
            For Each c In "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray()
                letterList.Add(c)
            Next
        End Sub
     
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            fillLetterList()
            refreshUnsudedLetterList()
        End Sub
     
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Dim ra As New Random
            Dim index As Integer = ra.Next(0, letterList.Count - 1)
            Dim c As Char = letterList(index)
            ListBox2.Items.Add(c)
            letterList.RemoveAt(index)
            refreshUnsudedLetterList()
        End Sub
     
        Private Sub refreshUnsudedLetterList()
            ListBox1.Items.Clear()
            For Each c As Char In letterList
                ListBox1.Items.Add(c)
            Next
        End Sub

    Essaie tu va voir

    Bonne chance
    Logic is like the sword -- those who appeal to it, shall perish by it.

  5. #5
    Expert Confirmé
    Homme Profil pro
    Inscrit en
    février 2003
    Messages
    1 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 761
    Points : 2 995
    Points
    2 995

    Par défaut

    euh il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Char c =Convert.ToChar(New Random().Next(26) + (int) 'A')
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  6. #6
    Membre éclairé Avatar de Saintelaitlait
    Homme Profil pro
    Responsable ServiceDesk
    Inscrit en
    août 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable ServiceDesk
    Secteur : Service public

    Informations forums :
    Inscription : août 2011
    Messages : 179
    Points : 342
    Points
    342

    Par défaut

    Et qu'est-ce qui l'empêche de reprendre 6 comme random? Et de resélectionner "F"?


    C'est pas vraiment pratique une IA de pendu qui sélectionne 12 fois en ligne la lettre F
    Logic is like the sword -- those who appeal to it, shall perish by it.

  7. #7
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2006
    Messages
    1 645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : novembre 2006
    Messages : 1 645
    Points : 3 642
    Points
    3 642

    Par défaut

    Juste une petite remarque pour un raccourcis de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            For Each c In "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray()
                letterList.Add(c)
            Next
    peut-être écrit en une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     letterList = New List(Of Char)("ABCDEFGHIJKLMNOPQRSTUVWXYZ")

  8. #8
    Expert Confirmé
    Homme Profil pro
    Inscrit en
    février 2003
    Messages
    1 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 761
    Points : 2 995
    Points
    2 995

    Par défaut

    Citation Envoyé par Saintelaitlait Voir le message
    Et qu'est-ce qui l'empêche de reprendre 6 comme random? Et de resélectionner "F"?


    C'est pas vraiment pratique une IA de pendu qui sélectionne 12 fois en ligne la lettre F
    J'avais pas vu l'histoire de pas rependre 2x la même lettres
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo