/** * Vide les listes de fonctionnalités, de personnages, de réunion, de points forts et de points faibles. Tous les personnages sont initialisés à null. * */ public void init() { listfonctionnalite.Clear(); listtransmise.Clear(); listPersonnage.Clear(); listReunion.Clear(); listeQualites.Clear(); nbQualites = 1; listeDefauts.Clear(); nbDefauts = nbQualites; listePointsForts.Clear(); nbPointsForts = 1; listePointsFaibles.Clear(); nbPointsFaibles = nbPointsForts; listeRand1.Clear(); listeRand2.Clear(); p1 = null; p2 = null; p3 = null; p4 = null; jeu = null; compteurTours = 0; }
/** * 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(); }
/** * 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(); }