private void button2_Click(object sender, EventArgs e) { lbWagons.DataSource = null; lbWagons.Items.Clear(); lbWagons.Refresh(); t.Wagons.Clear(); labIngevoerd.Visible = true; labIngevoerd.Text = lbIngevoerd.Items.Count.ToString(); foreach (string veld in lbIngevoerd.Items) { Dier d; if (veld == "KV") { d = new Dier(DierSoorten.KleineCarnivoor); t.VerdeelDier(d); } else if (veld == "MV") { d = new Dier(DierSoorten.MiddelCarnivoor); t.VerdeelDier(d); } else if (veld == "GV") { d = new Dier(DierSoorten.GroteCarnivoor); t.VerdeelDier(d); } else if (veld == "KP") { d = new Dier(DierSoorten.KleineHerbivoor); t.VerdeelDier(d); } else if (veld == "MP") { d = new Dier(DierSoorten.MiddelHerbivoor); t.VerdeelDier(d); } else { d = new Dier(DierSoorten.GroteHerbivoor); t.VerdeelDier(d); } } foreach (Wagon w in t.Wagons) { lbWagons.Items.Add(w); // check voor punten aantallen Console.WriteLine($"{w.Punten} "); foreach (Dier d in w.Dieren) { Console.WriteLine($"{d.Punten} - {d.Soort} - {d.AlgemeneSoort}"); } } }
public bool KanDierVerdelen(Dier nieuwdier) { //loop foreach (Dier d in Dieren) { if (nieuwdier.Punten >= d.Punten && nieuwdier.AlgemeneSoort == DierSoorten.Carnivoor) { return(false); } if (nieuwdier.Punten <= d.Punten && d.AlgemeneSoort == DierSoorten.Carnivoor) { return(false); } } return(Punten > nieuwdier.Punten); }
public void VerdeelDier(Dier d) { List <Wagon> temp = new List <Wagon>(); foreach (Wagon w in Wagons) { if (w.KanDierVerdelen(d)) { temp.Add(w); } } if (temp.Count >= 1) { temp.First(n => n.Punten == temp.Min(z => z.Punten)).VoegDierToe(d); } else { Wagon w = new Wagon(); w.VoegDierToe(d); Wagons.Add(w); } }
public void VoegDierToe(Dier nieuwdier) { Dieren.Add(nieuwdier); Punten -= nieuwdier.Punten; }