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(); } }
//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); } }
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); } }
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); } }