Example #1
0
 //pour achat.
 public Poisson(string nom, string sexe, int age)
 {
     this.nom          = nom;
     this.sexe         = sexe;
     this.age          = age;
     estVivant         = true;
     jourDerniereRepro = GenererAlea.AutreAlea(age);
     pv = GenererAlea.AutreAlea(10);
 }
Example #2
0
        public void AcheterAlgues()
        {
            Console.Write("Combien? ");
            int nombre = int.Parse(Console.ReadLine());

            for (int i = 0; i < nombre; i++)
            {
                Algue algue = new Algue(GenererAlea.AutreAlea(20));
                listeAlgues.Add(algue);
                nbAlgues++;
            }
        }
Example #3
0
        public void Manger(Algue algue)
        {
            int mangerAlgueAlea = GenererAlea.AutreAlea(2);

            if (mangerAlgueAlea == 1)
            {
                Console.WriteLine($"- {nom} a mangé une algue.");
                algue.SeFaireManger();
                pv += 3;
            }
            else
            {
                Console.WriteLine($"- {nom} n'a pas réussi à manger d'algue.");
            }
        }
Example #4
0
        public void Manger(Poisson poisson)
        {
            int mangerPoissonAlea = GenererAlea.AutreAlea(2);

            if (mangerPoissonAlea == 1)
            {
                Console.WriteLine($"- {nom} a mangé {poisson.nom} !!");
                poisson.SeFaireMordre();
                pv += 5;
            }
            else
            {
                Console.WriteLine($"- {nom} n'a pas réussi à manger {poisson.nom}...");
                pv -= 1;
            }
        }
Example #5
0
        public Poisson(string race)
        {
            this.race = race;
            int aleaSexe = GenererAlea.AutreAlea(2);

            if (aleaSexe == 1)
            {
                sexe = "Femelle";
            }
            else
            {
                sexe = "Mâle";
            }
            age = 0;
            jourDerniereRepro = 0;
            estVivant         = true;
        }
Example #6
0
 public bool SeReproduire()
 {
     if (pv >= 12)
     {
         int aleaRepro = GenererAlea.AutreAlea(4);
         if (aleaRepro == 1)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         return(false);
     }
 }
Example #7
0
        public void AcheterPoissons()
        {
            Console.Write("Combien? ");
            int nombre = int.Parse(Console.ReadLine());

            for (int i = 0; i < nombre; i++)
            {
                Console.Write("Quel poisson ajouter? (0 pour afficher la liste) ");
                string choix = Console.ReadLine();
                while (choix != "0" && choix != "1" && choix != "2" && choix != "3" && choix != "4" && choix != "5" && choix != "6")
                {
                    Console.Write("Pas dans la liste... Quel poisson ajouter? (0 pour afficher la liste) ");
                    choix = Console.ReadLine();
                }
                if (choix == "0")
                {
                    Console.WriteLine();
                    Console.WriteLine("1. Ajouter un Mérou\n2. Ajouter un Thon\n3. Ajouter un Poisson-Clown\n4. Ajouter une Sole\n5. Ajouter un Bar\n6. Ajouter une Carpe");
                    i--;
                }
                else
                {
                    Console.Write("Quel nom pour votre nouveau poisson? ");
                    string nom = Console.ReadLine();
                    Console.Write("Sexe du Poisson (1 -> Femelle | 2 -> Mâle): ");
                    string choix2 = Console.ReadLine();
                    string sexe;
                    while (choix2 != "1" && choix2 != "2")
                    {
                        Console.Write("Entrée Invalide... Sexe du Poisson (1 -> Femelle | 2 -> Mâle): ");
                        choix2 = Console.ReadLine();
                    }
                    switch (choix2)
                    {
                    case "1":
                        sexe = "Femelle";
                        break;

                    default:
                        sexe = "Mâle";
                        break;
                    }
                    int age = GenererAlea.AutreAlea(19);
                    if (choix == "1")
                    {
                        Poisson merou = new Merou(nom, sexe, age);
                        listePoissons.Add(merou);
                        nbPoissons++;
                    }
                    else if (choix == "2")
                    {
                        Poisson thon = new Thon(nom, sexe, age);
                        listePoissons.Add(thon);
                        nbPoissons++;
                    }
                    else if (choix == "3")
                    {
                        Poisson poissonClown = new PoissonClown(nom, sexe, age);
                        listePoissons.Add(poissonClown);
                        nbPoissons++;
                    }
                    else if (choix == "4")
                    {
                        Poisson sole = new Sole(nom, sexe, age);
                        listePoissons.Add(sole);
                        nbPoissons++;
                    }
                    else if (choix == "5")
                    {
                        Poisson bar = new Bar(nom, sexe, age);
                        listePoissons.Add(bar);
                        nbPoissons++;
                    }
                    else
                    {
                        Poisson carpe = new Carpe(nom, sexe, age);
                        listePoissons.Add(carpe);
                        nbPoissons++;
                    }
                }
                Console.WriteLine();
            }
        }
