Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Invité régulier
    Inscrit en
    novembre 2012
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : novembre 2012
    Messages : 37
    Points : 5
    Points
    5

    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 :
    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 Pier-Olivier Tremblay
    Responsable ServiceDesk
    Inscrit en
    août 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Nom : Homme Pier-Olivier Tremblay
    Âge : 23
    Localisation : Canada

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

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

    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
    Invité régulier
    Inscrit en
    novembre 2012
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : novembre 2012
    Messages : 37
    Points : 5
    Points
    5

    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 Pier-Olivier Tremblay
    Responsable ServiceDesk
    Inscrit en
    août 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Nom : Homme Pier-Olivier Tremblay
    Âge : 23
    Localisation : Canada

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

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

    Par défaut

    Ouais ben une liste oui

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

    Code :
    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 Benoît
    Inscrit en
    février 2003
    Messages
    1 710
    Détails du profil
    Informations personnelles :
    Nom : Homme Benoît
    Âge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 710
    Points : 2 704
    Points
    2 704

    Par défaut

    euh il suffit de faire
    Code :
    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 Pier-Olivier Tremblay
    Responsable ServiceDesk
    Inscrit en
    août 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Nom : Homme Pier-Olivier Tremblay
    Âge : 23
    Localisation : Canada

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

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

    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 Gaëtan Wauthy
    Développeur .NET
    Inscrit en
    novembre 2006
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Nom : Homme Gaëtan Wauthy
    Âge : 31
    Localisation : Belgique

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

    Informations forums :
    Inscription : novembre 2006
    Messages : 1 576
    Points : 3 660
    Points
    3 660

    Par défaut

    Juste une petite remarque pour un raccourcis de code :

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

  8. #8
    Expert Confirmé
    Homme Profil pro Benoît
    Inscrit en
    février 2003
    Messages
    1 710
    Détails du profil
    Informations personnelles :
    Nom : Homme Benoît
    Âge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 710
    Points : 2 704
    Points
    2 704

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •