//Il faut une fonction permettant de changer l'affectation d'un monstre d'une atttraction a une autre public void ChangerAffectationTravailleurAttractionAUneAutre() // En paramètre : int matriculePersonnel, int matriculeAttraction { Console.WriteLine("BIENVENUE DANS LA GESTION DES AFFECTATIONS D'UN MONSTRE SUR UNE AUTRE ATTRACTION"); Console.WriteLine("--------------------------------------------------"); Console.WriteLine("Nous allons pour le monstre suivant et l'attraction suivante effectuer une affectation"); int matriculePersonnel = 66254; int matriculeAttraction = 112; CMonstre personnelATrouver = (CMonstre)m_toutLePersonnelListPers.Find(delegate(CPersonnel personnelAAffecter) //on cast car logique c'est un montre concerné par le matricule { return(personnelAAffecter.MatriculeInt == matriculePersonnel); }); //On récupère dans la liste des attractions celle que l'on veut mettre en maintenance CAttraction attractionATrouver = m_attractionsListAttr.Find(delegate(CAttraction attraction) { return(attraction.IdentifiantInt == matriculeAttraction); }); Console.WriteLine(attractionATrouver.DisplayObject()); Console.WriteLine(personnelATrouver.DisplayObject()); Console.WriteLine("Appuyer sur une touche pour continuer..."); Console.ReadKey(); //on stock les infos de l'attraction dans l'attribut affectation du monstre personnelATrouver.ChangerAffectation(attractionATrouver); //attribut attraction du monstre = attraction //inversement, on ajoute les monstres dans l'attributs equipeMonstre de chacun des attractions attractionATrouver.AjouterUnMonstreALEquipe(personnelATrouver); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Changement effectué ! Le monstre n° " + matriculePersonnel + " travaille maintenant sur l'attraction n° " + matriculeAttraction + ".\nStatut :"); Console.WriteLine("------------------------------------------------------------------------------------------------------------"); Console.WriteLine(attractionATrouver.DisplayObject()); Console.WriteLine(personnelATrouver.DisplayObject()); Console.WriteLine("--------------------------------FIN GESTION DES AFFECTATIONS---------------------------------------------"); Console.ForegroundColor = ConsoleColor.Gray; }
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(); } }
//Affiche en console la liste des personnels "libre" ou "parc" ou "membre administration" ou "attraction" public void AffichagePersonnelStatutDesire(string statutDesire) //statutDesire = libre, parc, membre administration, attraction { try { if (statutDesire == "libre" || statutDesire == "parc" || statutDesire == "attraction" || statutDesire == "membre administration") { foreach (CPersonnel p in m_toutLePersonnelListPers) { if (p is CMonstre) { CMonstre m = (CMonstre)p; //on cast l'element personnel en monstre pour pouvoir voir son statut et l'afficher eventuellement if (m.IntituleAffectationString == statutDesire) { Console.WriteLine(m.DisplayObject()); } } } } else { throw new Exception("Le statut doit etre egal a : libre, parc, membre administration, attraction"); } } catch (Exception e) { Console.WriteLine("ERREUR dans AffichagePersonnelStatut() " + e.Message); } }
//Creation d'un dictionnaire qui joint les matricules en fonction des cagnottes public Dictionary <int, int> CreerDictionnaireMatriculeCagnotte(List <CPersonnel> list) { //On désire créer un dictionnaire permettant de retrouver en fonction du matricule, la cagnotte associée Dictionary <int, int> dictionnaireMatriculeCagnotte = new Dictionary <int, int>(); if (list != null) { for (int i = 0; i < list.Count; i++) { //il faut faire la différence entre les monstres et les sorciers '(qui n'ont pas de cagnottes eux) if (list[i] is CMonstre) { CMonstre m = (CMonstre)list[i]; dictionnaireMatriculeCagnotte.Add(m.MatriculeInt, m.CagnotteInt); } } } return(dictionnaireMatriculeCagnotte); }
public void VoirListDesLibresPourAffectation() { //try //{ Console.WriteLine("BIENVENUE DANS L'ESPACE D'AFFECTATION DES MEMBRES DU PERSONNEL LIBREs A UNE ATTRACTION"); Console.WriteLine("--------------------------------------------------------------------------------------\n"); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Voici la liste du personnel libre : "); Console.ForegroundColor = ConsoleColor.Gray; AffichagePersonnelStatutDesire("libre"); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Voici la liste des attractions existantes dans le parc : "); Console.ForegroundColor = ConsoleColor.Gray; AffichageListeAttraction(m_attractionsListAttr); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("On choisit le matricule d'un membre du personnel que l'on souhaite affecter, par exemple: 66654"); int reponseUtilisateurPersonnelInt = Int32.Parse(Console.ReadLine()); Console.WriteLine("On choisit le matricule de l'attraction sur laquelle le membre du personnel va êre affecté par exemple: 112"); int reponseUtilisateurAttraction = Int32.Parse(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Gray; CMonstre personnel = (CMonstre)m_toutLePersonnelListPers.Find(delegate(CPersonnel personnelAAffecter) //on cast car logique c'est un montre concernéar le matricule { return(personnelAAffecter.MatriculeInt == reponseUtilisateurPersonnelInt); }); //ici on cherche dans la liste le membre ayant le matricule entréar l'utilsateur dans la liste complete // ICI il faut aussi trouver la bonne attraction CAttraction attraction = m_attractionsListAttr.Find(delegate(CAttraction attractionAffectee) { return(attractionAffectee.IdentifiantInt == reponseUtilisateurAttraction); }); //on met a jour l'affection du membre du personnel personnel.ChangerAffectation(attraction); //l'intituléu statut est MAJ en meme temps //on met a jour la liste des travailleurs sur une attraction attraction.AjouterUnMonstreALEquipe(personnel); //} //catch(Exception e) //{ // Console.WriteLine("Erreur dans VoirListDesLibresPourAffectation()" + e.Message); //} }
public void GestionDeLaCagnotteDesMonstres() { Console.WriteLine("BIENVENUE DANS LA GESTION DES CAGNOTTES ROSE "); Console.WriteLine("--------------------------------------------------"); //AffichageListePersonnel(m_toutLePersonnelListPers); Console.WriteLine("On choisit un membre sur lequel on agit sur sa cagnotte. Voici le demon :"); //string reponseRose = Console.ReadLine(); int reponseMatricule = 66987; CMonstre personnelATrouver = (CMonstre)m_toutLePersonnelListPers.Find(delegate(CPersonnel personnelAAffecter) //on cast car logique c'est un montre concerné par le matricule { return(personnelAAffecter.MatriculeInt == reponseMatricule); }); Console.WriteLine(personnelATrouver.DisplayObject()); //Console.WriteLine("Appuyer "); //Console.WriteLine("Vous voulez 'Ajouter' ou 'Retirer' ? "); string reponse2 = "Ajouter"; //Console.WriteLine("Combien ?"); //string reponse3 = Console.ReadLine(); int reponse3Int = 500; Console.WriteLine("On ajoute a ce demon la somme de 500 a sa cagnotte, son statut va changer"); Console.WriteLine("Appuyer sur une touche pour continuer..."); Console.ReadKey(); if (reponse2 == "Ajouter" || reponse2 == "Retirer") { personnelATrouver.AgirSurCagnotte(reponse2, reponse3Int); //retire ou ajoute le montant désiré de la cagnotte du monstre } //Ajouter ici la fonction qui permet de rafraichir les différents statuts des monstres selon les modifications de cagnottes MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(personnelATrouver); Console.WriteLine(personnelATrouver.DisplayObject()); Console.WriteLine("-------FIN DE LA GESTION DES CAGNOTTES--------"); }
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); } }
//Affichage de la liste des personnels chargée en attribut dans un .CSV public void AffichageListePersonnelDansCSV(string nomFichier, List <CPersonnel> list) { try { StreamWriter ecriture = new StreamWriter(nomFichier); string mot = " "; for (int i = 0; i < list.Count; i++) { mot = list[i].RacePersonnelStr + ";" + list[i].MatriculeInt + ";" + list[i].NomStr + ";" + list[i].PrenomStr + ";" + list[i].Sexe + ";" + list[i].FonctionStr + ";"; //Il faut maintenant différencier toutes les races des personnels pour finir d'afficher tous les attributs if (list[i] is CSorcier) { CSorcier s = (CSorcier)list[i]; mot += s.Tatouage + ";"; foreach (string element in s.ListePouvoirs) { if (element == s.ListePouvoirs.Last()) { mot += element; } else { mot += element + "-"; } } } else if (list[i] is CDemon) { CDemon d = (CDemon)list[i]; mot += d.CagnotteInt + ";" + d.IDAttractionAffecteeInt + ";" + d.ForceInt; } else if (list[i] is CFantome) { CFantome f = (CFantome)list[i]; mot += f.CagnotteInt + ";" + f.IDAttractionAffecteeInt; } else if (list[i] is CLoupGarou) { CLoupGarou l = (CLoupGarou)list[i]; mot += l.CagnotteInt + ";" + l.IDAttractionAffecteeInt + ";" + l.IndiceCruauteDbl; } else if (list[i] is CVampire) { CVampire v = (CVampire)list[i]; mot += v.CagnotteInt + ";" + v.IDAttractionAffecteeInt + ";" + v.IndiceLuminositeFloat; } else if (list[i] is CZombie) { CZombie z = (CZombie)list[i]; mot += z.CagnotteInt + ";" + z.IDAttractionAffecteeInt + ";" + z.DegreDecompositionInt + ";" + z.Teint; } //Cette boucle est mise à la fin car tous les personnels sont de race CMonstre, donc si on arrive ici, alors on est sur que c'est un pur monstre else if (list[i] is CMonstre) { CMonstre m = (CMonstre)list[i]; mot += m.CagnotteInt + ";" + m.IDAttractionAffecteeInt; } ecriture.Write(mot + "\n"); } ecriture.Close(); Console.WriteLine("Les données ont été rangés dans un fichier .csv de nom : " + nomFichier); } catch (Exception e) { Console.WriteLine("ERREUR DANS AffichageListePersonnelDansCSV" + e.Message); } }
public void AjouterUnMembreDuPersonnel() { bool reponseUtilisateurChoixPersonnelBool = false; bool PersonnelCreeBool = false; string reponseFinaleAttractionStr = ""; string reponseUtilisateur = ""; try { Console.WriteLine("BIENVENUE DANS L'ESPACE DE CREATION DES MEMBRES DU PERSONNEL"); Console.WriteLine("-------------------------------------------------------\n"); while (!reponseUtilisateurChoixPersonnelBool) //tant que le choix utilisateur sur l'attraction est incorrect { #region Choix Utilisateur pour la crétion de monstre try { Console.WriteLine("On choisit le type de membre du personnel que l'on veut créer, par exemple: monstre."); reponseUtilisateur = "Monstre"; if (reponseUtilisateur == "Monstre") { reponseUtilisateurChoixPersonnelBool = true; } else if (reponseUtilisateur == "Sorcier") { reponseUtilisateurChoixPersonnelBool = true; } else if (reponseUtilisateur == "Demon") { reponseUtilisateurChoixPersonnelBool = true; } else if (reponseUtilisateur == "LoupGarou") { reponseUtilisateurChoixPersonnelBool = true; } else if (reponseUtilisateur == "Vampire") { reponseUtilisateurChoixPersonnelBool = true; } else if (reponseUtilisateur == "Zombie") { reponseUtilisateurChoixPersonnelBool = true; } else if (reponseUtilisateur == "Fantome") { reponseUtilisateurChoixPersonnelBool = true; } else { throw new Exception("La reponse utlisateur est incorrect"); } reponseFinaleAttractionStr = reponseUtilisateur; } catch (Exception e) { Console.WriteLine(e.Message); reponseUtilisateurChoixPersonnelBool = false; } #endregion } while (!PersonnelCreeBool) { #region Creation des Personnels try { //Tous les attributs en commun //string raceStr = reponseUtilisateur; string matriculeStr = ""; string nomStr = ""; string prenomStr = ""; string sexeStr = ""; string fonctionStr = ""; string cagnotteStr = ""; Console.WriteLine("On choisit un matricule au membre du personnel que l'on souhaite ajouter, par exemple : 54321"); matriculeStr = "54321"; Console.WriteLine("On choisit un nom de famille au membre du personnel que l'on souhaite ajouter, par exemple : Jean"); nomStr = "DUPONT"; Console.WriteLine("On choisit un pénom au membre du personnel que l'on souhaite ajouter, par exemple : DUPONT"); prenomStr = "Jean"; Console.WriteLine("On choisit un sexe au membre du personnel que l'on souhaite ajouter, par exemple : male"); sexeStr = "male"; Console.WriteLine("On choisit une fonction au membre du personnel que l'on souhaite ajouter, par exemple : stagiaire"); fonctionStr = "stagiaire"; if (reponseFinaleAttractionStr == "Sorcier") { string gradeStr = ""; Console.WriteLine("Chosir le grade du sorcier (novice, mega, giga, strata) : "); gradeStr = Console.ReadLine(); string listPouvoirStr = ""; Console.WriteLine("Chosir le(s) pouvoir(s) du sorcier, ils doivent êre séaré d'un - : "); listPouvoirStr = Console.ReadLine(); CSorcier nouveauSorcier = new CSorcier(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, gradeStr, listPouvoirStr); if (nouveauSorcier != null) { PersonnelCreeBool = true; m_toutLePersonnelListPers.Add(nouveauSorcier); Console.WriteLine("Le sorcier a été ajouté avec succès à la liste des personnels"); } } else if (reponseFinaleAttractionStr == "Monstre") { Console.WriteLine("On choisit une cagnotte au monstre que l'on souhaite ajouter, par exmple : 34"); cagnotteStr = "34"; string affectationStr = ""; Console.WriteLine("On choisit une attraction au monstre que l'on souhaite ajouter, par exmple : 684"); affectationStr = "684"; CMonstre nouveauMonstre = new CMonstre(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr); if (nouveauMonstre != null) { PersonnelCreeBool = true; m_toutLePersonnelListPers.Add(nouveauMonstre); MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(nouveauMonstre); Console.WriteLine("Le monstre a ééjoutévec succè a la liste des personnels"); } } else if (reponseFinaleAttractionStr == "Demon") { Console.WriteLine("Chosir la cagnotte : "); cagnotteStr = Console.ReadLine(); string affectationStr = ""; Console.WriteLine("Chosir parmi les attractions existantes un matricule (3 chiffres): "); affectationStr = Console.ReadLine(); string forceStr = ""; Console.WriteLine("Chosir la force du demon : "); forceStr = Console.ReadLine(); CDemon nouveauPersonnel = new CDemon(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr, forceStr); if (nouveauPersonnel != null) { PersonnelCreeBool = true; m_toutLePersonnelListPers.Add(nouveauPersonnel); Console.WriteLine("Le demon a ééjoutévec succè a la liste des personnels"); } } else if (reponseFinaleAttractionStr == "Fantome") { Console.WriteLine("Chosir la cagnotte : "); cagnotteStr = Console.ReadLine(); string affectationStr = ""; Console.WriteLine("Chosir parmi les attractions existantes un matricule (3 chiffres): "); affectationStr = Console.ReadLine(); CFantome nouveauPersonnel = new CFantome(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr); if (nouveauPersonnel != null) { PersonnelCreeBool = true; m_toutLePersonnelListPers.Add(nouveauPersonnel); MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(nouveauPersonnel); Console.WriteLine("Le fantome a ééjoutévec succè a la liste des personnels"); } } else if (reponseFinaleAttractionStr == "LoupGarou") { Console.WriteLine("Chosir la cagnotte : "); cagnotteStr = Console.ReadLine(); string affectationStr = ""; Console.WriteLine("Chosir parmi les attractions existantes un matricule (3 chiffres): "); affectationStr = Console.ReadLine(); string forceStr = ""; Console.WriteLine("Chosir la cruautéu LoupGarou : "); forceStr = Console.ReadLine(); CLoupGarou nouveauPersonnel = new CLoupGarou(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr, forceStr); if (nouveauPersonnel != null) { PersonnelCreeBool = true; m_toutLePersonnelListPers.Add(nouveauPersonnel); MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(nouveauPersonnel); Console.WriteLine("Le LoupGarou a ééjoutévec succè a la liste des personnels"); } } else if (reponseFinaleAttractionStr == "Vampire") { Console.WriteLine("Chosir la cagnotte : "); cagnotteStr = Console.ReadLine(); string affectationStr = ""; Console.WriteLine("Chosir parmi les attractions existantes un matricule (3 chiffres): "); affectationStr = Console.ReadLine(); string indiceStr = ""; Console.WriteLine("Chosir la luminositéu vampire : "); indiceStr = Console.ReadLine(); CVampire nouveauPersonnel = new CVampire(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr, indiceStr); if (nouveauPersonnel != null) { PersonnelCreeBool = true; m_toutLePersonnelListPers.Add(nouveauPersonnel); MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(nouveauPersonnel); Console.WriteLine("Le vampire a ééjoutévec succè a la liste des personnels"); } } else if (reponseFinaleAttractionStr == "Zombie") { Console.WriteLine("Chosir la cagnotte : "); cagnotteStr = Console.ReadLine(); string affectationStr = ""; Console.WriteLine("Chosir parmi les attractions existantes un matricule (3 chiffres): "); affectationStr = Console.ReadLine(); string couleurStr = ""; Console.WriteLine("Chosir la teinte du zombie (bleuatre/grisatre) : "); couleurStr = Console.ReadLine(); string degreStr = ""; Console.WriteLine("Choisir le degrée déomposition du zombie : "); degreStr = Console.ReadLine(); CZombie nouveauPersonnel = new CZombie(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr, couleurStr, degreStr); if (nouveauPersonnel != null) { PersonnelCreeBool = true; m_toutLePersonnelListPers.Add(nouveauPersonnel); MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(nouveauPersonnel); Console.WriteLine("Le zombie a ééjoutévec succè a la liste des personnels"); } } } catch (Exception e) { Console.WriteLine("ERREUR DANS AjouterUnMembreDuPersonnel() : " + e.Message); } #endregion } } catch (Exception e) { Console.WriteLine("ERREUR DANS AjouterUnMembreDuPersonnel() " + e.Message); } //Console.WriteLine("------------------------FIN ESPACE DE CREATION PERSONNEL-------------------------------\n"); }
public void AjouterUnMonstreALEquipe(CMonstre monstre) { m_equipeListMonstre.Add(monstre); }