Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Aquarium
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Menu menu = new Menu();
- menu.Work();
- }
- }
- class Menu
- {
- public void Work()
- {
- const string AddedFish = "1";
- const string RemovedFish = "2";
- const string Exit = "3";
- Aquarium aquarium = new Aquarium();
- bool isWork = true;
- Console.WriteLine("------------------Добро пожаловать в аквариум--------------------------");
- while (isWork)
- {
- aquarium.Live();
- Console.WriteLine("\n \n \n");
- Console.WriteLine("Выберите действие:");
- Console.WriteLine($"{AddedFish}.Добавить новых рыбок");
- Console.WriteLine($"{RemovedFish}.Удалить рыбку");
- Console.WriteLine($"{Exit}.Выйти из симуляции");
- Console.Write("> ");
- string userInput = Console.ReadLine();
- switch (userInput)
- {
- case AddedFish:
- aquarium.AddFish();
- break;
- case RemovedFish:
- aquarium.RemoveFish();
- break;
- case Exit:
- isWork = false;
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- }
- class Aquarium
- {
- private readonly List<Fish> _fishes = new List<Fish>();
- public Aquarium()
- {
- _fishes.Add(new Fish("Карп", 20, ConsoleColor.Green));
- _fishes.Add(new Fish("Окунь", 15, ConsoleColor.Cyan));
- }
- public void Live()
- {
- Console.WriteLine("Жизнь рыб. АКВАРИУМ:");
- Console.WriteLine("Рыбок в аквариуме " + _fishes.Count);
- for (int i = 0; i < _fishes.Count; i++)
- {
- _fishes[i].Swim();
- RemoveDeadFish(_fishes[i]);
- }
- }
- public void AddFish()
- {
- List<Fish> fishes = new List<Fish>()
- {
- new Fish("Карп", 20, ConsoleColor.Green),
- new Fish("Окунь", 15, ConsoleColor.Cyan),
- new Fish("Рыба клоун", 25, ConsoleColor.Yellow),
- new Fish("Щука", 15, ConsoleColor.Blue),
- new Fish("Тунец", 15, ConsoleColor.DarkCyan),
- new Fish("Минтай", 15, ConsoleColor.DarkGray)
- };
- for (int i = 0; i < fishes.Count; i++)
- {
- _fishes.Add(fishes[UserUtils.GenerateRandomNumber(fishes.Count)]);
- Console.WriteLine($"{fishes[i].Name} добавлена. Количество рыб {_fishes.Count}");
- }
- }
- public void RemoveFish()
- {
- Console.Write("Введите название рыбки из аквариума > ");
- string userInput = Console.ReadLine();
- for (int i = _fishes.Count - 1; i >= 0; i--)
- {
- if (userInput == _fishes[i].Name)
- {
- _fishes.Remove(_fishes[i]);
- Console.WriteLine($"{userInput} удалена. Количество рыб {_fishes.Count}");
- break;
- }
- }
- }
- private void RemoveDeadFish(Fish fish)
- {
- if (fish.Age == fish.BeginLife)
- {
- _fishes.Remove(fish);
- }
- }
- }
- class Fish
- {
- public Fish(string name, int live, ConsoleColor color, int before = 0)
- {
- Name = name;
- Age = live;
- Color = color;
- }
- public string Name { get; private set; }
- public int Age { get; private set; }
- public int BeginLife { get; private set; }
- public ConsoleColor Color { get; private set; }
- public void Swim()
- {
- Console.ForegroundColor = Color;
- Console.WriteLine($"Рыбка {Name} живет, дней ей: {BeginLife} / {Age}");
- BeginLife++;
- Console.ResetColor();
- Console.ReadKey();
- }
- }
- class UserUtils
- {
- private static Random s_random = new Random();
- public static int GenerateRandomNumber(int maxValue)
- {
- return s_random.Next(maxValue);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement