Пример #1
0
        public void MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(CMonstre monstreStatutAChanger)
        {
            //Vu que la fonction de gestion des cagnottes change une cagnotte d'un monstre à la fois, on a juste a prendre son matricule
            if (monstreStatutAChanger.CagnotteInt < 50) //si la cagnotte du monstre est inférieure à 50
            {
                #region
                //direct affecté à un stand barbeAPapa
                //On cherche dans les attractions un stand Boutique + Barbe a papa
                for (int i = 0; i < m_attractionsListAttr.Count; i++)
                {
                    if (m_attractionsListAttr[i] is CBoutique)
                    {
                        CBoutique b = (CBoutique)m_attractionsListAttr[i];
                        if (b.TypeBoutiq == TypeBoutique.barbeAPapa) //A partir de la nous avons trouvé l'attraction a laquelle le monstre est affecté
                        {
                            monstreStatutAChanger.AjouterUneAffectationAttraction(b);
                            b.AjouterUnMonstreALEquipe(monstreStatutAChanger);
                        }
                    }
                }

                #endregion
            }
            //Dans le cas ou la cagnotte est supérieure 500, il faut vérifier si c'est un zombie ou demon

            if (monstreStatutAChanger.CagnotteInt > 500 && (monstreStatutAChanger is CZombie || monstreStatutAChanger is CDemon))
            {
                monstreStatutAChanger.DisparitionCagnotte500();
            }
        }
Пример #2
0
        //Affichage de la liste des attractions chargée en attribut dans un .CSV
        public void AffichageListeAttractionDansCSV(string nomFichier, List <CAttraction> list)
        {
            try
            {
                StreamWriter ecriture = new StreamWriter(nomFichier);
                string       mot      = " ";
                for (int i = 0; i < list.Count; i++)
                {
                    mot = list[i].TypeAttractionStr + ";" + list[i].IdentifiantInt + ";" + list[i].NomStr + ";" + list[i].NombreMinimumMonstreInt + ";" + list[i].BesoinSpecifiqueBool + ";" + list[i].TypeBesoinStr + ";";
                    //Il faut maintenant différencier toutes les différentes attractions pour finir d'afficher tous les attributs
                    if (list[i] is CBoutique)
                    {
                        CBoutique b = (CBoutique)list[i];
                        mot += b.TypeBoutiq;
                    }
                    else if (list[i] is CSpectacle)
                    {
                        CSpectacle s = (CSpectacle)list[i];
                        mot += s.NomSalleStr + ";" + s.NombrePlacesInt + ";";
                        foreach (DateTime element in s.HorairesList)
                        {
                            if (element == s.HorairesList.Last())
                            {
                                mot += element;
                            }
                            else
                            {
                                mot += element + " ";
                            }
                        }
                    }
                    else if (list[i] is CRollerCoaster)
                    {
                        CRollerCoaster r = (CRollerCoaster)list[i];
                        mot += r.CategorieRoller + ";" + r.AgeMinimumInt + ";" + r.TailleMinimumFloat;
                    }
                    else if (list[i] is CDarkRide)
                    {
                        CDarkRide d = (CDarkRide)list[i];
                        mot += d.DureeDarkRide + ";" + d.VehiculeBool;
                    }

                    ecriture.Write(mot + "\n");
                }
                Console.WriteLine("Les données ont été rangés dans un fichier .csv de nom : " + nomFichier);
                ecriture.Close();
                ProcessStartInfo Sortir = new ProcessStartInfo(nomFichier, "");
                Process.Start(Sortir);
            }

            catch (Exception e)
            {
                Console.WriteLine("ERREUR DANS AffichageListeAttractionDansCSV()" + e.Message);
            }
        }
