Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- internal class Program
- {
- // Есть аквариум, в котором плавают рыбы.В этом аквариуме может быть максимум определенное кол-во рыб.
- // Рыб можно добавить в аквариум или рыб можно достать из аквариума. (программу делать в цикле для того, чтобы рыбы могли “жить”)
- // Все рыбы отображаются списком, у рыб также есть возраст.За 1 итерацию рыбы стареют на определенное кол-во жизней и могут умереть.
- static void Main(string[] args)
- {
- bool nearAquarium = true;
- Aquarium aquarium = new Aquarium();
- while (nearAquarium)
- {
- aquarium.ShowInfo();
- Console.WriteLine("\nТы подошел к аквариуму.\n1 - Добавить рыбку.\n2 - Убрать рыбку." +
- "\n3 - Уйти.\nМожешь просто наблюдать (любая клавиша).");
- string userInput = Console.ReadLine();
- switch (userInput)
- {
- case "1":
- aquarium.AddFish();
- break;
- case "2":
- aquarium.RemoveFish();
- break;
- case "3":
- nearAquarium = false;
- break;
- default:
- aquarium.CycleTimes();
- break;
- }
- Console.Clear();
- }
- Console.WriteLine("Рыбки будут скучать..");
- }
- class Fish
- {
- public string Name { get; private set; }
- public int Lifetime { get; private set; }
- public Fish(string name)
- {
- Name = name;
- int minRandom = 5;
- int maxRandom = 11;
- Random random = new Random();
- Lifetime = random.Next(minRandom, maxRandom);
- }
- public void ShowInfo()
- {
- Console.Write("Рыбка ");
- if (Lifetime > 0)
- {
- Console.ForegroundColor = ConsoleColor.Green;
- }
- else
- {
- Console.ForegroundColor = ConsoleColor.Red;
- }
- Console.Write(Name + " ");
- Console.ForegroundColor = ConsoleColor.Gray;
- if (Lifetime > 0)
- {
- Console.WriteLine($"осталось жить {Lifetime} цикла беспощадного кода.");
- }
- else
- {
- Console.WriteLine(" всплыла вверх пузом. Кажется ее нужно убрать.");
- }
- }
- public void DecreaseLifetime()
- {
- if (Lifetime > 0)
- {
- Lifetime--;
- }
- }
- }
- class Aquarium
- {
- private List<Fish> _fishes = new List<Fish>();
- public int Capacity { get; }
- public int CountFish { get; private set; }
- public Aquarium()
- {
- Capacity = 3;
- CountFish = 0;
- }
- public void AddFish()
- {
- if (CountFish < Capacity)
- {
- Console.Write("Дай имя рыбке: ");
- string userInput = Console.ReadLine();
- Fish fish = new Fish(userInput);
- CountFish++;
- _fishes.Add(fish);
- }
- else
- {
- Console.WriteLine("В аквариуме нет свободного места.");
- Console.ReadKey();
- }
- CycleTimes();
- }
- public void RemoveFish()
- {
- if (_fishes.Count > 0)
- {
- Console.Write("Введите имя рыбки: ");
- string userInput = Console.ReadLine();
- foreach (var fish in _fishes)
- {
- if (fish.Name == userInput)
- {
- _fishes.Remove(fish);
- CountFish--;
- break;
- }
- }
- }
- else
- {
- Console.WriteLine("Сейчас нет рыбок в аквариуме.");
- Console.ReadKey();
- }
- CycleTimes();
- }
- public void ShowInfo()
- {
- if (_fishes.Count == 0)
- {
- Console.WriteLine("В аквариуме нет рыбок!");
- }
- else
- {
- foreach (var fish in _fishes)
- {
- fish.ShowInfo();
- }
- }
- if (CountFish < Capacity)
- {
- Console.WriteLine($"Можно добавить {Capacity - CountFish} рыб(ок).");
- }
- }
- public void CycleTimes()
- {
- if (_fishes.Count > 0)
- {
- foreach (var fish in _fishes)
- {
- fish.DecreaseLifetime();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement