/** * Lancement d'un popup qui disparait progressivement avec le timerPopUp */ public void lancerNotification(object sender, EventArgs e) { this.reunion.incrementerNbReunion(); //incrementer le nb de thématique de réunions abordé frmReunionPopUp popup = new frmReunionPopUp(); this.f = popup; popup.TopMost = true; Button b = (Button)sender; /* Changer la position */ popup.messagePopUp(b.Text); //appel méthode du formulaire popup popup.Show(); this.Focus(); fonduPopUp(); compteurEquipe++; //une fois l'achievement activé on bloque le boutton avec un enable pour dire à l'utilisateur //qu'il n'a plus besoin de s'occuper de cet achievement et que cette derniere a été validé //puis dans la liste des thèmes des réunions du controleur de jeu on met le statut du theme de la réunion à true pour dire que cette derniere a été abordée b.Enabled = false; //MessageBox.Show("Texte bouton : " + b.Text); fonctionne ControleurJeu.changerStatutReunion(b.Text); update(); }
/** * Vérifie le thème abordé */ public Boolean verifierThemeAborde(String themeReunion) //verifie si le theme de la reunion a déjà été abordé { Boolean verif = false; foreach (Reunion r in ControleurJeu.getListeReunion()) //parcourt la liste des réunions pour voir si le thème de la réunion a déjà été abordé { if (r.getThemeReunion() == themeReunion) //si le theme de la reunion a déjà été abordé alors on empece { verif = r.getStatut(); } } return(verif); }
/** * Mise à jour des thèmes, regarde si les réunions sont effectuées ou non */ public void update() { Boolean test1 = true; //verifie que tous les thématiques des réunions de la catégorie "Découvir l'équipe" ont été faites Boolean test2 = true; //verifie que tous les thématiques des réunions de la catégorie "Examiner le projet" ont été faites Boolean test3 = true; //verifie que tous les thématiques des réunions de la catégorie "Faire le point" ont été faites foreach (Reunion r in ControleurJeu.getListeReunion()) { if (r.getCategorie() == "Découvir l'équipe" && !(r.getStatut())) { test1 = false; } if (r.getCategorie() == "Examiner le projet" && !(r.getStatut())) { test2 = false; } if (r.getCategorie() == "Faire le point" && !(r.getStatut())) { test3 = false; } } if (test1 || getNbReunion() >= 3) { button1.Enabled = false; } if (test2 || getNbReunion() >= 3) { button2.Enabled = false; } if (test3 || getNbReunion() >= 3) { button3.Enabled = false; } //verifie si un chef de projet a été designé pour pouvoir faire le point sur l'avancement du projet foreach (Reunion r in ControleurJeu.getListeReunion()) { if (r.getStatut() == true && r.getThemeReunion() == "Mettre en place un système d'organisation") { button3.Visible = true; //si un système d'organisation a été mis en place et qu'un chef de groupe a été désigné alors on peut désormais faire le point; } } }
public void messagePopUp(String butReunion) { lblNotification.Text = "Félicitations"; if (butReunion == "Évaluer le potentiel du groupe") { lblInfo.Text = "Les attributs des personnages seront révelés"; } if (butReunion == "Révèle les qualités et les défauts") { lblInfo.Text = "Les qualités et les défauts de chaque personnage seront révelés"; } if (butReunion == "Analyse des affinités de chacun") { lblInfo.Text = "Les éventuelles affinités de chacun seront révélées.\nVous devrez assigner les tâches correctement !"; } if (butReunion == "Analyse de la demande du client et de ses besoins + Définir un cahier des charges") { lblInfo.Text = "Vous savez maintenant quelles sont les fonctionnalités dont le client a besoin.\nMais attention les tâches sont à faire dans un ordre précis"; } if (butReunion == "Mettre en place un système d'organisation") { Random r = new Random(); int numPerso = r.Next(4); ArrayList tmp = ControleurJeu.getListePersonnage(); Personnage p = (Personnage)tmp[numPerso]; lblInfo.Text = p.getPrenom() + " a été désigné en tant que chef de projet.\nVous pouvez faire les points sur votre avancement du projet lors des réunions"; } if (butReunion == "Mettre en commun le travail et l'avancement de chacun") { lblInfo.Text = "Vous pouvez voir l'avancement de chaque tâches à réaliser"; } if (butReunion == "Nombre de réunion dépassé") { lblNotification.Text = "Limite atteinte"; lblInfo.Text = "Vous ne pouvez pas aborder plus de 3 thématiques lors des réunions"; } if (butReunion == "Aymeric") { lblNotification.Text = "Malheureusement.."; lblInfo.Text = "Aymeric a sûrement trop joué hier soir. Il faudra se passer de lui pour ce tour !"; } if (butReunion == "Samir") { lblNotification.Text = "Malheureusement.."; lblInfo.Text = "Samir a un rendez-vous chez le dentiste. Il sera absent aujourd'hui !"; } if (butReunion == "Mathieu") { lblNotification.Text = "Malheureusement.."; lblInfo.Text = "Mathieu est tellement sous pression qu'il hésite à démissionner.. Ne comptez pas sur lui pour ce tour."; } if (butReunion == "Valentin") { lblNotification.Text = "Malheureusement.."; lblInfo.Text = "Valentin est en plein burn out, il est tombé malade à force de travailler."; } if (butReunion == "picturebox") { lblNotification.Text = "Astuce"; lblInfo.Text = "Faites connaissance avec les membres du projet, puis revenez ici.."; } if (butReunion == "formation") { lblNotification.Text = "Astuce"; lblInfo.Text = "La formation sert à obtenir des compétences pour effectuer certaines tâches qui nécessitent un certain niveau de compétence"; } }
/** * Fais faire une action au personnage */ public void faireAction(Fonctionnalites action) { //tache que le personnage va effectuer /*************************************************************************************/ int ajoutPA = 10; if (action.getNom() == "Formation") //donne des compétences aux personnages qui font de la recherche { this.setConnaissances(this.getConnaissances() + 10); if (this.getConnaissances() > 100) { this.setConnaissances(100); } } if (action.getPaDepense() >= action.getPaNecess() && action.getStatus() == false) { action.setStatus(true); //modif du status pour dire que la tache est terminée } if (this.connaissances < action.getNvConnaissNecces()) { int diff = action.getNvConnaissNecces() - this.connaissances; ajoutPA -= (diff / 2); //-10% tous les 2pts } else if (this.connaissances >= action.getNvConnaissNecces()) { int diff = this.connaissances - action.getNvConnaissNecces(); ajoutPA += (diff / 4); //+10% tous les 4pts } if (action.getStatus() == false && action.estRealisable()) { if (this.getDeteste().getPrenom() != "-") { for (int i = 0; i < this.getDeteste().getTacheTour().Count; i++) { if (this.getDeteste().getTacheTour()[i] == action) { ajoutPA -= ajoutPA / 2; } } } if (this.getAffinite().getPrenom() != "-") { for (int i = 0; i < this.getAffinite().getTacheTour().Count; i++) { if (this.getAffinite().getTacheTour()[i] == action) { //MessageBox.Show("MULTIPLICATION PAR 2 car" + this.prenom + "travail avec" + this.getAffinite().getPrenom()); ajoutPA += ajoutPA / 2; } } } for (int i = 0; i < pointsForts.Count; i++) { if (pointsForts[i].ToString() == "Talentueux") { ajoutPA += (ajoutPA / 2); //+50% } if (pointsForts[i].ToString() == "Développement") { if (action.getType() == "Développer") { ajoutPA += (ajoutPA / 2); //+50% } } if (pointsForts[i].ToString() == "Conception") { if (action.getType() == "Concevoir") { ajoutPA += (ajoutPA / 2); //+50% } } if (pointsForts[i].ToString() == "Recherche") { if (action.getType() == "Spécification") { ajoutPA += (ajoutPA / 2); //+50% } } } for (int i = 0; i < pointsFaibles.Count; i++) { if (pointsFaibles[i].ToString() == "Faiénant") { ajoutPA -= (ajoutPA / 2); //-50% } if (pointsFaibles[i].ToString() == "Développement") { if (action.getType() == "Développer") { ajoutPA -= (ajoutPA / 2); //-50% } } if (pointsFaibles[i].ToString() == "Conception") { if (action.getType() == "Concevoir") { ajoutPA -= (ajoutPA / 2); //-50% } } if (pointsFaibles[i].ToString() == "Recherche") { if (action.getType() == "Spécification") { ajoutPA -= (ajoutPA / 2); //-50% } } } if (this.connaissances + 20 < action.getNvConnaissNecces()) { ajoutPA = 0; } foreach (Fonctionnalites f in ControleurJeu.getListeFonctionnalite()) { //int index = 0; if (f.getNom() == action.getNom()) { f.setPaDepense(action.getPaDepense() + ajoutPA); //permet de modifier les pa dépensés } } if (action.getPaDepense() >= action.getPaNecess()) { action.setStatus(true); //modif du status pour dire que la tache est terminée } } }