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