Example #1
0
        private static Mammal TryAnimalCreate(string animalType, string animalName, double animalWeight, string animalLivingRegion, string catBreed)
        {
            Mammal result = null;

            switch (animalType)
            {
            case "Mouse":
                result = new Mouse(animalName, animalType, animalWeight, animalLivingRegion);
                break;

            case "Zebra":
                result = new Zebra(animalName, animalType, animalWeight, animalLivingRegion);
                break;

            case "Cat":
                result = new Cat(animalName, animalType, animalWeight, animalLivingRegion, catBreed);
                break;

            case "Tiger":
                result = new Tiger(animalName, animalType, animalWeight, animalLivingRegion);
                break;
            }

            return(result);
        }
Example #2
0
        static void Main(string[] args)
        {
            int    counter        = 1;
            string line           = Console.ReadLine();
            var    animals        = new List <Animal>();
            int    currentAnimal  = 0;
            Animal previousAnimal = new Animal();

            while (line != "End")
            {
                string[] tokens = line.Split();
                if (counter % 2 != 0)
                {
                    string animalType   = tokens[0];
                    string animalName   = tokens[1];
                    double animalWeight = double.Parse(tokens[2]);
                    string livingRegion = tokens[3];

                    if (tokens[0].ToLower() != "cat")
                    {
                        Mammal mammal = new Mammal(animalName, animalType, animalWeight, livingRegion);
                        UpdateAnimalList(animals, animalName, mammal);
                        GetAnimal(animals, animalName);
                        previousAnimal = GetAnimal(animals, animalName);
                        currentAnimal++;
                    }
                    else
                    {
                        string breed = tokens.Last();
                        Cat    cat   = new Cat(animalName, animalType, animalWeight, livingRegion, breed);
                        UpdateAnimalList(animals, animalName, cat);
                        previousAnimal = GetAnimal(animals, animalName);
                        currentAnimal++;
                    }
                }
                else
                {
                    int foodEaten = int.Parse(tokens[1]);
                    DetermineIfAnimalWillEatFood(previousAnimal, tokens[0], foodEaten);
                }

                counter++;
                line = Console.ReadLine();
            }

            foreach (var animal in animals)
            {
                Console.WriteLine(animal);
            }
        }
Example #3
0
        private static void UpdateAnimalList(List <Animal> animals, string animalName, Mammal mammal)
        {
            Animal animal = animals.FirstOrDefault(a => a.AnimalName == animalName);

            if (animal == null)
            {
                animals.Add(mammal);
            }
        }