Aller au contenu

Blocage sur un programme


Jrk Trembley

Messages recommandés

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
 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 9 heures, fabrice a dit :

p, k ??

Je serai tenté de répondre "parceuqueu"...

Mais sans céder à la facilité, tu es ici sur un forum dédié aux pros.

Le minimum est donc de bien formaliser ses demandes, en indiquant les tenants et aboutissants, en indiquant le maximum sur le problème, ce qui a été tenté pour le corriger, etc...

 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...