From 1876d0e1b20a96d075a66f77895388858464f2a5 Mon Sep 17 00:00:00 2001
From: Emma Sattler <e.sattler@etu.unistra.fr>
Date: Tue, 30 Mar 2021 20:53:18 +0200
Subject: [PATCH] Grisement des boutons + simplicfication code FormJeu

---
 view/FormJeu.Designer.cs |  15 ++-
 view/FormJeu.cs          | 193 +++++++++++++++++++++++++++++----------
 2 files changed, 154 insertions(+), 54 deletions(-)

diff --git a/view/FormJeu.Designer.cs b/view/FormJeu.Designer.cs
index 1c10981..95e71f4 100644
--- a/view/FormJeu.Designer.cs
+++ b/view/FormJeu.Designer.cs
@@ -142,10 +142,11 @@ namespace Wanderer.view
             this.btnUsine.Name = "btnUsine";
             this.btnUsine.Size = new System.Drawing.Size(167, 77);
             this.btnUsine.TabIndex = 5;
+            this.btnUsine.Tag = "4";
             this.btnUsine.Text = "Usine";
             this.btnUsine.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.btnUsine.UseVisualStyleBackColor = false;
-            this.btnUsine.Click += new System.EventHandler(this.btnUsine_Click);
+            this.btnUsine.Click += new System.EventHandler(this.btn_Click);
             // 
             // btnTrain
             // 
@@ -161,10 +162,11 @@ namespace Wanderer.view
             this.btnTrain.Name = "btnTrain";
             this.btnTrain.Size = new System.Drawing.Size(167, 77);
             this.btnTrain.TabIndex = 6;
+            this.btnTrain.Tag = "3";
             this.btnTrain.Text = "Train";
             this.btnTrain.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.btnTrain.UseVisualStyleBackColor = false;
-            this.btnTrain.Click += new System.EventHandler(this.btnTrain_Click);
+            this.btnTrain.Click += new System.EventHandler(this.btn_Click);
             // 
             // btnRefuge
             // 
@@ -180,10 +182,11 @@ namespace Wanderer.view
             this.btnRefuge.Name = "btnRefuge";
             this.btnRefuge.Size = new System.Drawing.Size(167, 77);
             this.btnRefuge.TabIndex = 7;
+            this.btnRefuge.Tag = "0";
             this.btnRefuge.Text = "Refuge";
             this.btnRefuge.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.btnRefuge.UseVisualStyleBackColor = false;
-            this.btnRefuge.Click += new System.EventHandler(this.btnRefuge_Click);
+            this.btnRefuge.Click += new System.EventHandler(this.btn_Click);
             // 
             // btnChemin
             // 
@@ -199,10 +202,11 @@ namespace Wanderer.view
             this.btnChemin.Name = "btnChemin";
             this.btnChemin.Size = new System.Drawing.Size(167, 77);
             this.btnChemin.TabIndex = 8;
+            this.btnChemin.Tag = "1";
             this.btnChemin.Text = "Chemins";
             this.btnChemin.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.btnChemin.UseVisualStyleBackColor = false;
-            this.btnChemin.Click += new System.EventHandler(this.btnChemin_Click);
+            this.btnChemin.Click += new System.EventHandler(this.btn_Click);
             // 
             // btnClub
             // 
@@ -218,10 +222,11 @@ namespace Wanderer.view
             this.btnClub.Name = "btnClub";
             this.btnClub.Size = new System.Drawing.Size(167, 77);
             this.btnClub.TabIndex = 9;
+            this.btnClub.Tag = "2";
             this.btnClub.Text = "Club";
             this.btnClub.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.btnClub.UseVisualStyleBackColor = false;
-            this.btnClub.Click += new System.EventHandler(this.btnClub_Click);
+            this.btnClub.Click += new System.EventHandler(this.btn_Click);
             // 
             // mapView1
             // 
