示例#1
0
        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();
            }
        }
示例#3
0
 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;
     }
 }
示例#5
0
 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é");
         }
     }
 }
示例#6
0
        //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);
                }
            }
        }
示例#7
0
        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.");
                    }
                }
            }
        }
示例#8
0
 public Placard(bool ouvert, Objet_Inventaire obj) : base("placard")
 {
     this.ouvert = ouvert;
     contenu     = obj;
 }