Code vb

Fermé
milou43
Messages postés
13
Date d'inscription
mardi 24 août 2010
Statut
Membre
Dernière intervention
2 juin 2011
- Modifié par irongege le 30/11/2010 à 07:56
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
- 30 nov. 2010 à 07:55
ReBonjour,

J'ai déjà posté cette question sur un post précédent mais n'ayant aucune réponse je me permet de relancer.

je code une application (morpion) sur vb et j'ai une partie de code qui se répète. J'aimerais concaténer PictureBox avec une variable (ex : i) qui varie dans une boucle ce qui pourrait réduire mon code de pas mal de lignes! J'ai essayé de chercher pendant longtemps mais la je bloque vraiment. Je sais pas si je suis claire j'espère!! et si vous avez une autre idée pour réduire ce code je suis preneuse. S'il n'y a pas d'autre moyen que celui ci-dessous pourriez-vous me le dire svp. C'est urgent.

Merci d'avance.

Je vous joint ci-dessous mon code.

Private Sub BtnJouer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnJouer.Click 

        Initialiser() 

        Randomize() 
        Nbr = CInt(Rnd() * 9) 

        Select Case (Nbr) 
            Case Is = 1 
                PctBox1.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                PctBox1.SizeMode = PictureBoxSizeMode.StretchImage 
            Case Is = 2 
                PctBox2.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                PctBox2.SizeMode = PictureBoxSizeMode.StretchImage 
            Case Is = 3 
                PctBox3.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                PctBox3.SizeMode = PictureBoxSizeMode.StretchImage 
            Case Is = 4 
                PctBox4.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                PctBox4.SizeMode = PictureBoxSizeMode.StretchImage 
            Case Is = 5 
                PctBox5.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                PctBox5.SizeMode = PictureBoxSizeMode.StretchImage 
            Case Is = 6 
                PctBox6.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                PctBox6.SizeMode = PictureBoxSizeMode.StretchImage 
            Case Is = 7 
                PctBox7.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                PctBox7.SizeMode = PictureBoxSizeMode.StretchImage 
            Case Is = 8 
                PctBox8.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                PctBox8.SizeMode = PictureBoxSizeMode.StretchImage 
            Case Is = 9 
                PctBox9.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                PctBox9.SizeMode = PictureBoxSizeMode.StretchImage 
        End Select 

        TabOccupe(Nbr) = "Oui" 
        TabRond(Nbr) = "Oui" 

        BtnJouer.Visible = False 

    End Sub 

    Sub Coup_Ordinateur() 

        Dim Nbr As Integer 

        Nbr = 0 
        TabOccupe(0) = "Oui" 

        While (TabOccupe(Nbr) = "Oui") 
            Nbr = CInt(Rnd() * 9) 
        End While 

        Select Case (Nbr) 
            Case Is = 1 
                If TabOccupe(1) <> "Oui" Then 
                    PctBox1.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                    PctBox1.SizeMode = PictureBoxSizeMode.StretchImage 
                End If 
            Case Is = 2 
                If TabOccupe(2) <> "Oui" Then 
                    PctBox2.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                    PctBox2.SizeMode = PictureBoxSizeMode.StretchImage 
                End If 
            Case Is = 3 
                If TabOccupe(3) <> "Oui" Then 
                    PctBox3.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                    PctBox3.SizeMode = PictureBoxSizeMode.StretchImage 
                End If 
            Case Is = 4 
                If TabOccupe(4) <> "Oui" Then 
                    PctBox4.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                    PctBox4.SizeMode = PictureBoxSizeMode.StretchImage 
                End If 
            Case Is = 5 
                If TabOccupe(5) <> "Oui" Then 
                    PctBox5.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                    PctBox5.SizeMode = PictureBoxSizeMode.StretchImage 
                End If 
            Case Is = 6 
                If TabOccupe(6) <> "Oui" Then 
                    PctBox6.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                    PctBox6.SizeMode = PictureBoxSizeMode.StretchImage 
                End If 
            Case Is = 7 
                If TabOccupe(7) <> "Oui" Then 
                    PctBox7.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                    PctBox7.SizeMode = PictureBoxSizeMode.StretchImage 
                End If 
            Case Is = 8 
                If TabOccupe(8) <> "Oui" Then 
                    PctBox8.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                    PctBox8.SizeMode = PictureBoxSizeMode.StretchImage 
                End If 
            Case Is = 9 
                If TabOccupe(9) <> "Oui" Then 
                    PctBox9.Image = System.Drawing.Bitmap.FromFile(My.Application.Info.DirectoryPath & "\..\..\..\PhotoMorpion\Rond2.png") 
                    PctBox9.SizeMode = PictureBoxSizeMode.StretchImage 
                End If 
        End Select 

        TabOccupe(Nbr) = "Oui" 
        TabRond(Nbr) = "Oui" 

    End Sub


2 réponses

lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 194
Modifié par lermite222 le 30/11/2010 à 04:01
Un projet exemple
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 194
Modifié par lermite222 le 30/11/2010 à 08:02
Plus d'explications ici
A+
Edit : la fonction Rnd n'est pas juste tu pourrais avoir 0
Nbr = CInt(Rnd() * 8)+1
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0