Example #8
0
        public void PasserJournee()
        {
            Console.WriteLine($"Jour {jourActuel}:");
            Console.WriteLine();
            foreach (Poisson poisson in listePoissons)
            {
                Console.WriteLine($"    - {poisson.nom}, est un(e) {poisson.race} de sexe {poisson.sexe}, agé(e) de {poisson.age} jours. PV: {poisson.pv}.");
            }
            Console.WriteLine();
            Console.WriteLine($"Il y a {nbAlgues} algues dans l'aquarium.");

            Console.ReadKey();

            Console.WriteLine();

            foreach (Poisson poisson in listePoissons)
            {
                if (poisson.pv <= 5)
                {
                    if (poisson is Carnivore)
                    {
                        int     indicePoissonMange = GenererAlea.AutreAlea(nbPoissons);
                        Poisson poissonMange       = listePoissons[indicePoissonMange - 1];

                        while (!poissonMange.estVivant)
                        {
                            indicePoissonMange = GenererAlea.AutreAlea(nbPoissons);
                            poissonMange       = listePoissons[indicePoissonMange - 1];
                        }

                        if (poisson == poissonMange)
                        {
                            Console.WriteLine($"- {poisson.nom} ne peut pas se manger...");
                        }

                        else if (poisson is Merou && poissonMange is Merou)
                        {
                            Console.WriteLine($"- {poisson.nom} ne peut pas manger un poisson de son espèce.");
                        }

                        else if (poisson is Thon && poissonMange is Thon)
                        {
                            Console.WriteLine($"- {poisson.nom} ne peut pas manger un poisson de son espèce.");
                        }

                        else if (poisson is PoissonClown && poissonMange is PoissonClown)
                        {
                            Console.WriteLine($"- {poisson.nom} ne peut pas manger un poisson de son espèce.");
                        }

                        else if (poisson.estVivant && nbPoissons > 1)
                        {
                            poisson.Manger(poissonMange);
                            int poissonMangeMauvais = GenererAlea.AutreAlea(70);
                            if (poissonMangeMauvais == 35)
                            {
                                Console.WriteLine($"    - {poissonMange.nom} n'a pas été digéré... {poisson.nom} perd la vie...");
                                poisson.estVivant = false;
                            }
                        }
                        else
                        {
                            Console.WriteLine($"- {poisson.nom} est mort...");
                        }
                    }
                    else
                    {
                        if (nbAlgues > 0 && poisson.estVivant)
                        {
                            int   indiceAlgueMangee = GenererAlea.AutreAlea(nbAlgues);
                            Algue algueMangee       = listeAlgues[indiceAlgueMangee - 1];
                            while (!algueMangee.estVivant)
                            {
                                indiceAlgueMangee = GenererAlea.AutreAlea(nbAlgues);
                                algueMangee       = listeAlgues[indiceAlgueMangee - 1];
                            }
                            poisson.Manger(algueMangee);
                            int algueMauvaise = GenererAlea.AutreAlea(100);
                            if (algueMauvaise == 50)
                            {
                                Console.WriteLine($"    - L'algue n'a pas été digérée... {poisson.nom} perd la vie...");
                                poisson.estVivant = false;
                            }
                        }
                        else if (nbAlgues > 0 && !poisson.estVivant)
                        {
                            Console.WriteLine($"- {poisson.nom} est mort...");
                        }
                        else
                        {
                            Console.WriteLine($"- {poisson.nom} n'a pas pu manger (plus d'algue).");
                        }
                    }
                }
                else if (poisson.pv > 5)
                {
                    int faimAlea = GenererAlea.AutreAlea(3);
                    if (faimAlea == 1)
                    {
                        if (poisson is Carnivore)
                        {
                            int     indicePoissonMange = GenererAlea.AutreAlea(nbPoissons);
                            Poisson poissonMange       = listePoissons[indicePoissonMange - 1];

                            while (!poissonMange.estVivant)
                            {
                                indicePoissonMange = GenererAlea.AutreAlea(nbPoissons);
                                poissonMange       = listePoissons[indicePoissonMange - 1];
                            }

                            if (poisson == poissonMange)
                            {
                                Console.WriteLine($"- {poisson.nom} ne peut pas se manger...");
                            }

                            else if (poisson is Merou && poissonMange is Merou)
                            {
                                Console.WriteLine($"- {poisson.nom} ne peut pas manger un poisson de son espèce.");
                            }

                            else if (poisson is Thon && poissonMange is Thon)
                            {
                                Console.WriteLine($"- {poisson.nom} ne peut pas manger un poisson de son espèce.");
                            }

                            else if (poisson is PoissonClown && poissonMange is PoissonClown)
                            {
                                Console.WriteLine($"- {poisson.nom} ne peut pas manger un poisson de son espèce.");
                            }

                            else if (poisson.estVivant && nbPoissons > 1)
                            {
                                poisson.Manger(poissonMange);
                                int poissonMangeMauvais = GenererAlea.AutreAlea(70);
                                if (poissonMangeMauvais == 35)
                                {
                                    Console.WriteLine($"    - {poissonMange.nom} n'a pas été digéré... {poisson.nom} perd 9 PV...");
                                    poisson.pv -= 9;
                                }
                                Console.WriteLine($"    {poisson.nom} n'avait pas trop faim, il perd 1 PV.");
                                poisson.pv--;
                            }
                            else
                            {
                                Console.WriteLine($"- {poisson.nom} est mort...");
                            }
                        }
                        else
                        {
                            if (nbAlgues > 0 && poisson.estVivant)
                            {
                                int   indiceAlgueMangee = GenererAlea.AutreAlea(nbAlgues);
                                Algue algueMangee       = listeAlgues[indiceAlgueMangee - 1];
                                while (!algueMangee.estVivant)
                                {
                                    indiceAlgueMangee = GenererAlea.AutreAlea(nbAlgues);
                                    algueMangee       = listeAlgues[indiceAlgueMangee - 1];
                                }
                                poisson.Manger(algueMangee);
                                int algueMauvaise = GenererAlea.AutreAlea(100);
                                if (algueMauvaise == 50)
                                {
                                    Console.WriteLine($"    - L'algue n'a pas été digérée... {poisson.nom} perd 7 PV...");
                                    poisson.pv -= 7;
                                }
                                Console.WriteLine($"    - {poisson.nom} a mangé alors qu'il n'avait plus faim. Il perd 1 PV.");
                                poisson.pv--;
                            }
                            else if (nbAlgues > 0 && !poisson.estVivant)
                            {
                                Console.WriteLine($"- {poisson.nom} est mort...");
                            }
                            else
                            {
                                Console.WriteLine($"- {poisson.nom} n'a pas pu manger (plus d'algue).");
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine($"- {poisson.nom} n'a pas faim.");
                    }
                }
                else
                {
                    Console.WriteLine($"- {poisson.nom} n'a pas faim.");
                }

                int     aleaPoissonRepro = GenererAlea.AutreAlea(nbPoissons);
                Poisson poissonRepro     = listePoissons[aleaPoissonRepro - 1];
                if (poisson == poissonRepro)
                {
                    Console.WriteLine($"    - {poisson.nom} n'a pas pu se reproduire.");
                }
                else
                {
                    int chanceRepro = GenererAlea.AutreAlea(2);
                    if (chanceRepro == 1)
                    {
                        bool oeuf = poisson.SeReproduire(poissonRepro);
                        if (oeuf)
                        {
                            int nbBebesPoissons = GenererAlea.AutreAlea(5);
                            Console.WriteLine($"    - {poisson.nom} s'est reproduit avec {poissonRepro.nom} et a eu {nbBebesPoissons} petits.");
                            for (int i = 0; i < nbBebesPoissons; i++)
                            {
                                if (poisson.race == "Bar")
                                {
                                    Poisson bebe = new Bar("bar");
                                    listeBebesPoissons.Add(bebe);
                                    Console.Write($"- Nommez votre nouveau {bebe.race} qui est un(e) {bebe.sexe}: ");
                                    string nomBebe = Console.ReadLine();
                                    bebe.NommerPoisson(nomBebe);
                                }
                                else if (poisson.race == "Carpe")
                                {
                                    Poisson bebe = new Bar("Carpe");
                                    listeBebesPoissons.Add(bebe);
                                    Console.Write($"- Nommez votre nouveau {bebe.race} qui est un(e) {bebe.sexe}: ");
                                    string nomBebe = Console.ReadLine();
                                    bebe.NommerPoisson(nomBebe);
                                }
                                else if (poisson.race == "Merou")
                                {
                                    Poisson bebe = new Bar("Merou");
                                    listeBebesPoissons.Add(bebe);
                                    Console.Write($"- Nommez votre nouveau {bebe.race} qui est un(e) {bebe.sexe}: ");
                                    string nomBebe = Console.ReadLine();
                                    bebe.NommerPoisson(nomBebe);
                                }
                                else if (poisson.race == "Poisson-Clown")
                                {
                                    Poisson bebe = new Bar("Poisson-Clown");
                                    listeBebesPoissons.Add(bebe);
                                    Console.Write($"- Nommez votre nouveau {bebe.race} qui est un(e) {bebe.sexe}: ");
                                    string nomBebe = Console.ReadLine();
                                    bebe.NommerPoisson(nomBebe);
                                }
                                else if (poisson.race == "Sole")
                                {
                                    Poisson bebe = new Bar("Sole");
                                    listeBebesPoissons.Add(bebe);
                                    Console.Write($"- Nommez votre nouveau {bebe.race} qui est un(e) {bebe.sexe}: ");
                                    string nomBebe = Console.ReadLine();
                                    bebe.NommerPoisson(nomBebe);
                                }
                                else
                                {
                                    Poisson bebe = new Thon("Thon");
                                    listeBebesPoissons.Add(bebe);
                                    Console.Write($"- Nommez votre nouveau {bebe.race} qui est un(e) {bebe.sexe}: ");
                                    string nomBebe = Console.ReadLine();
                                    bebe.NommerPoisson(nomBebe);
                                }
                            }
                        }
                        else
                        {
                            Console.WriteLine($"    - {poisson.nom} n'a pas pu se reproduire avec {poissonRepro.nom}.");
                        }
                    }
                    else
                    {
                        Console.WriteLine($"    - {poisson.nom} n'a pas réussi à se reproduire avec {poissonRepro.nom}.");
                    }
                }
            }

            foreach (Poisson poisson in listePoissons)
            {
                poisson.pv--;
                poisson.Mourir();

                if (!poisson.estVivant)
                {
                    nbPoissons--;
                }
                else
                {
                    poisson.age++;
                    poisson.jourDerniereRepro++;
                }
            }
            foreach (Algue algue in listeAlgues)
            {
                algue.Mourir();
                if (!algue.estVivant)
                {
                    nbAlgues--;
                }
                else
                {
                    if (jourActuel % 2 == 0)
                    {
                        algue.Grandir();
                    }
                    algue.age++;
                    bool algueRepro = algue.SeReproduire();
                    if (algueRepro == true)
                    {
                        algue.pv = (algue.pv / 2);
                        Algue newAlgue = new Algue()
                        {
                            pv = algue.pv
                        };
                        listeNewAlgues.Add(newAlgue);
                    }
                }
            }

            listePoissons.RemoveAll(poisson => !poisson.estVivant);
            listeAlgues.RemoveAll(algue => !algue.estVivant);

            int nbNewPoissons = 0;

            foreach (Poisson bebe in listeBebesPoissons)
            {
                listePoissons.Add(bebe);
                nbPoissons++;
                nbNewPoissons++;
            }

            listeBebesPoissons.RemoveAll(poisson => poisson.estVivant);

            int nbNewAlgues = 0;

            foreach (Algue nouvelleAlgue in listeNewAlgues)
            {
                listeAlgues.Add(nouvelleAlgue);
                nbAlgues++;
                nbNewAlgues++;
            }

            listeNewAlgues.RemoveAll(algue => algue.estVivant);

            Console.WriteLine();

            foreach (Poisson poisson in listePoissons)
            {
                if ((poisson.race == "Bar" || poisson.race == "Merou") && poisson.age >= 10)
                {
                    poisson.sexe = "Femelle";
                    Console.WriteLine($"        - {poisson.nom} a changé de sexe.");
                }
            }

            Console.WriteLine();

            Console.WriteLine($"En fin de journée, il y a eu {nbNewPoissons} petit(s) et {nbNewAlgues} nouvelle(s) algue(s).");

            Console.WriteLine();

            Console.Write("Souhaitez-vous acheter des poissons? (0: Oui - Autre entrée: Non) ");
            string choix = Console.ReadLine();

            if (choix == "0")
            {
                AcheterPoissons();
            }
            Console.WriteLine();
            Console.Write("Souhaitez-vous acheter des algues? (0: Oui - Autre entrée: Non) ");
            string choix2 = Console.ReadLine();

            if (choix2 == "0")
            {
                AcheterAlgues();
            }
            Console.WriteLine();

            Console.Write("Souhaitez-vous voir l'état de vos algues? (0: Oui - Autre entrée: Non) ");
            string choix3 = Console.ReadLine();

            if (choix3 == "0")
            {
                Console.WriteLine();
                int i = 1;
                foreach (Algue algue in listeAlgues)
                {
                    Console.WriteLine($"            - Algues n°{i} - Age: {algue.age}, Pv restant(s): {algue.pv}.");
                    i++;
                }
            }
            Console.WriteLine();

            jourActuel++;

            Console.ReadKey();

            Console.Clear();
        }
Example #9
0
 //pour Achat.
 public Algue(int age)
 {
     this.age  = age;
     estVivant = true;
     pv        = GenererAlea.AutreAlea(10 + (age / 2));
 }