Bonsoir tous le monde je suis Junior, je suis nouveau sur le forum. j'espère que vous aller tous bien; Bref j'ai un programme que je dois terminer et je suis bloqué au niveau du bouton evolution, car ca ne marche pas. je vous copie l'intégralité de mon code, pour que vous m'aidiez un peu parce que je suis à cours d'idées. Le problème se trouve où j'ai mis des etoiles.
Public Class JeuDeLaVie
Dim Graph As Graphics 'Declaration des varaibles de types graphique et de type tableaux.
Dim Cellules(49, 49) As Rectangle
Dim cellulesVivantes(49, 49) As Byte
Dim DecompteVoisin(49, 49) As Byte
Dim i, j As Byte
Private Sub JeuDeLaVie_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Graph = PictureBox1.CreateGraphics() 'Procedure permettant de creer un graphique dans la picturebox
End Sub
Private Sub ButtonQuitter_Click(sender As Object, e As EventArgs) Handles ButtonQuitter.Click
End 'Procedure permettant la fermeture du programme
End Sub
Private Sub PictureBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseClick
Dim CouleurVivante As New SolidBrush(Color.Red)
Dim CouleurMort As New SolidBrush(Color.White)
For i = 0 To 49
'i,j Permet de determiner le nombre de carreau que l'on va devoir dessiner sur la verticale et sur l'horizontale avant de remplir toute notre pictureBox.
For j = 0 To 49
If Cellules(i, j).Contains(e.Location) Then
'Cette Fonction determine si le point que nous voulons colorié est contenu dans notre rectangle.
If e.Button = MouseButtons.Right Then
'e.Button obtient le bouton de la sourie sur lequel on appuie, Mouse lui specifie les constantes qui definissent quel bouton de la sourie.
'Cette procedure permet d'envoyer une action à executer daaans le cas où le bouton ddroit de la sourie serait appuyer.
Graph.FillRectangle(CouleurMort, Cellules(i, j))
'Procedure permettant de Remplir l'interieur d'un rectangle poointé par la souris avec la couleur que l'on aura choisi.
cellulesVivantes(i, j) = 0
'Lorsque l'on appuie sur le click droit de la souris nous donnons la mort à une cellule et donc cette cellules prend la valeur "0"
Dim Carré As New Rectangle(i * 10, j * 10, 10, 10)
Cellules(i, j) = Carré
Graph.DrawRectangle(New Pen(Color.Black, 0.01F), Carré)
ElseIf e.Button = MouseButtons.Left Then
'Cette procedure là nous permet d'indiquer la tache à executer lorsque nous effectuons un click Gauche de la souris, Dans ce cas nous créons la vie en coloriant notre cellules en Rouge et en inserant la valeur "1".
Graph.FillRectangle(CouleurVivante, Cellules(i, j))
cellulesVivantes(i, j) = 1
End If
End If
Next
Next
End Sub
******Private Sub ButtonEvolution_Click(sender As Object, e As EventArgs) Handles ButtonEvolution.Click
***** Dim k, p As Byte
****** DecompteVoisin(i, j) = -cellulesVivantes(k, p)
******* For k = i - 1 To j + 1
******** For p = j - 1 To j + 1
****** If k = 1 And (DecompteVoisin(i, j) < 2 Or DecompteVoisin(i, j) > 3) Then cellulesVivantes(k, p) = 0
******* If k = 0 And DecompteVoisin(i, j) = 3 Then cellulesVivantes(k, p) = 1
******* DecompteVoisin(i, j) = DecompteVoisin(i, j) + cellulesVivantes(k, p)
******Next
**** Next
**** DecompteVoisin(i, j) = DecompteVoisin(i, j) - cellulesVivantes(i, j)
***** End Sub
Private Sub ButtonAfficher_Click(sender As Object, e As EventArgs) Handles ButtonAfficher.Click
For i = 0 To 49
For j = 0 To 49
'i,j Permet de determiner le nombre de carreau que l'on va devoir dessiner sur la verticale et sur l'horizontale avant de remplir toute notre pictureBox.
Dim Carré As New Rectangle(i * 10, j * 10, 10, 10)
'Cette procedure permet de limiter la taille de nos rectangle et à quels intervalles les placés sur l'axe des ordonnées et sur l'axe des abscisses.
Cellules(i, j) = Carré
'Affectation De notre tableau de cellules à un rectangle nommés carré afin de nous permettre de controler dans quelle case nous placons notre sourie avec la fonction "Mouse".
Graph.DrawRectangle(New Pen(Color.Black, 0.01F), Carré)
'Cette procedure nous permet de tracer nos Rectangle sur la pictureBox.
Next
Next
End Sub
End Class