Пример #3
0
        static void LectureFichierCSV(string nomFichier, List <CPersonnel> listDesPersonnels, List <CAttraction> listDesAttractions)
        {
            int i = 1;

            try
            {
                #region Test De la validé du fichier entré en paramètre
                StreamReader monStreamReader = new StreamReader(nomFichier);
                //On déclare une string pour la lecture ligne par ligne du fichier .csv
                string ligneLuStr = monStreamReader.ReadLine(); //Lecture de la premiere ligne
                //Tant que l'on est pas à la fin du fichier
                //Installation d'un compteur
                List <CMonstre> listDesMonstres = new List <CMonstre>();
                while (ligneLuStr != null)
                {
                    try
                    {
                        //Chaque mot dans le fichier est séparé par un ;
                        string[] TabStr = ligneLuStr.Split(';'); // Toutes les cases sont contenues dans le tab de string
                                                                 //DisplayTabStr(tempTabStr);
                        if (TabStr[0] == "Sorcier")
                        {
                            #region Condition pour creer un sorcier
                            //NOUS NOUS OCCUPONS D'UN SORCIER
                            //Il faut enlever les deux dernieres cases du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[8]; // 7 attributs + 1 case "sorcier"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 8 comme prévu pour le sorcier
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 8) // car contient 7 attributs + 1 pour la premiere case
                            {
                                CSorcier nouveauSorcier = new CSorcier(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7]);
                                listDesPersonnels.Add(nouveauSorcier);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Monstre")
                        {
                            #region Condition pour creer un monstre
                            //NOUS NOUS OCCUPONS D'UN MONSTRE
                            //Il faut enlever les deux dernieres cases du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[8]; // 7 attributs + 1 case "monstre"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 8 comme prévu pour le monstre
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 8) // car contient 7 attributs + 1 pour la premiere case
                            {
                                CMonstre nouveauMonstre = new CMonstre(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7]);
                                listDesMonstres.Add(nouveauMonstre);
                                listDesPersonnels.Add(nouveauMonstre);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Demon")
                        {
                            #region Condition pour creer un demon
                            //NOUS NOUS OCCUPONS D'UN DEMON
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[9]; // 8 attributs + 1 case "demon"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 9 comme prévu pour le demon
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 9) // car contient 8 attributs + 1 pour la premiere case
                            {
                                CDemon nouveauDemon = new CDemon(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8]);
                                listDesMonstres.Add(nouveauDemon);
                                listDesPersonnels.Add(nouveauDemon);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "LoupGarou")
                        {
                            #region Condition pour creer un LoupGarou
                            //NOUS NOUS OCCUPONS D'UN LoupGarou
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[9]; // 8 attributs + 1 case "loupgarou"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 9 comme prévu pour le loupgarou
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 9) // car contient 8 attributs + 1 pour la premiere case
                            {
                                CLoupGarou nouveauLoupGarou = new CLoupGarou(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8]);
                                listDesMonstres.Add(nouveauLoupGarou);
                                listDesPersonnels.Add(nouveauLoupGarou);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Vampire")
                        {
                            #region Condition pour creer un Vampire
                            //NOUS NOUS OCCUPONS D'UN Vampire
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[9]; // 8 attributs + 1 case "vampire"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 9 comme prévu pour le vampire
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 9) // car contient 8 attributs + 1 pour la premiere case
                            {
                                CVampire nouveauVampire = new CVampire(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8]);
                                listDesMonstres.Add(nouveauVampire);
                                listDesPersonnels.Add(nouveauVampire);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Fantome")
                        {
                            #region Condition pour creer un fantome
                            //NOUS NOUS OCCUPONS D'UN FANTOME
                            //Il faut enlever les deux dernieres cases du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[8]; // 8 attributs + 1 case "fantome"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 8 comme prévu pour le monstre
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 8) // car contient 7 attributs + 1 pour la premiere case                                                                                                                    // Dans les 2 cas, on prend soin de vérifier que ce sont bien les 8 premieres cases du fichier csv qui sont remplies et non la 11eme (ce qui ferait une .Length de 10 et du coup ça passerait)
                            {
                                CFantome nouveauFantome = new CFantome(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7]);
                                listDesMonstres.Add(nouveauFantome);
                                listDesPersonnels.Add(nouveauFantome);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Zombie")
                        {
                            #region Condition pour creer un zombie
                            //NOUS NOUS OCCUPONS D'UN ZOMBIE
                            string[] tempTabStr = TabStr; // 9 attributs + 1 case "zombie"
                            if (tempTabStr.Length == 10)  // car contient 9 attributs + 1 pour la premiere case
                            {
                                CZombie nouveauZombie = new CZombie(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8], tempTabStr[9]);
                                listDesMonstres.Add(nouveauZombie);
                                listDesPersonnels.Add(nouveauZombie);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Boutique")
                        {
                            #region Condition pour creer une boutique
                            //NOUS NOUS OCCUPONS D'UN BOUTIQUE
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[7]; // 6 attributs + 1 case "boutique"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 7 comme prévu pour la boutique
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 7) // car contient 6 attributs + 1 pour la premiere case
                            {
                                CBoutique nouvelleBoutique = new CBoutique(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6]);
                                listDesAttractions.Add(nouvelleBoutique);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Spectacles")
                        {
                            #region Condition pour creer un spectacle
                            //NOUS NOUS OCCUPONS D'UN SPECTACLE
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[9]; // 8 attributs + 1 case "boutique"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 9 comme prévu pour le spectacle
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 9) // car contient 8 attributs + 1 pour la premiere case
                            {
                                CSpectacle nouveauSpectacle = new CSpectacle(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8]);
                                listDesAttractions.Add(nouveauSpectacle);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "DarkRide")
                        {
                            #region Condition pour creer un DarkRide
                            //NOUS NOUS OCCUPONS D'UN DarkRide
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[8]; // 7 attributs + 1 case "DarkRide"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 8 comme prévu pour le DarkRide
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 8) // car contient 7 attributs + 1 pour la premiere case
                            {
                                CDarkRide nouveauDarkRide = new CDarkRide(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7]);
                                listDesAttractions.Add(nouveauDarkRide);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "RollerCoaster")
                        {
                            #region Condition pour creer un rollerCoaster
                            //NOUS NOUS OCCUPONS D'UN rollerCoaster
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[9]; // 8 attributs + 1 case "boutique"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 9) // car contient 6 attributs + 1 pour la premiere case
                            {
                                CRollerCoaster nouveauRollerCoaster = new CRollerCoaster(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8]);
                                listDesAttractions.Add(nouveauRollerCoaster);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else
                        {
                            throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA CASE 1 : Le type d'objet n'est pas reconnu pour le parc : " + TabStr[0]);
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("\nERREUR DANS LECTUREFICHIERCSV LIGNE[" + i + "] : " + e.Message);
                    }
                    i++;
                    ligneLuStr = monStreamReader.ReadLine(); //Lecture de la ligne suivante
                }
                // Et on oublie pas de fermer le flux
                monStreamReader.Close();
                //Il faut maintenant vérifier si toutes les affectations aux attractions chez les monstres est valide
                //foreach(CMonstre m in listDesMonstres)
                //{
                //    Console.WriteLine(m.DisplayObject());
                //}
                //foreach (CAttraction m in listDesAttractions)
                //{
                //    Console.WriteLine(m.DisplayObject());
                //}
                //Console.WriteLine("JUSTE AVANT DE METTRE A JOUR LES AFFECTATIONS\n");
                //Console.ReadKey();
                try
                {
                    MiseAJourDesAttractionsAffecteesAuxMonstres(listDesMonstres, listDesAttractions);
                }
                catch (Exception e)
                {
                    Console.WriteLine("ERREUR pour  MiseAJourDesAttractionsAffecteesAuxMonstres() " + e.Message);
                }
                //foreach (CPersonnel m in listDesPersonnels)
                //{
                //    Console.WriteLine(m.DisplayObject());
                //}
                #endregion
            }
            catch (Exception e)
            {
                Console.WriteLine("ERREUR FICHIER DANS LECTUREFICHIERCSV : " + e.Message);
            }
        }