diff --git a/view/FormJeu.cs b/view/FormJeu.cs
index b369039..3f7130f 100644
--- a/view/FormJeu.cs
+++ b/view/FormJeu.cs
@@ -14,16 +14,109 @@ namespace Wanderer.view
 {
     public partial class FormJeu : Form
     {
-        bool gareCreated = true;
+        /*bool gareCreated = true;
         int nombreMarks;
-        int nombreRandonneurs;
+        int nombreRandonneurs;*/
         int tailleTerritoire;
         int nombreTour;
-        int nombreUsine;
+        int bonusCh = 0;//bonus Chemin
+        int bonusCl = 0; //bonus Club
+        /*int nombreUsine;
         int nombreRefuge;
         int nombreChemin;
         int nombreClub;
-        int bonus = 0;
+        int bonus = 0;*/
+
+
+        /*Ajout de Emma 
+         * */
+        int marks = 40;
+        int randonneurs = 0;
+        int[] tbCouts = new int[] { 30, 10, 15, 10, 60 }; //Refuge,Chemin,Club,Train,Usine
+        int[] tbRandonneur = new[] { 3, 2, 6, 0, -10 };
+        int[] tbConstruct = new int[]{0, 0, 0, 0, 0}; //Refuge,Chemin,Club,Train,Usine
+        public void updateButtons()
+        {
+            foreach (Object o in Controls)
+            {
+                if (o is Button b && b.Tag != null)
+                {
+                    if (tbCouts[Convert.ToInt32(b.Tag)] > marks)
+                    {
+                        b.Enabled = false;
+                        b.BackColor = Color.Gray;
+                    }
+                    else
+                    {
+                        b.Enabled = true;
+                        b.BackColor = Color.Transparent;
+                    }
+
+                    //Premier tour
+                    if(nombreTour==1)
+                    {
+                        b.Enabled = false;
+                        b.BackColor = Color.Gray;
+                        btnTrain.Enabled = true;
+                        btnTrain.BackColor = Color.Transparent;
+                    }
+                }                
+            }
+            //Désactive train
+            if (nombreTour > 1)
+            {
+                btnTrain.BackColor = Color.Gray;
+                btnTrain.Enabled = false;
+            }
+        }
+
+        private void btn_Click(object sender, EventArgs e)
+        {
+            Button b = (Button)sender;
+            Int32 i = Convert.ToInt32(b.Tag);
+            int cout = tbCouts[i];
+
+            //Calcul des marks et randonneurs, ajout d'image sur la map
+            if (marks >= cout)
+            {
+                MapView.SelectedTile.Image = b.Image;
+                tbConstruct[i]++;
+
+                if (tbConstruct[1] % 5 ==0 && tbConstruct[1]!=0)
+                {
+                    bonusCh += 1;
+                }
+                if (tbConstruct[2] % 5 == 0 && tbConstruct[2] != 0)
+                {
+                    bonusCl += 2;
+                }
+                marks -= cout-10;
+                randonneurs += tbRandonneur[i]+bonusCh+bonusCl;
+                if (randonneurs < 0) 
+                { 
+                    randonneurs = 0; 
+                }
+                update();
+            }
+        }
+
+        /**
+         * Mise à jour des Lables et du MapView
+        **/
+        private void update()
+        {
+            lblArgent.Text = "Argent :" + marks;
+            lblMarcheur.Text = "Marcheurs : " + randonneurs;
+            lblTour.Text = "Nombre d'action : " + nombreTour++;
+            if (MapView.SelectedTile != null && MapView.SelectedTile.model.HasChanged)
+            {
+                MapView.SelectedTile.Image = image();
+                MapView.SelectedTile.model.HasChanged = false;
+            }
+            updateButtons();
+        }
+
+        /*/Fin des ajouts*/
 
 
         const int limiteRandonneur = 100;
@@ -31,12 +124,12 @@ namespace Wanderer.view
 
         public void updateNombreMarks(int nombreUsine, int nombreRefuge)
         {
-            nombreMarks = nombreUsine * 5 + nombreRefuge * 5 + 10 + nombreMarks;
+           // nombreMarks = nombreUsine * 5 + nombreRefuge * 5 + 10 + nombreMarks;
         }
 
         public void updateNombreRandonneurs(int nombreClub, int nombreChemins, int nombreRefuges)
         {
-            nombreRandonneurs = nombreClub * 6 + nombreChemins * 2 + nombreRefuges * 3 - 10 * nombreUsine + bonus;
+           // nombreRandonneurs = nombreClub * 6 + nombreChemins * 2 + nombreRefuges * 3 - 10 * nombreUsine + bonus;
         }
 
         public void updateTailleTerritoire(int nombreClub, int nombreChemins, int nombreRefuges)
@@ -52,7 +145,7 @@ namespace Wanderer.view
 
         public void updateLabels()
         {
-            if(nombreTour > 0)
+           /* if(nombreTour > 0)
             {
                 updateNombreMarks(nombreUsine, nombreRefuge);
             }
@@ -66,10 +159,9 @@ namespace Wanderer.view
             {
                 MapView.SelectedTile.Image = image();
                 MapView.SelectedTile.model.HasChanged = false;
-            }
+            }*/
         }
 
-
         public FormJeu()
         {
             InitializeComponent();
@@ -81,29 +173,61 @@ namespace Wanderer.view
             formAide.Show();
         }
 
+        private void FormJeu_Load(object sender, EventArgs e)
+        {
+            mapView1.Model = new Map(20, 10);
+            //nombreMarks = 40;
+            update();
+            //updateLabels();
+        }
+
+        private void FormJeu_FormClosed(object sender, FormClosedEventArgs e)
+        {
+            Application.Exit();
+        }
+
+        public Image image()
+        {
+            switch (MapView.SelectedTile.model.Improvement)
+            {
+                case Improvement.Club:
+                    return btnClub.Image;
+                case Improvement.Factory:
+                    return btnUsine.Image;
+                case Improvement.Path:
+                    return btnChemin.Image;
+                case Improvement.Refuge:
+                    return btnRefuge.Image;
+                case Improvement.TrainStation:
+                    return btnTrain.Image;
+            }
+
+            return null;
+        }
+
         private void btnUsine_Click(object sender, EventArgs e)
         {
-            if (nombreMarks < 60) return;
+            /*if (nombreMarks < 60) return;
             MapView.SelectedTile.model.Improvement = Improvement.Factory;
             nombreUsine++;
             nombreMarks -= 40;
-            updateLabels();
+            updateLabels();*/
         }
 
         private void btnTrain_Click(object sender, EventArgs e)
         {
-            if(nombreMarks >= 10 && gareCreated)
+            /*if(nombreMarks >= 10 && gareCreated)
             {
                 MapView.SelectedTile.model.Improvement = Improvement.TrainStation;
                 gareCreated = false;
                 nombreMarks -= 10;
                 updateLabels();
-            }
+            }*/
         }
 
         private void btnRefuge_Click(object sender, EventArgs e)
         {
-            if (nombreRefuge % 5 == 0 && nombreRefuge != 0)
+            /*if (nombreRefuge % 5 == 0 && nombreRefuge != 0)
             {
                 bonus += 5;
             }
@@ -113,13 +237,13 @@ namespace Wanderer.view
                 nombreRefuge++;
                 nombreMarks -= 30;
                 updateLabels();
-            }
+            }*/
         }
 
 
         private void btnChemin_Click(object sender, EventArgs e)
         {
-            if (nombreChemin % 5 == 0 && nombreRefuge != 0)
+            /*if (nombreChemin % 5 == 0 && nombreRefuge != 0)
             {
                 bonus += 2;
             }
@@ -129,18 +253,18 @@ namespace Wanderer.view
                 nombreChemin++;
                 nombreMarks -= 10;
                 updateLabels();
-            }
+            }*/
         }
 
         private void btnClub_Click(object sender, EventArgs e)
         {
-            if(nombreMarks >= 15)
+            /*if(nombreMarks >= 15)
             {
                 MapView.SelectedTile.model.Improvement = Improvement.Club;
                 nombreClub++;
                 nombreMarks -= 10;
                 updateLabels();
-            }
+            }*/
         }
 
         private void mapView1_Paint(object sender, PaintEventArgs e)
@@ -157,36 +281,7 @@ namespace Wanderer.view
            
         }
 
-        private void FormJeu_Load(object sender, EventArgs e)
-        {
-            mapView1.Model = new Map(20,10);
-            nombreMarks = 40;
-            updateLabels();
-        }
-
-        private void FormJeu_FormClosed(object sender, FormClosedEventArgs e)
-        {
-            Application.Exit();
-        }
-
-        public Image image()
-        {
-            switch (MapView.SelectedTile.model.Improvement)
-            {
-                case Improvement.Club:
-                    return btnClub.Image;
-                case Improvement.Factory:
-                    return btnUsine.Image;
-                case Improvement.Path:
-                    return btnChemin.Image;
-                case Improvement.Refuge:
-                    return btnRefuge.Image;
-                case Improvement.TrainStation:
-                    return btnTrain.Image;
-            }
-
-            return null;
-        }
+        
 
     }
 }
-- 
GitLab