Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- internal class Program
- {
- // Пользователь запускает приложение и перед ним находится меню, в котором он может выбрать, к какому вольеру подойти.
- // При приближении к вольеру, пользователю выводится информация о том, что это за вольер, сколько животных там обитает, их пол и какой звук издает животное.
- // Вольеров в зоопарке может быть много, в решении нужно создать минимум 4 вольера.
- static void Main(string[] args)
- {
- new Zoo().ViewAviary();
- }
- static class UserUtils
- {
- static public int ReadInt(string convert)
- {
- bool success = int.TryParse(convert, out int number);
- while (success == false)
- {
- Console.Write("Ошибка конвертации, повторите ввод: ");
- success = int.TryParse(Console.ReadLine(), out number);
- }
- return number;
- }
- }
- class Animal
- {
- public string Name { get; }
- public string Voice { get; }
- public string Gender { get; }
- public Animal(string name, string voice, string gender)
- {
- Name = name;
- Voice = voice;
- Gender = gender;
- }
- public void ShowInfo()
- {
- Console.WriteLine($"Тут живут: {Name} и они издают {Voice}!");
- }
- }
- class Aviary
- {
- static private Random _random = new Random();
- private List<Animal> _animals;
- public int CountFemale { get; private set; }
- public int CountMale { get; private set; }
- public Aviary(string name, string voice)
- {
- _animals = new List<Animal>();
- string female = "самка";
- string male = "самец";
- string gender = female;
- for (int i = 0; i < CalculateRandom(_random); i++)
- {
- _animals.Add(new Animal(name, voice, gender));
- if (gender == female)
- {
- gender = male;
- CountFemale++;
- }
- else
- {
- gender = female;
- CountMale++;
- }
- }
- }
- public void ShowInfo()
- {
- _animals[0].ShowInfo();
- Console.WriteLine($"В вольере находится {CountFemale} самок и {CountMale} самцов.");
- }
- private int CalculateRandom(Random random)
- {
- int minRandom = 1;
- int maxRandom = 11;
- return random.Next(minRandom, maxRandom);
- }
- }
- class Zoo
- {
- private List<Aviary> _aviaries;
- public Zoo()
- {
- _aviaries = new List<Aviary>();
- FillAviarys();
- }
- public void ViewAviary()
- {
- bool inZoo = true;
- while (inZoo)
- {
- Console.Write($"В зоопарке {_aviaries.Count} вольеров.\n" +
- $"Введи номер, к какому вольеру хочешь подойти или 0 что бы выйти: ");
- int userInput = UserUtils.ReadInt(Console.ReadLine());
- if (userInput == 0)
- {
- inZoo = false;
- }
- else if (userInput <= _aviaries.Count && userInput > 0)
- {
- _aviaries[userInput - 1].ShowInfo();
- Console.ReadKey();
- }
- else
- {
- Console.WriteLine($"Всего {_aviaries.Count} вольеров.");
- Console.ReadKey();
- }
- Console.Clear();
- }
- Console.WriteLine("До новых встреч.");
- }
- private void FillAviarys()
- {
- Aviary[] aviaries =
- {
- new Aviary("Львы", "Громкое рычание"),
- new Aviary("Обезьяны", "У-У-у и-и-У"),
- new Aviary("Слоны", "Дудят"),
- new Aviary("Сурикаты", "Свистят"),
- new Aviary("Зебры", "Фыркают")
- };
- _aviaries.AddRange(aviaries);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement