예제 #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);
        }
	    public override bool PostavStroj(int paPor)
	    {
            Spolocnost spol = Hra.DajInstanciu().Spolocnost;
            if (paPor >= 0 && paPor < aMozneStroje.Count)
            {
                Vlak autoStavane = new Vlak(aMozneStroje[paPor], SmerZastavky);
                if (spol.UpravFinancie(-autoStavane.Cena))
                {
                    DopravnyProstriedok dp = new DopravnyProstriedok(autoStavane);
                    spol.PridajDP(dp);
                    PridajOdstavene(dp);
                }
            }
            return false;
	    }
예제 #3
0
    static void Main()
    {
        Vlak v1 = new Vlak();
        Vlak v2= new NakladniVlak();
        NakladniVlak v3= new NakladniVlak();

        Console.WriteLine("Typ Vlak, Instance Vlak:");
        v1.VypisNevirtualni();
        v1.VypisVirtualni();
        Console.WriteLine("Typ Vlak, Instance NakladniVlak:");
        v2.VypisNevirtualni();
        v2.VypisVirtualni();
        Console.WriteLine("Typ NakladniVlak, Instance NakladniVlak:");
        v3.VypisNevirtualni();
        v3.VypisVirtualni();
    }
예제 #4
0
        public Point Stap(Snelheid snelheidObject)
        {
            this.SnelheidObject = snelheidObject;

            int berekenX = Locatie.X + (SnelheidObject.X);
            int berekenY = Locatie.Y + (SnelheidObject.Y);

            Rechthoek nieuwTekenGebied = new Rechthoek(new Point(berekenX, berekenY), Tekengebied.Afmetingen);
            Vlak      vlak             = Rechthoek.Grensberijkt(nieuwTekenGebied, GraphicsVenster);

            SnelheidObject = SnelheidObject.Stuiter(vlak);

            berekenX = Locatie.X + (SnelheidObject.X);
            berekenY = Locatie.Y + (SnelheidObject.Y);
            return(new Point(berekenX, berekenY));
        }
예제 #5
0
파일: Snelheid.cs 프로젝트: P-Vries/Natsim
        public Snelheid Stuiter(Vlak vlak)
        {
            switch (vlak)
            {
            case Vlak.Horizontaal:
                Y = -1 * Y;
                break;

            case Vlak.Verticaal:
                X = -1 * X;
                break;

            case Vlak.Hoek:
                X = -1 * X;
                Y = -1 * Y;
                break;
            }
            return(new Snelheid(X, Y));
        }
예제 #6
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));
        }
예제 #7
0
        static async Task f()
        {
            System.Threading.Thread.Sleep(2000);
            var client = new HttpClient();
            //test get
            //var x = await client.GetAsync("http://localhost:43255/api/values");
            //Console.WriteLine($"{x}");
            //if (x.IsSuccessStatusCode)
            //{
            //	var content = await x.Content.ReadAsJsonAsync<string[]>();
            //	Console.WriteLine($"{string.Join(",", content)}");
            //}

            //test post
            var vl = new Vlak()
            {
                ID     = 2,
                Cislo  = 120,
                Nazov  = "Kosican",
                Odchod = DateTime.Now
            };

            Console.WriteLine($"Odchod1: {vl.Odchod}");

/*			var jsobCom = JsonConvert.SerializeObject(vl);
 *                      HttpContent httpContent = new StringContent(jsobCom, Encoding.UTF8, "application/json");*/
            var x = await client.PostAsync("http://localhost:43255/api/values", vl.ToHttpContent());

            Console.WriteLine($"{x}");
            if (x.IsSuccessStatusCode)
            {
                var content = await x.Content.ReadAsJsonAsync <Vlak>();

                Console.WriteLine($"Odchod2: {content.Odchod}");
            }
            else
            {
                Console.WriteLine("Error");
            }
            Console.ReadLine();
        }
예제 #8
0
파일: Rechthoek.cs 프로젝트: P-Vries/Natsim
        public static Vlak Grensberijkt(Rechthoek rechthoek1, Rechthoek rechthoek2)
        {
            Vlak vlak = Vlak.Geen;

            if (rechthoek1.A.X <= rechthoek2.A.X || rechthoek1.B.X >= rechthoek2.B.X)
            {
                vlak = Vlak.Verticaal;
            }
            if (rechthoek1.A.Y < +rechthoek2.A.Y || rechthoek1.C.Y >= rechthoek2.C.Y)
            {
                if (vlak == Vlak.Verticaal)
                {
                    vlak = Vlak.Hoek;
                }
                else
                {
                    vlak = Vlak.Horizontaal;
                }
            }
            return(vlak);
        }
예제 #9
0
        public Snelheid Stuiter(Vlak vlak)
        {
            /* Stuiter: als een object tegen een horizontaal vlak, boven of beneden,
             * botst, wordt de y-component van de snelheid omgedraaid.
             * als een object tegen een verticale vlak, links of rechts,
             * botst, wordt de x-componennt van de snelheid omgedraaid.
             * bij een botsing precies in een hoek, worden beide componenten omgedraaid. */
            switch (vlak)
            {
            case Vlak.Horizontaal:
                Y = -1 * Y;
                break;

            case Vlak.Verticaal:
                X = -1 * X;
                break;

            case Vlak.Hoek:
                X = -1 * X;
                Y = -1 * Y;
                break;
            }
            return(new Snelheid(X, Y));
        }
예제 #10
0
 public Vlak Post([FromBody] Vlak value)
 {
     value.Odchod += TimeSpan.FromHours(2);
     return(value);
 }