Précédent   Forum du club des développeurs et IT Pro > Dotnet > Langages > VB.NET
VB.NET Forum d'entraide sur la programmation Visual Basic .NET. Avant de poster -> FAQ VB.NET, Articles VB.NET, Sources VB.NET
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/12/2012, 18h54   #1
Naografix
Invité de passage
 
Inscription : novembre 2012
Messages : 17
Détails du profil
Informations forums :
Inscription : novembre 2012
Messages : 17
Points : 1
Points : 1
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...
Naografix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 19h06   #2
Saintelaitlait
Membre éclairé
 
Avatar de Saintelaitlait
 
Homme Pier-Olivier Tremblay
Responsable ServiceDesk
Inscription : août 2011
Messages : 177
Détails du profil
Informations personnelles :
Nom : Homme Pier-Olivier Tremblay
Âge : 22
Localisation : Canada

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

Informations forums :
Inscription : août 2011
Messages : 177
Points : 347
Points : 347
Envoyer un message via MSN à Saintelaitlait
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.
Saintelaitlait est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 20h46   #3
Naografix
Invité de passage
 
Inscription : novembre 2012
Messages : 17
Détails du profil
Informations forums :
Inscription : novembre 2012
Messages : 17
Points : 1
Points : 1
Hey

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

Une liste ?
Naografix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 22h03   #4
Saintelaitlait
Membre éclairé
 
Avatar de Saintelaitlait
 
Homme Pier-Olivier Tremblay
Responsable ServiceDesk
Inscription : août 2011
Messages : 177
Détails du profil
Informations personnelles :
Nom : Homme Pier-Olivier Tremblay
Âge : 22
Localisation : Canada

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

Informations forums :
Inscription : août 2011
Messages : 177
Points : 347
Points : 347
Envoyer un message via MSN à Saintelaitlait
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.
Saintelaitlait est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/12/2012, 09h05   #5
BenoitM
Expert Confirmé
 
Homme Benoît
Inscription : février 2003
Messages : 1 659
Détails du profil
Informations personnelles :
Nom : Homme Benoît
Âge : 32
Localisation : Belgique

Informations forums :
Inscription : février 2003
Messages : 1 659
Points : 2 785
Points : 2 785
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
BenoitM est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 21/12/2012, 15h15   #6
Saintelaitlait
Membre éclairé
 
Avatar de Saintelaitlait
 
Homme Pier-Olivier Tremblay
Responsable ServiceDesk
Inscription : août 2011
Messages : 177
Détails du profil
Informations personnelles :
Nom : Homme Pier-Olivier Tremblay
Âge : 22
Localisation : Canada

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

Informations forums :
Inscription : août 2011
Messages : 177
Points : 347
Points : 347
Envoyer un message via MSN à Saintelaitlait
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.
Saintelaitlait est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 22h05   #7
Sankasssss
Modérateur
 
Avatar de Sankasssss
 
Homme Gaëtan Wauthy
Développeur .NET
Inscription : novembre 2006
Messages : 1 366
Détails du profil
Informations personnelles :
Nom : Homme Gaëtan Wauthy
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : novembre 2006
Messages : 1 366
Points : 3 224
Points : 3 224
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")
__________________
Règles du forum + Comment utiliser Developpez.com =
Si vous développez en .NET, la FAQ, les tutos et l'aide MSDN sont vos amis !!!
LINQ c'est puissant...
Sankasssss est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/12/2012, 20h13   #8
BenoitM
Expert Confirmé
 
Homme Benoît
Inscription : février 2003
Messages : 1 659
Détails du profil
Informations personnelles :
Nom : Homme Benoît
Âge : 32
Localisation : Belgique

Informations forums :
Inscription : février 2003
Messages : 1 659
Points : 2 785
Points : 2 785
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
BenoitM est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h58.


 
 
 
 
Partenaires

Hébergement Web