Exemplo n.º 1
0
        // methods
        // static method om te bepalen of 2 objecten van het type
        // rechthoek elkaar raken of buiten het tekengebied vallen
        public static Vlak GrensBereikt(Rechthoek r1, Rechthoek r2)
        {
            Vlak vlak = Vlak.Geen;

            // overschrijden linker of rechterkant
            if (r1.A.X <= r2.A.X ||
                r1.B.X >= r2.B.X)
            {
                vlak = Vlak.Verticaal;
            }
            // overschrijden onder of bovenrand
            if (r1.A.Y <= r2.A.Y ||
                r1.C.Y >= r2.C.Y)
            {
                if (vlak == Vlak.Verticaal)
                {
                    vlak = Vlak.Hoek;
                }
                else
                {
                    vlak = Vlak.Horizontaal;
                }
            }
            return(vlak);
        }
Exemplo n.º 2
0
        protected void InitClass()
        {
            KaderKleur = Color.Black;
            Kleur      = Color.WhiteSmoke;
            WisKleur   = Color.PaleGoldenrod;

            Tekengebied = new Rechthoek(); // Oorspronkelijk geen default constructor in Rechthoek
            _id         = Guid.NewGuid();
        }
Exemplo n.º 3
0
 private void initClass()
 {
     KaderKleur = Color.Black;
     Kleur      = Color.WhiteSmoke;
     Wiskleur   = Color.PaleGoldenrod;
     // Grafísche instellingen:
     Tekengebied = new Rechthoek();
     // Instellen van de guid. Een guid of uuid is een acroniem voor
     // 'Globally Unique ldentifier' (of 'Universally Unique ldentifier')
     // Het is een l2B-bits integer die gebruikt wordt om objecten te
     // identificeren:
     _id = Guid.NewGuid();
 }
Exemplo n.º 4
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));
        }
Exemplo n.º 5
0
 // valt de meegegeven rechthoek helemaal binnen de afmetingen
 // van de huidige instantie van de rechthoek
 public bool Overlap(Rechthoek rechthoek)
 {
     return((rechthoek.D.X >= A.X && rechthoek.A.X <= D.X) &&
            (rechthoek.D.Y >= A.Y && rechthoek.A.Y <= D.Y));
 }
Exemplo n.º 6
0
 // raakt de meegegeven rechthoek de huidige instantie van Rechthoek?
 public Vlak GrensBereikt(Rechthoek r2)
 {
     // r1 is de huidige instantie van Rechthoek -> this
     return(GrensBereikt(this, r2));
 }
Exemplo n.º 7
0
 public bool Overlap(Rechthoek r1)
 {
     return((r1.D.X >= A.X && r1.A.X <= D.X) &&
            r1.D.Y >= A.Y && r1.A.Y <= D.Y);
 }