public void OrderWagon() { Wagons.Clear(); bool AddedAnimal = false; int i = 0; foreach (Animal a in Animals) { while (!AddedAnimal) { foreach (TrainWagon w in Wagons) { if (w.CheckRemainingSize(a) && w.CheckMeatEater(a)) { w.Animals.Add(a); AddedAnimal = true; break; } } if (!AddedAnimal) { Wagons.Add(new TrainWagon(i + 1, a)); i += 1; AddedAnimal = true; } } AddedAnimal = false; } }
static void Main(string[] args) { List <Dier> dierList = new List <Dier> { new Dier(Dier.Eten.planten, Dier.Groote.klein), new Dier(Dier.Eten.planten, Dier.Groote.klein), new Dier(Dier.Eten.planten, Dier.Groote.middelmatig), new Dier(Dier.Eten.vlees, Dier.Groote.klein), new Dier(Dier.Eten.vlees, Dier.Groote.middelmatig), new Dier(Dier.Eten.vlees, Dier.Groote.klein), new Dier(Dier.Eten.planten, Dier.Groote.middelmatig), new Dier(Dier.Eten.vlees, Dier.Groote.klein), new Dier(Dier.Eten.planten, Dier.Groote.groot), new Dier(Dier.Eten.planten, Dier.Groote.middelmatig), new Dier(Dier.Eten.planten, Dier.Groote.groot), new Dier(Dier.Eten.vlees, Dier.Groote.middelmatig), new Dier(Dier.Eten.vlees, Dier.Groote.middelmatig), new Dier(Dier.Eten.planten, Dier.Groote.klein), new Dier(Dier.Eten.vlees, Dier.Groote.groot), new Dier(Dier.Eten.planten, Dier.Groote.klein), new Dier(Dier.Eten.vlees, Dier.Groote.groot) }; Wagons test = new Wagons(dierList); List <Dier> testlist = test.SortList(test.startDiers); foreach (Dier dier in testlist) { Console.WriteLine(dierList.IndexOf(dier).ToString() + ": " + dier.ToString()); } List <Wagon> testWagons = test.sortDiers(testlist); foreach (Wagon wagon in testWagons) { Console.WriteLine(testWagons.IndexOf(wagon).ToString() + ": " + wagon.ToString()); } Console.WriteLine(testWagons.Count); }