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); }
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); } }
public void AddWagon(TrainWagon wagon) { wagonCount.Add(wagon); }
private void Form_Main_Load(object sender, EventArgs e) { TrainWagon w = new TrainWagon(); train.AddWagon(w); }