using System; using System.Collections.Generic; namespace Variant24 { public class Program { public static void Main() { } } abstract class Grizun { public string Type { get; set; } public int Tail { get; protected set; } public int Zubi { get; protected set; } public int CountWhisker { get; protected set; } public int Ves { get; protected set; } public virtual void Doklad() { } // количество усов 6, чтобы был шанс что грызуна поймают protected Grizun(int tail, int zubi, int ves, int countWhisker = 6) { Tail = tail; Zubi = zubi; CountWhisker = countWhisker; Ves = ves; } } class Tushkanchik : Grizun { public Tushkanchik(int tail, int countWhisker, int zubi) : base(tail, zubi, countWhisker) { Type = "Карликовый тушканчик Гептнера"; } public override void Doklad() { Console.WriteLine($"Я - малютка тушканчик"); Console.WriteLine($"Мой хвостик вот такой: {Tail}"); Console.WriteLine($"У меня вот столько усиков: {CountWhisker}"); Console.WriteLine($"Зубики у меня вот такого размера: {Zubi}"); } } class Lemming : Grizun { public Lemming(int tail, int countWhisker, int zubi, int ves) : base(tail, countWhisker, zubi, ves) { Type = "Лемминг Виноградова"; } } class Homyak : Grizun { public Homyak(int tail, int countWhisker, int zubi) : base(tail, countWhisker, zubi) { Type = "Хомячок Кэмпбелла"; } } class Cat { public readonly string name = "Гроза"; public List newList = new List(); // список грызунов, которых кошка держит public void Playing(ref List grizuns) { int num = grizuns.Count; List newGrizuns = new List(); for (int i = 0; i < num; i++) { if (grizuns[i].Type == "Карликовый тушканчик Гептнера" || grizuns[i].Type == "Лемминг Виноградова") newList.Add(grizuns[i]); else newGrizuns.Add(grizuns[i]); if (grizuns[i].Type == "Карликовый тушканчик Гептнера") grizuns[i].Doklad(); } grizuns = newGrizuns; } } }