Пример #4
0
        public void AjouterUneAttractionAuParc()
        {
            bool   reponseUtilisateurChoixAttractionBool = false;
            bool   boutiqueCreeBool           = false;
            string reponseFinaleAttractionStr = "";

            try
            {
                Console.WriteLine("BIENVENUE DANS L'ESPACE DE CREATION D'ATTRACTION");
                Console.WriteLine("-------------------------------------------------------\n");
                while (!reponseUtilisateurChoixAttractionBool) //tant que le choix utilisateur sur l'attraction est incorrect
                {
                    #region Choix Utilisateur pour la crétion de l'attractiton
                    try
                    {
                        Console.WriteLine("On crée une attraction de type Boutique par exemple.");
                        string reponseUtilisateur = "Boutique";

                        if (reponseUtilisateur == "Boutique")
                        {
                            reponseUtilisateurChoixAttractionBool = true;
                        }
                        else if (reponseUtilisateur == "Spectacle")
                        {
                            reponseUtilisateurChoixAttractionBool = true;
                        }
                        else if (reponseUtilisateur == "RollerCoaster")
                        {
                            reponseUtilisateurChoixAttractionBool = true;
                        }
                        else if (reponseUtilisateur == "DarkRide")
                        {
                            reponseUtilisateurChoixAttractionBool = true;
                        }
                        else
                        {
                            throw new Exception("La reponse utlisateur est incorrect");
                        }
                        reponseFinaleAttractionStr = reponseUtilisateur;
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        reponseUtilisateurChoixAttractionBool = false;
                    }
                    #endregion
                }
                while (!boutiqueCreeBool)
                {
                    try
                    {
                        //Tous les attributs en commun
                        string matriculeStr         = "";
                        string nomStr               = "";
                        string nbMinMonstreStr      = "";
                        string besoinSprecifiqueStr = "";
                        string typeBesoinStr        = "";
                        Console.WriteLine("On entre le matricule de l'attraction à ajouter, par exemple : 123. ");
                        matriculeStr = "123";
                        Console.WriteLine("On entre le nom de l'attraction à ajouter, par exemple : Les bonbons de Mathieu. ");
                        nomStr = "Les bonbons de Mathieu";
                        Console.WriteLine("On entre le nombre minimum de personnels de l'attraction à ajouter, par exemple : 4. ");
                        nbMinMonstreStr = "4";
                        Console.WriteLine("On choisit s'il y a un besoin spéifique pour l'attraction à ajouter, par exemple : True. ");
                        besoinSprecifiqueStr = "True";
                        if (besoinSprecifiqueStr == "True") //dans le cas ou il y a besoin d'un type
                        {
                            Console.WriteLine("On choisit le Type de besoin, par exemple : vampire ");
                            typeBesoinStr = "vampire";
                        }
                        //A partir de maintenant les attributs diffèent selon le type d'attraction choisi
                        #region creation Boutique/Roller/Dark/Spectacle
                        if (reponseFinaleAttractionStr == "Boutique")
                        {
                            Console.WriteLine("On entre le type de boutique àjouter, par exemple : nourriture ");
                            string    typeBoutiqueStr  = "nourriture";
                            CBoutique nouvelleBoutique = new CBoutique(matriculeStr, nomStr, nbMinMonstreStr, besoinSprecifiqueStr, typeBesoinStr, typeBoutiqueStr);
                            if (nouvelleBoutique != null)
                            {
                                boutiqueCreeBool = true;
                                m_attractionsListAttr.Add(nouvelleBoutique);
                                Console.WriteLine("La boutique a été ajouté avec succès à la liste");
                            }
                        }
                        else if (reponseFinaleAttractionStr == "Spectacle")
                        {
                            string nomSalleStr = "";
                            Console.WriteLine("Quelle est le nom de votre salle ? ");
                            nomSalleStr = Console.ReadLine();
                            string nomPlaceStr = "";
                            Console.WriteLine("Le nombre de place de votre salle : ");
                            nomPlaceStr = Console.ReadLine();
                            string horairesStr = "";
                            Console.WriteLine("Quels sont le les horaire(s) ? Modèe d'ériture : 12:15 14:15 (un espace est néessaire entre deux horaires)");
                            horairesStr = Console.ReadLine();
                            CSpectacle nouveauSpectacle = new CSpectacle(matriculeStr, nomStr, nbMinMonstreStr, besoinSprecifiqueStr, typeBesoinStr, nomSalleStr, nomPlaceStr, horairesStr);
                            if (nouveauSpectacle != null)
                            {
                                boutiqueCreeBool = true;
                                m_attractionsListAttr.Add(nouveauSpectacle);
                                Console.WriteLine("Le spectacle a ééjoutévec succè àa liste");
                            }
                        }
                        else if (reponseFinaleAttractionStr == "RollerCoaster")
                        {
                            string categorieStr = "";
                            Console.WriteLine("De quelle categorie est le RollerCoaster ? (assise, inversee, bobsleigh) ? ");
                            categorieStr = Console.ReadLine();
                            string ageMinStr = "";
                            Console.WriteLine("L'age minimum requis : ");
                            ageMinStr = Console.ReadLine();
                            string tailleMinStr = "";
                            Console.WriteLine("La taille minimale requise (nombre a virgule 1,2m) : ");
                            tailleMinStr = Console.ReadLine();
                            CRollerCoaster nouveauRoller = new CRollerCoaster(matriculeStr, nomStr, nbMinMonstreStr, besoinSprecifiqueStr, typeBesoinStr, categorieStr, ageMinStr, tailleMinStr);
                            if (nouveauRoller != null)
                            {
                                boutiqueCreeBool = true;
                                m_attractionsListAttr.Add(nouveauRoller);
                                Console.WriteLine("Le RollerCoaster a ééjoutévec succè àa liste des attractions");
                            }
                        }
                        else if (reponseFinaleAttractionStr == "DarkRide")
                        {
                            string dureeStr = "";
                            Console.WriteLine("Quelle est la duré de l'attraction (TimeSpan) ? ");
                            dureeStr = Console.ReadLine();
                            string vehiculeStr = "";
                            Console.WriteLine("Est ce qu'il y a un vécule ? (True/False) ");
                            vehiculeStr = Console.ReadLine();
                            CDarkRide nouveauDarkRide = new CDarkRide(matriculeStr, nomStr, nbMinMonstreStr, besoinSprecifiqueStr, typeBesoinStr, dureeStr, vehiculeStr);
                            if (nouveauDarkRide != null)
                            {
                                boutiqueCreeBool = true;
                                m_attractionsListAttr.Add(nouveauDarkRide);
                                Console.WriteLine("Le DarkRide a ééjoutévec succè àa liste des attractions");
                            }
                        }
                        else
                        {
                            throw new Exception("Erreur dans la saisie des attributs de l'attraction");
                        }
                        #endregion
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Une erreur dans la saisie des attributs de l'attraction ! " + e.Message);
                        boutiqueCreeBool = false;
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("ERREUR AjouterUneAttractionAuParc() : " + e.Message);
            }
        }