public new void Add(Leven leven) { if (leven.IsDier) { Random rand = new Random(); Snelheid snelheid = new Snelheid(rand.Next(-4, 4), rand.Next(-4, 4)); ((Dier)leven).SnelheidObject = snelheid; } base.Add(leven); }
public new void Add(Leven leven) { if (leven.IsDier) { Random rand = new Random(); Snelheid snelheid = new Snelheid(rand.Next(-4, 4), rand.Next(-4, 4)); ((Dier)leven).SnelheidObject = snelheid; } base.Add(leven); if (NieuwLeven != null) { NieuwLeven(this, new NieuwLevenEventArgs(leven)); } leven.Einde += leven_Einde; leven.OpObject += Leven_OpObject; }
public Point Stap(Snelheid snelheidsObject) { this.SnelheidObject = snelheidsObject; // waar komt het object terecht bij de Stap? int berekendeX = Locatie.X + SnelheidObject.X; int berekendeY = Locatie.Y + SnelheidObject.Y; // bepalen van het nieuwe tekengebied waar het object getekend gaat worden Rechthoek nieuwTekenGebied = new Rechthoek(new Point(berekendeX, berekendeY), Tekengebied.Afmetingen); // Berekenen van een nieuwe richting nav een eventuele overschrijding van een grens Vlak vlak = Rechthoek.GrensBereikt(nieuwTekenGebied, GrafischVenster); // berekenen van een nieuwe ichting als het object een rand tegenekomt SnelheidObject = snelheidsObject.Stuiter(vlak); // opnieuw berekenen van de snelheid zodat een wijziging van de richting meegenomen wordt berekendeX = Locatie.X + SnelheidObject.X; berekendeY = Locatie.Y + SnelheidObject.Y; return(new Point(berekendeX, berekendeY)); }