Jrk Trembley Posted January 5, 2019 Report Share Posted January 5, 2019 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 Link to comment Share on other sites More sharing options...
Pyrithe Posted January 6, 2019 Report Share Posted January 6, 2019 Pas de sujet de présentation, pas de précisions sur le problème, et ce qui est exposé ressemble vachement à un exercice qu'on te demande de faire... ==> N'attends pas trop de réponse ici! Link to comment Share on other sites More sharing options...
fabrice Posted January 6, 2019 Report Share Posted January 6, 2019 p, k ?? Link to comment Share on other sites More sharing options...
Pyrithe Posted January 7, 2019 Report Share Posted January 7, 2019 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... InstantT 1 Link to comment Share on other sites More sharing options...
fabrice Posted January 7, 2019 Report Share Posted January 7, 2019 @Pyrithe tu as vu que ce n'était pas la même personne qui a posté ?? Link to comment Share on other sites More sharing options...
Pyrithe Posted January 7, 2019 Report Share Posted January 7, 2019 il y a une heure, fabrice a dit : @Pyrithe tu as vu que ce n'était pas la même personne qui a posté ?? Oups!! J'ai été un peu vif sur ce coup! Du coup tu as la réponse!! Link to comment Share on other sites More sharing options...
Recommended Posts