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
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)
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)