Esempio n. 1
0
 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);
 }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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));
        }