// 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; }
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(); }
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)); }
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)); }
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)); }
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(); }
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); }
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)); }
public Vlak Post([FromBody] Vlak value) { value.Odchod += TimeSpan.FromHours(2); return(value); }