p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Futur Membre du Club
    Inscrit en
    novembre 2012
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : novembre 2012
    Messages : 133
    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 : 25
    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
    133
    Détails du profil
    Informations forums :
    Inscription : novembre 2012
    Messages : 133
    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 : 25
    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 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 771
    Points : 2 998
    Points
    2 998

    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 : 25
    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 682
    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 682
    Points : 3 789
    Points
    3 789

    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 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 771
    Points : 2 998
    Points
    2 998

    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

Discussions similaires

  1. programme qui dessine une lettre
    Par TGV6975 dans le forum Débuter
    Réponses: 3
    Dernier message: 27/02/2010, 13h45
  2. Réponses: 2
    Dernier message: 21/12/2009, 06h35
  3. Afficher des noms qui commencent par une lettre donnée
    Par kroma23 dans le forum Bases de données
    Réponses: 1
    Dernier message: 22/11/2008, 16h48
  4. Afficher les pseudos qui ne commencent pas par une lettre.
    Par asoka13 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/07/2007, 17h30
  5. Réponses: 4
    Dernier message: 04/05/2007, 22h49

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