Advertisement
Comrade_Sharikov

Zoo

Apr 5th, 2020
441
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.10 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Program
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             Zoo zoo = new Zoo();
  10.  
  11.             Console.WriteLine("Добро пожаловать в зоопарк");
  12.             bool isOpen = true;
  13.  
  14.             while (isOpen)
  15.             {
  16.                 Console.WriteLine("Выберите команду");
  17.                 Console.WriteLine("1 - Погулять в зоопарке\n" + "0 - Выход из программы\n");
  18.                 int userInput = Convert.ToInt32(Console.ReadLine());
  19.                 Console.Clear();
  20.  
  21.                 switch (userInput)
  22.                 {
  23.                     case 1:
  24.                         Console.WriteLine("Выберите к какому вольеру подойти\n");
  25.                         zoo.ShowAllAviaries();
  26.                         int userIndex = Convert.ToInt32(Console.ReadLine()) - 1;
  27.  
  28.                         Console.Clear();
  29.                         zoo.ShowAviaryInfo(userIndex);
  30.                         break;
  31.                     case 0:
  32.                         isOpen = false;
  33.                         break;
  34.                     default:
  35.                         Console.WriteLine("Недопустимое значение");
  36.                         break;
  37.                 }
  38.             }
  39.         }
  40.     }
  41.  
  42.     class Zoo
  43.     {
  44.         private Aviary[] _aviaries = new Aviary[]
  45.         {
  46.             new Aviary("Вольер со львами", new Animal[] { new Lion('M'), new Lion('F'), new Lion('F'), new Lion('F') }),
  47.             new Aviary("Вольер с лошадьми", new Animal[] { new Horse('M'), new Horse('M'), new Horse('F'), new Horse('F'), new Horse('F'), new Horse('F') }),
  48.             new Aviary("Вольер с попугаями", new Animal[] { new Parrot('M'), new Parrot('M'), new Parrot('F'), new Parrot('F'),
  49.                 new Parrot('M'), new Parrot('M'), new Parrot('F'), new Parrot('F')}),
  50.             new Aviary("Вольер с ослами", new Animal[] { new Donkey('M'), new Donkey('M'), new Donkey('F'), new Donkey('F'), new Donkey('F') })
  51.         };
  52.  
  53.         public void ShowAviaryInfo(int index)
  54.         {
  55.             _aviaries[index].ShowAllAvairInfo();
  56.         }
  57.  
  58.         public void ShowAllAviaries()
  59.         {
  60.             for (int i = 0; i < _aviaries.Length; i++)
  61.             {
  62.                 Console.WriteLine(i + 1 + ") " + _aviaries[i].AviaryName);
  63.             }
  64.         }
  65.     }
  66.  
  67.     class Aviary
  68.     {
  69.         public string AviaryName{ get; private set; }
  70.         private Animal[] _animals;
  71.      
  72.         public Aviary(string aviaryName, Animal[] animals)
  73.         {
  74.             AviaryName = aviaryName;
  75.             _animals = animals;
  76.         }
  77.  
  78.         public void ShowAvairesName()
  79.         {
  80.             Console.WriteLine(AviaryName);
  81.         }
  82.  
  83.         public void ShowAllAvairInfo()
  84.         {
  85.             Console.WriteLine($"{AviaryName}\nВ вольере {_animals.Length} животных");
  86.  
  87.             for (int i = 0; i < _animals.Length; i++)
  88.             {
  89.                 _animals[i].ShowAnimalInfo();
  90.             }
  91.         }
  92.     }
  93.  
  94.     abstract class Animal
  95.     {
  96.         public string Name { get; protected set; }
  97.         private string _sex;
  98.         public string AnimalSound { get; protected set; }
  99.         public Animal(char sex)
  100.         {
  101.             if (sex == 'M')
  102.             {
  103.                 _sex = "Мужской";
  104.             }
  105.             else
  106.             {
  107.                 _sex = "Женский";
  108.             }
  109.         }
  110.  
  111.         public virtual void ShowAnimalInfo()
  112.         {
  113.             Console.WriteLine($"{Name}: пол - {_sex}, издает звук - {AnimalSound}");
  114.         }
  115.     }
  116.  
  117.     class Lion : Animal
  118.     {
  119.         public Lion(char sex) : base(sex)
  120.         {
  121.             if (sex == 'M')
  122.             {
  123.                 Name = "Лев";
  124.                 AnimalSound = "Мяу";
  125.             }
  126.             else
  127.             {
  128.                 Name = "Львица";
  129.                 AnimalSound = "РыыыыыыыыыААААА";
  130.             }
  131.         }
  132.     }
  133.  
  134.     class Horse : Animal
  135.     {
  136.         public Horse(char sex) : base(sex)
  137.         {
  138.             if (sex == 'M')
  139.             {
  140.                 Name = "Конь";
  141.                 AnimalSound = "ИИИИИИИИИ прпр";
  142.             }
  143.             else
  144.             {
  145.                 Name = "Лошадь";
  146.                 AnimalSound = "И го го";
  147.             }
  148.         }
  149.     }
  150.  
  151.     class Parrot : Animal
  152.     {
  153.         public Parrot(char sex) : base(sex)
  154.         {
  155.             Name = "Попугай";
  156.             AnimalSound = "Чирик пырык";
  157.         }
  158.     }
  159.  
  160.     class Donkey: Animal
  161.     {
  162.         public Donkey(char sex) : base(sex)
  163.         {
  164.             if (sex == 'M')
  165.             {
  166.                 Name = "Осел";
  167.                 AnimalSound = "Иа иа иа";
  168.             }
  169.             else
  170.             {
  171.                 Name = "Ослица";
  172.                 AnimalSound = "Иааааааа";
  173.             }    
  174.         }
  175.     }
  176. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement