Ejemplo n.º 1
0
        public bool AddAnimalIfSafe(Animal newAnimal, TrainWagon wagon)
        {
            bool safe = true;

            foreach (var AnimalInWagon in wagon.GetAllAnimals())
            {
                if (newAnimal.GetAnimalType == Animal.AnimalType.Meat)
                {
                    if (AnimalInWagon.GetAnimalType == Animal.AnimalType.Meat)
                    {
                        safe = false; // One of the two animals will be eaten.
                    }
                    if (AnimalInWagon.GetAnimalType == Animal.AnimalType.Plants && AnimalInWagon.animalValue <= newAnimal.animalValue)
                    {
                        safe = false;
                    }
                }

                if (newAnimal.GetAnimalType == Animal.AnimalType.Plants)
                {
                    if (AnimalInWagon.GetAnimalType == Animal.AnimalType.Meat && AnimalInWagon.GetAnimalType >= newAnimal.GetAnimalType)
                    {
                        safe = false;
                    }
                }
            }

            return(safe);
        }
Ejemplo n.º 2
0
        public void AddAnimalsToWagon(Animal animalToAdd)
        {
            bool NewWagonNeeded = true;

            for (int i = 0; i < wagonCount.Count; i++)
            {
                if (wagonCount[i].AddAnimalIfSafe(animalToAdd, wagonCount[i]))
                {
                    if (wagonCount[i].EnoughCapacity(wagonCount[i].getSize(), (int)animalToAdd.PointsToAdd, 10))
                    {
                        wagonCount[i].AddAnimal(animalToAdd);
                        NewWagonNeeded = false;
                        break;
                    }
                }
            }

            int id = (wagonCount.Count > 0) ? wagonCount.Count + 1 : 1;

            if (NewWagonNeeded)
            {
                TrainWagon wagon = new TrainWagon();
                AddWagon(wagon);
                wagonCount[wagonCount.Count - 1].AddAnimal(animalToAdd);
            }
        }
Ejemplo n.º 3
0
 public void AddWagon(TrainWagon wagon)
 {
     wagonCount.Add(wagon);
 }
Ejemplo n.º 4
0
        private void Form_Main_Load(object sender, EventArgs e)
        {
            TrainWagon w = new TrainWagon();

            train.AddWagon(w);
        }