public void AjouterAlgue() { Algue algue = new Algue(); listeAlgues.Add(algue); nbAlgues++; }
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++; } }
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."); } }
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(); }