コード例 #1
0
        /**
         * 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;
        }
コード例 #2
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();
        }
コード例 #3
0
        /**
         * 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();
        }
コード例 #4
0
        /**
         * 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();
        }