/** * Calcule les attributs et passe au tour suivant */ public static void nouveauTour() { calculsAttributs(); //actualise les attributs des persos après avoir effectué des taches Random aleatoire = new Random(); int rnd = aleatoire.Next(5); if (rnd == 0) { Fonctionnalites f10 = new Fonctionnalites("Nouvelle demande client", 10, 0, 0, "Développer"); listfonctionnalite.Add(f10); listtransmise.Add(f10); } }
/** * Affichage des fonctionnalités */ public void copiFonc() { cboFonctionnalite1.Items.Clear(); cboFonctionnalite2.Items.Clear(); for (int i = 0; i < listfonctionnalite.Count; i++) { Fonctionnalites f = (Fonctionnalites)listfonctionnalite[i]; cboFonctionnalite1.Items.Add(f.getNom() + " (" + f.getNvConnaissNecces() + ")"); cboFonctionnalite2.Items.Add(f.getNom() + " (" + f.getNvConnaissNecces() + ")"); cboFonctionnalite3.Items.Add(f.getNom() + " (" + f.getNvConnaissNecces() + ")"); } }
/** * remplissage des personnages (affinités et détestés sont à null), initialisation de toutes les fonctionnalités et de * toutes les réunions.Assignation des affinités aléatoirement. * Assignation des points forts/points faibles aléatoirement. */ public void lancerJeu(frmMenu fm) { fm.Hide(); //creation personnage p1 = remplirPersonnage("Valentin", 20, 20, 71, null, null); p2 = remplirPersonnage("Aymeric", 20, 45, 61, null, null); p3 = remplirPersonnage("Mathieu", 30, 25, 32, null, null); p4 = remplirPersonnage("Samir", 40, 10, 23, null, null); Personnage persov; persov = new Personnage("-", -1, -1, -1, null, null); p1.setAffinite(p4); p2.setAffinite(p3); p3.setAffinite(p2); p4.setAffinite(p1); p1.setDeteste(p3); p2.setDeteste(p4); p3.setDeteste(persov); p4.setDeteste(p2); p1.qualites.Add("Sang-froid"); p2.qualites.Add("Diplomate"); p3.qualites.Add("Inépuisable"); p4.qualites.Add("Inépuisable"); p1.defauts.Add("Fatigué"); p2.defauts.Add("Fatigué"); p3.defauts.Add("Stressé"); p4.defauts.Add("Asocial"); p1.pointsForts.Add("Recherche"); p2.pointsForts.Add("Conception"); p3.pointsForts.Add("Développement"); p4.pointsForts.Add("Développement"); p1.pointsFaibles.Add("Conception"); p2.pointsFaibles.Add("Développement"); p3.pointsFaibles.Add("Conception"); p4.pointsFaibles.Add("Recherche"); /* * FONCTIONNALITES ( NOM , PANECESS , POURCENTNOTE , NVCONNAIS , PADEPENSE , TYPE) */ /* SUR 900 */ /* Recherche pour obtenir plus de niveau de compétences */ Fonctionnalites f0 = new Fonctionnalites("Formation", 100000, 0, 0, "Rechercher"); //n'impacte pas l'avancement du projet, elle sert juste à obtenir plus de compétences /* Spécification sur 240*/ Fonctionnalites f1 = new Fonctionnalites("Cahier des charges", 100, 0, 20, "Spécification"); Fonctionnalites f2 = new Fonctionnalites("Objectifs pédagogiques", 60, 0, 10, "Spécification"); Fonctionnalites f3 = new Fonctionnalites("Documentation", 40, 0, 20, "Spécification"); /* Conception sur 120*/ Fonctionnalites f4 = new Fonctionnalites("MCD", 20, 0, 40, "Concevoir"); Fonctionnalites f5 = new Fonctionnalites("Interface graphique ", 80, 0, 50, "Concevoir"); Fonctionnalites f6 = new Fonctionnalites("GIT", 20, 0, 20, "Concevoir"); /* Developpement sur 450*/ Fonctionnalites f7 = new Fonctionnalites("Classes", 150, 0, 50, "Développer"); Fonctionnalites f8 = new Fonctionnalites("Controleur", 150, 0, 65, "Développer"); Fonctionnalites f9 = new Fonctionnalites("Moteur de jeu", 150, 0, 50, "Développer"); /* Recette */ Fonctionnalites f11 = new Fonctionnalites("Test du code", 20, 0, 40, "Recette"); Fonctionnalites f12 = new Fonctionnalites("Faire le point avec le client", 10, 0, 20, "Recette"); /* Livraison */ Fonctionnalites f13 = new Fonctionnalites("Livraison", 10, 0, 5, "Livraison"); //REUNION(THEME DE LA REUNION) et le statut de cette réunion est par défaut à false // Reunion r1 = new Reunion("Faire connaissance", "Découvir l'équipe"); Reunion r2 = new Reunion("Évaluer le potentiel du groupe", "Découvir l'équipe"); Reunion r3 = new Reunion("Révèle les qualités et les défauts", "Découvir l'équipe"); Reunion r4 = new Reunion("Analyse des affinités de chacun", "Découvir l'équipe"); // Reunion r5 = new Reunion("Découvrir le projet", "Examiner le projet"); Reunion r6 = new Reunion("Analyse de la demande du client et de ses besoins + Définir un cahier des charges", "Examiner le projet"); Reunion r7 = new Reunion("Mettre en place un système d'organisation", "Examiner le projet"); Reunion r8 = new Reunion("Mettre en commun le travail et l'avancement de chacun", "Faire le point"); // listReunion.Add(r1); listReunion.Add(r2); listReunion.Add(r3); listReunion.Add(r4); // listReunion.Add(r5); listReunion.Add(r6); listReunion.Add(r7); listReunion.Add(r8); listfonctionnalite.Add(f1); listfonctionnalite.Add(f2); listfonctionnalite.Add(f3); listfonctionnalite.Add(f4); listfonctionnalite.Add(f5); listfonctionnalite.Add(f6); listfonctionnalite.Add(f7); listfonctionnalite.Add(f8); listfonctionnalite.Add(f9); listfonctionnalite.Add(f11); listfonctionnalite.Add(f12); listfonctionnalite.Add(f13); verifPourcentNote(); listfonctionnalite.Add(f0); foreach (Fonctionnalites f in listfonctionnalite) { listtransmise.Add(f); } listPersonnage.Add(p1); listPersonnage.Add(p2); listPersonnage.Add(p3); listPersonnage.Add(p4); jeu = new frmJeu(p1, p2, p3, p4, 20); jeu.Refresh(); jeu.Show(); frmReunionPopUp popup = new frmReunionPopUp(); popup.Show(); }
/** * Fait faire les tâches aux personnages */ public static void tache(Personnage p, List <Fonctionnalites> listeTache) { string afficher = ""; for (int i = 0; i < listfonctionnalite.Count; i++) { Fonctionnalites ajout = (Fonctionnalites)listfonctionnalite[i]; afficher += "\n" + ajout.getNom(); } if (afficher != "") { //MessageBox.Show(afficher); } String texte = ""; // Parcours de toutes les fonctionalités pour que le perso p les fasse /***************** A FAIRE ****************/ foreach (Fonctionnalites f in listeTache) { // MessageBox.Show("NORMAL"); p.faireAction(f); } string fonc = ""; foreach (Fonctionnalites f in listeTache) { // Si la fonction est finie on l'enleve de la liste et on affiche qui l'a fini if (f.getStatus() == true) { frmJeu.setAvancement(f.getPourcentNote() + (float)frmJeu.getAvancement()); texte += f.getNom() + " " + f.getPaDepense() + "/" + f.getPaNecess() + " Terminé par " + p.getPrenom() + "\n"; //listfonctionnalite.Remove(f); listtransmise.Remove(f); fonc = f.getNom(); } else { texte += f.getNom() + " " + f.getPaDepense() + "/" + f.getPaNecess() + " " + p.getPrenom() + "\n"; } } // SUPPRESION DANS LA LISTE DES FONCTIONNALITES LES FONCTION FINIES if (fonc != "") { for (int i = 0; i < listeTache.Count; i++) { if (listeTache[i].getNom() == fonc) { listeTache.RemoveAt(i); } } } // ENVOIE DU TEXTE A AFFICHER DANS LE FRMJEU frmJeu.remplir(texte); }
/** * Mode hard : pas d'aide et pas de popup pour guider le joueur */ public void lancerJeu2(frmMenu fm) { fm.Hide(); Random aleatoire = new Random(); ArrayList prenoms = new ArrayList(); prenoms.Add("Pierre"); prenoms.Add("Max"); prenoms.Add("André"); prenoms.Add("Alexandre"); prenoms.Add("Gaël"); prenoms.Add("Gilles"); prenoms.Add("Georges"); prenoms.Add("Viviane"); prenoms.Add("Clémentine"); prenoms.Add("Alice"); prenoms.Add("Mathilde"); prenoms.Add("Sophie"); //creation personnage int randomise = aleatoire.Next(prenoms.Count); string name = (string)prenoms[randomise]; randomise = aleatoire.Next(51); int connaissance = randomise; randomise = aleatoire.Next(51); int stress = randomise; randomise = aleatoire.Next(101); int sociabilite = randomise; p1 = remplirPersonnage(name, connaissance, stress, sociabilite, null, null); randomise = aleatoire.Next(prenoms.Count); name = (string)prenoms[randomise]; randomise = aleatoire.Next(51); connaissance = randomise; randomise = aleatoire.Next(51); stress = randomise; randomise = aleatoire.Next(101); sociabilite = randomise; p2 = remplirPersonnage(name, connaissance, stress, sociabilite, null, null); randomise = aleatoire.Next(prenoms.Count); name = (string)prenoms[randomise]; randomise = aleatoire.Next(51); connaissance = randomise; randomise = aleatoire.Next(51); stress = randomise; randomise = aleatoire.Next(101); sociabilite = randomise; p3 = remplirPersonnage(name, connaissance, stress, sociabilite, null, null); randomise = aleatoire.Next(prenoms.Count); name = (string)prenoms[randomise]; randomise = aleatoire.Next(51); connaissance = randomise; randomise = aleatoire.Next(51); stress = randomise; randomise = aleatoire.Next(101); sociabilite = randomise; p4 = remplirPersonnage(name, connaissance, stress, sociabilite, null, null); /* * FONCTIONNALITES ( NOM , PANECESS , POURCENTNOTE , NVCONNAIS , PADEPENSE , TYPE) */ /* SUR 900 */ /* Recherche pour obtenir plus de niveau de compétences */ Fonctionnalites f0 = new Fonctionnalites("Formation", 100000, 0, 0, "Rechercher"); //n'impacte pas l'avancement du projet, elle sert juste à obtenir plus de compétences /* Spécification sur 240*/ Fonctionnalites f1 = new Fonctionnalites("Cahier des charges", 100, 0, 20, "Spécification"); Fonctionnalites f2 = new Fonctionnalites("Objectifs pédagogiques", 60, 0, 10, "Spécification"); Fonctionnalites f3 = new Fonctionnalites("Documentation", 40, 0, 20, "Spécification"); /* Conception sur 120*/ Fonctionnalites f4 = new Fonctionnalites("MCD", 20, 0, 40, "Concevoir"); Fonctionnalites f5 = new Fonctionnalites("Interface graphique ", 80, 0, 50, "Concevoir"); Fonctionnalites f6 = new Fonctionnalites("GIT", 20, 0, 20, "Concevoir"); /* Developpement sur 450*/ Fonctionnalites f7 = new Fonctionnalites("Classes", 150, 0, 50, "Développer"); Fonctionnalites f8 = new Fonctionnalites("Controleur", 150, 0, 65, "Développer"); Fonctionnalites f9 = new Fonctionnalites("Moteur de jeu", 150, 0, 50, "Développer"); /* Recette */ Fonctionnalites f11 = new Fonctionnalites("Test du code", 20, 0, 40, "Recette"); Fonctionnalites f12 = new Fonctionnalites("Faire le point avec le client", 10, 0, 20, "Recette"); /* Livraison */ Fonctionnalites f13 = new Fonctionnalites("Livraison", 10, 0, 5, "Livraison"); //REUNION(THEME DE LA REUNION) et le statut de cette réunion est par défaut à false // Reunion r1 = new Reunion("Faire connaissance", "Découvir l'équipe"); Reunion r2 = new Reunion("Évaluer le potentiel du groupe", "Découvir l'équipe"); Reunion r3 = new Reunion("Révèle les qualités et les défauts", "Découvir l'équipe"); Reunion r4 = new Reunion("Analyse des affinités de chacun", "Découvir l'équipe"); // Reunion r5 = new Reunion("Découvrir le projet", "Examiner le projet"); Reunion r6 = new Reunion("Analyse de la demande du client et de ses besoins + Définir un cahier des charges", "Examiner le projet"); Reunion r7 = new Reunion("Mettre en place un système d'organisation", "Examiner le projet"); Reunion r8 = new Reunion("Mettre en commun le travail et l'avancement de chacun", "Faire le point"); // listReunion.Add(r1); listReunion.Add(r2); listReunion.Add(r3); listReunion.Add(r4); // listReunion.Add(r5); listReunion.Add(r6); listReunion.Add(r7); listReunion.Add(r8); listfonctionnalite.Add(f0); listfonctionnalite.Add(f1); listfonctionnalite.Add(f2); listfonctionnalite.Add(f3); listfonctionnalite.Add(f4); listfonctionnalite.Add(f5); listfonctionnalite.Add(f6); listfonctionnalite.Add(f7); listfonctionnalite.Add(f8); listfonctionnalite.Add(f9); listfonctionnalite.Add(f11); listfonctionnalite.Add(f12); listfonctionnalite.Add(f13); verifPourcentNote(); foreach (Fonctionnalites f in listfonctionnalite) { listtransmise.Add(f); } listPersonnage.Add(p1); listPersonnage.Add(p2); listPersonnage.Add(p3); listPersonnage.Add(p4); Personnage persov; persov = new Personnage("-", -1, -1, -1, null, null); int besoinAffinite = 120; int besoinDeteste = 80; //les relations sont determinees a 50% par la chance et 50% la sociabilite foreach (Personnage p in listPersonnage) { Personnage meilleurAffinite = persov; Personnage pireDeteste = persov; foreach (Personnage p1 in listPersonnage) { if (p1 != p) { int rand = aleatoire.Next(101); if (p1.getSociabilite() + p.getSociabilite() + rand >= besoinAffinite) { meilleurAffinite = p1; } if (p1.getSociabilite() + p.getSociabilite() - rand <= besoinDeteste && p1 != meilleurAffinite && p1.getAffinite() != p) { pireDeteste = p1; } } } p.setAffinite(meilleurAffinite); p.setDeteste(pireDeteste); } //si affinite avec quelqu'un qui nous deteste : on enleve le deteste foreach (Personnage p in listPersonnage) { if ((p.getAffinite()).getDeteste() == p) { (p.getAffinite()).setDeteste(persov); } } attributionQualitesDefautsPointsFortsEtFaibles(); jeu = new frmJeu(p1, p2, p3, p4, 35); jeu.Refresh(); jeu.Show(); frmReunionPopUp popup = new frmReunionPopUp(); popup.Show(); }
/** * Mode hard : pas d'aide et pas de popup pour guider le joueur */ public void lancerJeu2(frmMenu fm) { fm.Hide(); /* */ /* ---------------- qualites et defauts ---------------- */ Random aleatoire = new Random(); listeQualites.Add("Sang-froid"); //stress monte moins vite listeQualites.Add("Inépuisable"); //fatigue monte moins vite listeQualites.Add("Talentueux"); //ttes les actions *1,5 listeQualites.Add("Développeur né"); //dv *1,5 listeQualites.Add("Concepteur né"); //conception *1,5 listeQualites.Add("Chercheur né"); //recherche *1,5 listeQualites.Add("Diplomate"); //relations +10 points listeDefauts.Add("Stressé"); //stress monte plus vite listeDefauts.Add("Fatigué"); //fatigue monte plus vite listeDefauts.Add("Incompétent notoire"); //ttes les actions *1,5 listeDefauts.Add("Mauvais développeur"); //dv * 0,5 listeDefauts.Add("Mauvais concepteur"); //conception * 0,5 listeDefauts.Add("Mauvaise chercheur"); //recherche * 0,5 listeDefauts.Add("Asocial"); //relations -10 points //creation personnage p1 = remplirPersonnage("Valentin", 20, 0, 82, null, null); p2 = remplirPersonnage("Aymeric", 20, 20, 80, null, null); p3 = remplirPersonnage("Mathieu", 33, 40, 50, null, null); p4 = remplirPersonnage("Samir", 42, 10, 45, null, null); /* * FONCTIONNALITES ( NOM , PANECESS , POURCENTNOTE , NVCONNAIS , PADEPENSE , TYPE) */ /* Recherche pour obtenir plus de niveau de compétences */ Fonctionnalites f0 = new Fonctionnalites("Formation", 100000, 0, 0, "Rechercher"); //n'impacte pas l'avancement du projet, elle sert juste à obtenir plus de compétences /* Spécification sur 400*/ Fonctionnalites f1 = new Fonctionnalites("Cahier des charges", 200, 0, 20, "Spécification"); Fonctionnalites f2 = new Fonctionnalites("Objectifs pédagogiques", 120, 0, 10, "Spécification"); Fonctionnalites f3 = new Fonctionnalites("Documentation", 80, 0, 20, "Spécification"); /* Conception sur 240*/ Fonctionnalites f4 = new Fonctionnalites("MCD", 40, 0, 40, "Concevoir"); Fonctionnalites f5 = new Fonctionnalites("Interface graphique ", 160, 0, 50, "Concevoir"); Fonctionnalites f6 = new Fonctionnalites("GIT", 40, 0, 20, "Concevoir"); /* Developpement sur 900*/ Fonctionnalites f7 = new Fonctionnalites("Classes", 300, 0, 50, "Développer"); Fonctionnalites f8 = new Fonctionnalites("Controleur", 300, 0, 65, "Développer"); Fonctionnalites f9 = new Fonctionnalites("Moteur de jeu", 300, 0, 50, "Développer"); /* Recette */ Fonctionnalites f11 = new Fonctionnalites("Test du code", 40, 0, 40, "Recette"); Fonctionnalites f12 = new Fonctionnalites("Faire le point avec le client", 20, 0, 20, "Recette"); /* Livraison */ Fonctionnalites f13 = new Fonctionnalites("Livraison", 10, 0, 5, "Livraison"); //REUNION(THEME DE LA REUNION) et le statut de cette réunion est par défaut à false Reunion r2 = new Reunion("Évaluer le potentiel du groupe", "Découvir l'équipe"); Reunion r3 = new Reunion("Révèle les qualités et les défauts", "Découvir l'équipe"); Reunion r4 = new Reunion("Analyse des affinités de chacun", "Découvir l'équipe"); Reunion r6 = new Reunion("Analyse de la demande du client et de ses besoins + Définir un cahier des charges", "Examiner le projet"); Reunion r7 = new Reunion("Mettre en place un système d'organisation", "Examiner le projet"); Reunion r8 = new Reunion("Mettre en commun le travail et l'avancement de chacun", "Faire le point"); listReunion.Add(r2); listReunion.Add(r3); listReunion.Add(r4); listReunion.Add(r6); listReunion.Add(r7); listReunion.Add(r8); listfonctionnalite.Add(f0); listfonctionnalite.Add(f1); listfonctionnalite.Add(f2); listfonctionnalite.Add(f3); listfonctionnalite.Add(f4); listfonctionnalite.Add(f5); listfonctionnalite.Add(f6); listfonctionnalite.Add(f7); listfonctionnalite.Add(f8); listfonctionnalite.Add(f9); verifPourcentNote(); foreach (Fonctionnalites f in listfonctionnalite) { listtransmise.Add(f); } listPersonnage.Add(p1); listPersonnage.Add(p2); listPersonnage.Add(p3); listPersonnage.Add(p4); foreach (Personnage p in listPersonnage) { for (int i = 0; i < nbQualites; i++) { int rand1 = aleatoire.Next(listeQualites.Count); //de 0 à X-1 p.qualites.Add(listeQualites[rand1]); } for (int i = 0; i < nbDefauts; i++) { int rand2 = aleatoire.Next(listeDefauts.Count); //de 0 à X-1 //while (rand2 == rand1) //{ //rand2 = aleatoire.Next(listeDefauts.Count); //on fait cela car les qualites et defauts avec le meme argument sont opposés et incompatibles irl //} p.defauts.Add(listeDefauts[rand2]); } int randAffinite = aleatoire.Next(4); int randDeteste = aleatoire.Next(4); if (listPersonnage[randAffinite] != p) { p.setAffinite((Personnage)listPersonnage[randAffinite]); } if (listPersonnage[randDeteste] != p && listPersonnage[randDeteste] != p.getAffinite()) { p.setDeteste((Personnage)listPersonnage[randDeteste]); } } attributionQualitesDefautsPointsFortsEtFaibles(); jeu = new frmJeu(p1, p2, p3, p4, 20); jeu.Refresh(); jeu.Show(); }
/** * Assignation des personnages aux User_Controls, affichage de tous les labels et des progress bar * qui sont générés dynamiquement. */ public frmJeu(Personnage p1, Personnage p2, Personnage p3, Personnage p4, int tourmax) { InitializeComponent(); nbTourMax = tourmax; int screenWidth = Screen.PrimaryScreen.Bounds.Width; int screenHeight = Screen.PrimaryScreen.Bounds.Height; this.Size = new Size(screenWidth, screenHeight); lblTacheReal.Size = new Size(((screenWidth - lblTacheReal.Location.X) - lblTacheReal.Size.Width) + lblTacheReal.Size.Width, lblTacheReal.Size.Height - 5); pnlProgressBarTache.Size = new Size(((screenWidth - pnlProgressBarTache.Location.X) - pnlProgressBarTache.Size.Width) + pnlProgressBarTache.Size.Width, pnlProgressBarTache.Size.Height - 5); panel2.Size = new Size(screenWidth, panel2.Height); foreach (Fonctionnalites f in ControleurJeu.getListeFonctionnalite()) { if (f.getPaDepense() < f.getPaNecess() && f.getStatus() == false) { lstTache.Items.Add(f.getNom() + " (" + f.getNvConnaissNecces() + ")"); } } lstTache.AllowDrop = true; uC_Personnage1.AllowDrop = true; uC_Personnage2.AllowDrop = true; uC_Personnage3.AllowDrop = true; uC_Personnage4.AllowDrop = true; this.Refresh(); listPersonnage.Clear(); crunchBool = false; ArrayList listPerso = ControleurJeu.getListePersonnage(); listPersonnage.Add(p1); listPersonnage.Add(p2); listPersonnage.Add(p3); listPersonnage.Add(p4); initUC(uC_Personnage1, p1); initUC(uC_Personnage2, p2); initUC(uC_Personnage3, p3); initUC(uC_Personnage4, p4); foreach (Object o in Controls) { if (o is UC_Personnage) { UC_Personnage uC_Perso = new UC_Personnage(); uC_Perso.Enabled = true; } } ArrayList listTache = ControleurJeu.getListeFonctionnalite(); int posBas = 5; Fonctionnalites fPrecedent = null; //Initialisation ProgressBar pour chaque tache for (int i = 0; i <= listTache.Count - 1; i++) { Bunifu.Framework.UI.BunifuProgressBar progressBar = new Bunifu.Framework.UI.BunifuProgressBar(); Label l = new Label(); Fonctionnalites f = (Fonctionnalites)listTache[i]; if (f.getNom() != "Formation") { if (fPrecedent == null || f.getType() != fPrecedent.getType()) { posBas += 25; Label lblaffichageType = new Label(); lblaffichageType.Text = f.getType(); lblaffichageType.Location = new System.Drawing.Point(0, posBas); lblaffichageType.Font = new System.Drawing.Font("Cooper Black", 19F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0))); lblaffichageType.Size = new System.Drawing.Size(200, 45); lblaffichageType.Tag = 10; //permet d'identifier les labels titres posBas += 50; pnlProgressBarTache.Controls.Add(lblaffichageType); } fPrecedent = f; //remet à jour la fonctionnalités précédente l.Font = new System.Drawing.Font("Cooper Black", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); l.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; l.BackColor = pnlProgressBarTache.BackColor; l.Location = new System.Drawing.Point(0, posBas); l.Size = new System.Drawing.Size(220, 20); l.Text = f.getNom(); if (f.getType() == "Spécification") { l.ForeColor = Color.DarkRed; } if (f.getType() == "Concevoir") { l.ForeColor = Color.Green; } if (f.getType() == "Développer") { l.ForeColor = Color.Purple; } if (f.getType() == "Recette") { l.ForeColor = Color.DarkGray; } if (f.getType() == "Livraison") { l.ForeColor = Color.Maroon; } progressBar.BackColor = System.Drawing.Color.Silver; progressBar.BorderRadius = 5; progressBar.ProgressColor = System.Drawing.Color.Teal; progressBar.Size = new System.Drawing.Size(pnlProgressBarTache.Width - 200, 20); progressBar.Location = new System.Drawing.Point(l.Location.X + 200, l.Location.Y); progressBar.Tag = i; progressBar.Value = 0; pnlProgressBarTache.Controls.Add(progressBar); pnlProgressBarTache.Controls.Add(l); posBas += 25; } } }
/** * Tour suivant : Calcul des attributs des personnages et mise à jour des User_Controls. * Vérification si le crunch est activé ou non, random qui détermine si un personnage * tombe malade. */ private void btnTourSuivant_Click(object sender, EventArgs e) { uC_Personnage1.arreterClignotant(); uC_Personnage2.arreterClignotant(); uC_Personnage3.arreterClignotant(); uC_Personnage4.arreterClignotant(); lblTour.Visible = true; btnReunion.Enabled = true; btnRepos.Enabled = true; if (crunchBool == true) { foreach (Object o in Controls) { if (o is Panel) { Panel p = (Panel)o; foreach (Object c in p.Controls) { if (c is UC_Personnage) { UC_Personnage up = (UC_Personnage)c; up.Enabled = true; up.crunchDesactive(); crunchBool = false; } } } } } // FIN SI DEADLINE OU TOUTES LES FONCTIONS SONT FINIES // A REVOIR ( VERIFIER SI LE POURCENTAGE DU PROJET == 100 --> FIN ) if ((nbTour >= nbTourMax) || ((ControleurJeu.verifierTacheTermine()))) { if (ControleurJeu.verifierTacheTermine()) { ControleurJeu.arreterJeu(rtbListeF.Text, 0); this.Close(); } ControleurJeu.arreterJeu(rtbListeF.Text); this.Close(); } // Pre remplissage de toutes les taches pour le tour actuel pour chaque perso foreach (Object o in Controls) { if (o is Panel) { Panel p = (Panel)o; foreach (Object c in p.Controls) { if (c is UC_Personnage) { UC_Personnage up = (UC_Personnage)c; up.remplirListeAffinite(); } } } } //modification des taches des user controls foreach (Object o in Controls) { if (o is Panel) { Panel p = (Panel)o; foreach (Object c in p.Controls) { if (c is UC_Personnage) { UC_Personnage up = (UC_Personnage)c; up.donnerTachePerso(); } } } } foreach (Object o in Controls) { if (o is Panel) { Panel p = (Panel)o; foreach (Object c in p.Controls) { if (c is UC_Personnage) { UC_Personnage up = (UC_Personnage)c; up.viderListeAffinite(); } } } } try { // REMPLISSAGE DEUXIEME "CONSOLE" rtbListeF.Text += "\nJournée " + nbTour.ToString() + ":\n"; rtbListeF.Text += s; s = ""; // MISE A ZERO DES COMBOBOX POUR NE PLUS AVOIR LES ANCIENS CHOIX foreach (Object o in Controls) { if (o is Panel) { Panel p = (Panel)o; foreach (Object c in p.Controls) { if (c is UC_Personnage) { UC_Personnage up = (UC_Personnage)c; up.cleanCBO(); } } } } ControleurJeu.nouveauTour(); this.augmenterNbTour(); //incremente nb de tour lblTour.Text = "Tour : " + nbTour.ToString() + " / " + nbTourMax.ToString(); ArrayList listPerso = ControleurJeu.getListePersonnage(); Personnage p1 = (Personnage)listPerso[0]; Personnage p2 = (Personnage)listPerso[1]; Personnage p3 = (Personnage)listPerso[2]; Personnage p4 = (Personnage)listPerso[3]; //mise a jour des persos apres avoir effectue les taches initUC(uC_Personnage1, p1); initUC(uC_Personnage2, p2); initUC(uC_Personnage3, p3); initUC(uC_Personnage4, p4); List <UC_Personnage> listUC = new List <UC_Personnage>(); listUC.Add(uC_Personnage1); listUC.Add(uC_Personnage2); listUC.Add(uC_Personnage3); listUC.Add(uC_Personnage4); uC_Personnage1.cleanCBO(); uC_Personnage2.cleanCBO(); uC_Personnage3.cleanCBO(); uC_Personnage4.cleanCBO(); Random rnd = new Random(); int alea = rnd.Next(20); if (alea <= 3) { UC_Personnage u = listUC[alea]; u.getPersonnage().setMalade(true); u.getPersonnage().setDisponible(false); } // FIN SI DEADLINE OU TOUTES LES FONCTIONS SONT FINIES // A REVOIR ( VERIFIER SI LE POURCENTAGE DU PROJET == 100 --> FIN ) } catch (NullReferenceException) { MessageBox.Show("Selectionnez Action"); } //Mettre à jour la liste des tâches à effectuer, c'est-à-dire que l'on vérifie si la tâche est complété ou non. Si c'est le cas alors on l'enlève de la liste lstTache.Items.Clear(); foreach (Fonctionnalites f in ControleurJeu.getListeFonctionnalite()) { if (f.getPaDepense() < f.getPaNecess() && f.getStatus() == false) { lstTache.Items.Add(f.getNom() + " (" + f.getNvConnaissNecces() + ")"); } } //Actualiser les progressBars pour chaque tache ArrayList listFonctionnalite = ControleurJeu.getListeFonctionnalite(); for (int i = 0; i <= listFonctionnalite.Count - 1; i++) { foreach (Object o in Controls) { if (o is Panel) { Panel p = (Panel)o; foreach (Object ob in p.Controls) { if (ob is Bunifu.Framework.UI.BunifuProgressBar) { Bunifu.Framework.UI.BunifuProgressBar pb = (Bunifu.Framework.UI.BunifuProgressBar)ob; if ((int)pb.Tag == i) { Fonctionnalites f = (Fonctionnalites)listFonctionnalite[i]; foreach (Fonctionnalites ft in ControleurJeu.getListeFonctionnalite()) { if (f.getNom() == ft.getNom()) { float val1 = (float)ft.getPaDepense(); float val2 = (float)ft.getPaNecess(); float res = (val1 / val2) * 100; if (res >= 100) { res = 100; } pb.Value = (int)res; } } } } } } } } }