Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- internal class Program
- {
- static void Main(string[] args)
- {
- string zooName = "Зоопарк города Н.";
- Zoo zoo = new Zoo(zooName);
- zoo.Opens();
- }
- }
- class Zoo
- {
- private string _name;
- private List<Enclosure> _enclosures = new List<Enclosure>();
- public Zoo(string name)
- {
- _name = name;
- Fill();
- }
- public void Opens()
- {
- bool isWork = true;
- Console.WriteLine($"Добро пожаловать в зоопарк {_name}.");
- Console.WriteLine($"Самый лучший зоопарк всех времён и народов");
- while (isWork)
- {
- isWork = Menu();
- }
- Console.WriteLine($"Посещение зоопарка {_name} завершено.");
- Console.WriteLine("\nНажмите любую клавишу для продолжения.");
- Console.ReadKey();
- Console.Clear();
- }
- private bool Menu()
- {
- const int ShowEncloseresLions = 1;
- const int ShowEncloseresTigers = 2;
- const int ShowEncloseresWolfs = 3;
- const int ShowEncloseresDogs = 4;
- const int ShowEncloseresBears = 5;
- const int Exit = 9;
- bool isWork = true;
- Console.WriteLine("\nЕсть следующие вольеры: ");
- foreach (var encloser in _enclosures)
- {
- encloser.ShowInfoBasic();
- }
- Console.Write("\nВыберите, к какому вольеру нужно подойти? ");
- Console.WriteLine($"Введите одну из команд: \n{ShowEncloseresLions} - Показать вольер с {AnimalsName.Лев}," +
- $"\n{ShowEncloseresTigers} - Показать вольер с {AnimalsName.Тигр}, " +
- $"\n{ShowEncloseresWolfs} - Показать вольер с {AnimalsName.Волк}," +
- $"\n{ShowEncloseresDogs} - Показать вольер с {AnimalsName.Собака}," +
- $"\n{ShowEncloseresBears} - Показать вольер с {AnimalsName.Медведь}" +
- $"\n{Exit} - Выход из {_name}.");
- switch (ReadInt())
- {
- case ShowEncloseresLions:
- _enclosures[Convert.ToInt32(AnimalsName.Лев)].ShowInfoDetailed();
- break;
- case ShowEncloseresTigers:
- _enclosures[Convert.ToInt32(AnimalsName.Тигр)].ShowInfoDetailed();
- break;
- case ShowEncloseresWolfs:
- _enclosures[Convert.ToInt32(AnimalsName.Волк)].ShowInfoDetailed();
- break;
- case ShowEncloseresDogs:
- _enclosures[Convert.ToInt32(AnimalsName.Собака)].ShowInfoDetailed();
- break;
- case ShowEncloseresBears:
- _enclosures[Convert.ToInt32(AnimalsName.Медведь)].ShowInfoDetailed();
- break;
- case Exit:
- isWork = false;
- break;
- default:
- Console.WriteLine("\aТак команды нет.");
- break;
- }
- Console.WriteLine("\nНажмите любую клавишу для продолжения.");
- Console.ReadKey();
- Console.Clear();
- return isWork;
- }
- private void Fill()
- {
- _enclosures.Add(new Enclosure("Львы", FillLions()));
- _enclosures.Add(new Enclosure("Тигры", FillTigers()));
- _enclosures.Add(new Enclosure("Волки", FillWolfs()));
- _enclosures.Add(new Enclosure("Собаки", FillDogs()));
- _enclosures.Add(new Enclosure("Медведи", FillBears()));
- }
- private List<Animal> FillLions()
- {
- List<Animal> lions = new List<Animal>();
- lions.Add(new Animal(AnimalsName.Лев, AnimalsSound.Рычит, AnimalsGender.Самец, 3));
- lions.Add(new Animal(AnimalsName.Лев, AnimalsSound.Рычит, AnimalsGender.Самец, 2));
- lions.Add(new Animal(AnimalsName.Лев, AnimalsSound.Рычит, AnimalsGender.Самка, 4));
- lions.Add(new Animal(AnimalsName.Лев, AnimalsSound.Рычит, AnimalsGender.Самка, 7));
- return lions;
- }
- private List<Animal> FillTigers()
- {
- List<Animal> lions = new List<Animal>();
- lions.Add(new Animal(AnimalsName.Тигр, AnimalsSound.Рычит, AnimalsGender.Самец, 2));
- lions.Add(new Animal(AnimalsName.Тигр, AnimalsSound.Рычит, AnimalsGender.Самец, 5));
- lions.Add(new Animal(AnimalsName.Тигр, AnimalsSound.Рычит, AnimalsGender.Самка, 2));
- lions.Add(new Animal(AnimalsName.Тигр, AnimalsSound.Рычит, AnimalsGender.Самка, 5));
- return lions;
- }
- private List<Animal> FillWolfs()
- {
- List<Animal> wolfs = new List<Animal>();
- wolfs.Add(new Animal(AnimalsName.Волк, AnimalsSound.Рычит, AnimalsGender.Самка, 1));
- wolfs.Add(new Animal(AnimalsName.Волк, AnimalsSound.Рычит, AnimalsGender.Самец, 2));
- return wolfs;
- }
- private List<Animal> FillDogs()
- {
- List<Animal> dogs = new List<Animal>();
- dogs.Add(new Animal(AnimalsName.Собака, AnimalsSound.Рычит, AnimalsGender.Самка, 1));
- dogs.Add(new Animal(AnimalsName.Собака, AnimalsSound.Рычит, AnimalsGender.Самка, 2));
- return dogs;
- }
- private List<Animal> FillBears()
- {
- List<Animal> bears = new List<Animal>();
- bears.Add(new Animal(AnimalsName.Медведь, AnimalsSound.Рычит, AnimalsGender.Самец, 10));
- bears.Add(new Animal(AnimalsName.Медведь, AnimalsSound.Рычит, AnimalsGender.Самка, 9));
- bears.Add(new Animal(AnimalsName.Медведь, AnimalsSound.Рычит, AnimalsGender.Самец, 2));
- return bears;
- }
- private int ReadInt()
- {
- bool isCorrectInput = false;
- int result = 0;
- while (isCorrectInput == false)
- {
- isCorrectInput = int.TryParse(Console.ReadLine(), out result);
- if (result <= 0)
- {
- isCorrectInput = false;
- Console.WriteLine($"\aДопустимо только положительное число!");
- }
- }
- return result;
- }
- }
- class Enclosure
- {
- private string _name;
- private List<Animal> _animals = new List<Animal>();
- public Enclosure(string name, List<Animal> animals)
- {
- _name = name;
- foreach (var animal in animals)
- {
- _animals.Add(new Animal(animal.Name, animal.Sound, animal.Gender, animal.Age));
- }
- }
- public string GetName()
- {
- return _name;
- }
- public void AddNewAnimal(AnimalsName name, AnimalsSound sound, AnimalsGender gender, int age)
- {
- _animals.Add(new Animal(name, sound, gender, age));
- }
- public void RemoveAnimal(Animal animal)
- {
- _animals.Remove(animal);
- }
- public void ShowInfoBasic()
- {
- Console.WriteLine($"Имя вольера - {_name}, количество животных - {_animals.Count}");
- }
- public void ShowInfoDetailed()
- {
- foreach (var animal in _animals)
- animal.ShowInfo();
- }
- }
- class Animal
- {
- public Animal(AnimalsName name, AnimalsSound sound, AnimalsGender gender, int age)
- {
- Name = name;
- Sound = sound;
- Gender = gender;
- Age = age;
- }
- public AnimalsName Name { get; private set; }
- public AnimalsSound Sound { get; private set; }
- public AnimalsGender Gender { get; private set; }
- public int Age { get; private set; }
- public void ShowInfo()
- {
- Console.WriteLine($"Имя животного - {Name}, издаёт звук - {Sound}, пол - {Gender}, возраст - {Age}");
- }
- }
- enum AnimalsGender
- {
- Самец,
- Самка
- }
- enum AnimalsName
- {
- Лев,
- Тигр,
- Волк,
- Собака,
- Медведь
- }
- enum AnimalsSound
- {
- Рычит,
- Вой
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement