public Cachette(string nom) : base(nom) { Random a = new Random(100); int alea = a.Next(); if (alea <= 20) { contenu = new Clef(); } }
public Toilettes() : base("toilettes") { Random a = new Random(100); int alea = a.Next(); if (alea <= 20) { contenu = new Clef(); } }
public virtual void fouiller(Stuff inventaire) { if (contenu == null) { Console.WriteLine("Il n'y a rien ici."); } else { Console.WriteLine("Il y a quelque chose là-dedans..."); inventaire.ajouterItem(contenu); contenu = null; } }
public void regarderReservoir(Stuff inventaire) { if (contenu == null) { Console.WriteLine("Il n'y a rien dans ce réservoir."); } else { Console.WriteLine("Il y a quelque chose là-dedans..."); inventaire.ajouterItem(contenu); contenu = null; } }
public void ajouterItem(Objet_Inventaire obj) { if (elements.Count < taille) { elements.Add(obj); Console.WriteLine("Elément ajouté"); } else { Console.WriteLine("Inventaire plein\nJeter un éléments? (o/n)"); char valid = char.Parse(Console.ReadLine()); if (valid == 'o') { jeterItem(); elements.Add(obj); } else { Console.WriteLine("Objet non ajouté"); } } }
//Choix de la commande d'action par le joueur public static void queFaire(Perso_principal perso) { string action = Console.ReadLine(); do { if (action == "aide") { Console.WriteLine("Pour réaliser les actions ci-dessous, taper la lettre associée"); Console.WriteLine("e : explorer - permet d’obtenir une description de votre environnement"); Console.WriteLine("i : inventaire - permet d’accéder à votre inventaire à tout moment"); Console.WriteLine("f : faire - permet d’interagir avec une personne ou un objet"); Console.WriteLine("o : objectifs - permet de connaître les objectifs de la quête principale et des quêtes secondaires en cours"); Console.WriteLine("d : déplacer - permet de vous déplacer dans une autre salle ou aile"); Console.WriteLine("q : QUITTER LE JEU\n"); action = Console.ReadLine(); } if (action != "aide" && action != "e" && action != "i" && action != "f" && action != "o" && action != "d" && action != "q") { Console.WriteLine("Commande non valide. Taper \"aide\" pour accéder aux commandes disponibles"); action = Console.ReadLine(); } } while (action != "e" && action != "i" && action != "f" && action != "o" && action != "d" && action != "q"); if (action == "e") { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(" # Explorer"); Console.ForegroundColor = ConsoleColor.White; decrireEnvironnement(perso.Position); queFaire(perso); } if (action == "i") { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(" # Inventaire"); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(perso.monStuff); if (perso.monStuff.voirInventaire().Count == 0) { Console.WriteLine("L'inventaire est vide.\n"); } Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Santé : {0}", perso.Sante); Console.WriteLine("Force : {0}", perso.Force); Console.WriteLine("Persuasion : {0}", perso.Persuasion); Console.WriteLine("Sex-appeal : {0}\n", perso.Sex_appeal); Console.ForegroundColor = ConsoleColor.White; queFaire(perso); } if (action == "f") { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("# Avec quel objet ou quelle personne interagir ?\n"); Console.ForegroundColor = ConsoleColor.White; int numObj = 1; foreach (Objet objet in perso.Position.GetListeObjets()) { Console.WriteLine("{0} : {1}", numObj, objet); numObj++; } /* * int numPNJ = 1; * foreach (PNJ pnj in perso.Position.GetListePNJ()) * { * Console.WriteLine("{0} : {1}", numObj + numPNJ, pnj); * numPNJ++; * }*/ Console.WriteLine("0 : annuler"); int reponse = int.Parse(Console.ReadLine()); if (reponse == 0) { Console.WriteLine("Que faire ?"); queFaire(perso); } if (reponse < 0 || reponse > (perso.Position.GetListeObjets().Count)) //+ perso.Position.GetListePNJ().Count) { Console.WriteLine("Commande non valide. Choisir le numéro d'un objet ou personnage proposé."); } else { if (reponse <= perso.Position.GetListeObjets().Count) { Objet_Environnement obj = perso.Position.GetListeObjets()[reponse - 1] as Objet_Environnement; if (obj != null) { obj.interagir(perso, perso.GetStuff()); } else { Objet_Inventaire objInv = perso.Position.GetListeObjets()[reponse - 1] as Objet_Inventaire; objInv.prendre(perso.GetStuff()); } } /*else * { * PNJ personnage = perso.Position.GetListePNJ()[reponse - numObj - 1] * personnage.interagir(); * }*/ } queFaire(perso); } if (action == "o") { } if (action == "d") { seDeplacer(perso); } if (action == "q") { Console.Clear(); Console.WriteLine("Etes-vous sûr de vouloir quitter le jeu ? (o/n)"); string reponse = Console.ReadLine(); while (reponse != "o" && reponse != "n") { Console.WriteLine("Commande non valide. Taper \'o\' pour quitter, ou \'n\' pour annuler"); reponse = Console.ReadLine(); } if (reponse == "o") { Environment.Exit(0); } if (reponse == "n") { Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("# Reprise de la partie\n"); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" --- " + perso.Position.GetAile() + ", " + perso.Position); Console.WriteLine("Que faire ?"); queFaire(perso); } } }
public override void interagir(Perso_principal perso, Stuff inventaire) { Console.WriteLine("1 : Se cacher dans le placard"); Console.WriteLine("2 : Fouiller"); int action = int.Parse(Console.ReadLine()); if (action == 1) { seCacherDedans(perso); } if (action == 2) { if (ouvert == true) { fouiller(inventaire); } else { Console.WriteLine("Ce placard est fermé à clé."); int nbClefs = 0; foreach (Objet_Inventaire item in inventaire.voirInventaire()) { Clef clef = item as Clef; if (clef != null) { nbClefs++; } } if (nbClefs != 0) { Console.WriteLine("Il me reste {0} clés dans mon inventaire. J'en utilise une pour ouvrir ce placard ? (o/n)", nbClefs); string reponse = Console.ReadLine(); while (reponse != "o" && reponse != "n") { Console.WriteLine("Taper \"o\" pour utiliser une clé, ou \"n\" pour abandonner"); reponse = Console.ReadLine(); } if (reponse == "o") { List <Objet_Inventaire> mesObjets = inventaire.voirInventaire(); Objet_Inventaire item = mesObjets[0]; int n = 0; while (item as Clef == null) { n++; item = mesObjets[n]; } inventaire.supprimerItem(n); fouiller(inventaire); } else { Console.WriteLine("Bon, je verrai une prochaine fois."); } } else { Console.Write("Je n'ai pas de clé sur moi, je ne peux pas ouvrir ce placard."); } } } }
public Placard(bool ouvert, Objet_Inventaire obj) : base("placard") { this.ouvert = ouvert; contenu = obj; }