static void Main(string[] args) { int amount = 0; bool correct = false; while (!correct) { Console.WriteLine("Hoeveel random dieren wil je verdelen?"); string input = Console.ReadLine(); if (int.TryParse(input, out int inputAmount)) { amount = inputAmount; correct = true; } else { Console.Clear(); Console.WriteLine("Vul een geldig getal in"); } } List <Dier> dieren = DierFactory.randomDieren(amount); Printer.PrintDieren("random gegenereerde dieren: ", dieren); Ordener ordener = new Ordener(); dieren = ordener.OrdenDieren(dieren); Printer.PrintDieren("Dieren geordend op type en groote:", dieren); Trein trein = new Trein(); trein.AddDieren(dieren); trein.VerdeelDieren(); Console.WriteLine(trein.ToString()); }
public void VerdeelDieren() { //Orden Dieren Ordener ordener = new Ordener(); dieren = ordener.OrdenDieren(dieren); //Per wagon kijken of dier erbij past. while (dieren.Count > 0) { trein.Add(new Wagon()); for (int d = 0; d < dieren.Count; d++) { Wagon lastWagon = trein[trein.Count - 1]; Dier dier = dieren[d]; if (lastWagon.TryAndAddDier(dier)) { dieren.Remove(dier); d = -1; } } } }