Kezdőoldal » Számítástechnika » Programozás » Hogyan rajzolok több mozgó...

Hogyan rajzolok több mozgó kört Console Applicationba, úgy hogy ha az egy másik körrel érintkezik, akkor a kisebb kör törlődjön?

Figyelt kérdés

Azt a feladatot kaptuk órán, hogy készítsünk Console alkalmazást, melyben a képernyő egyik felén 5 piros kör, a másikon 5 kék kör van, random méretűek, random irányba mozognak, és bizonyos keretek közt random sebességgel is. A képernyőről nem mehet ki.

A lényeg, amit nem tudtam még megcsinálni: ha a piros kör hozzáér a kékhez, akkor amelyik a nagyobb az "győz", és a másik eltűnik. A győztes sugara 10%-al nő.

Hogyan lehetne ezt megoldani?

/ köszönöm a segítséget előre is :)


2014. jan. 17. 14:37
 1/6 anonim ***** válasza:

Ütközést, érintkezést kezelted már valahogy?


Mindet minddel meg kell vizsgálni, ha a távolságuk kisebb mint r1+r2 akkor ütköztek. A többi már csak 1-1 utasítás.

2014. jan. 17. 14:41
Hasznos számodra ez a válasz?
 2/6 iostream ***** válasza:
Hogy vizsgálod azt, hogy ne mehessen ki a képernyőről? Hogy ütköznek az azonos színű körök? Kör és kör távolsága megvan (legegyszerűbb dolog a témában)?
2014. jan. 17. 15:17
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
Tuti console alkalmazást kell írni? Grafikussal (WinForms vagy WPF) egyszerűbb lenne, ott legalább nem neked kell kézzel kirajzolni a kört, hanem van rá függvény.
2014. jan. 17. 17:00
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
A console a tanár mániája, énis mondtam neki hogy wpf-be sokkal egyszerűbb lenne, de hogy ez az alapja annak is.
2014. jan. 17. 20:05
 5/6 A kérdező kommentje:

1.Válaszoló: Jó ötlet, valószínűleg működhet is, csak a két pont közti távolságot kéne kiszámoltatni. Valami ötlet az algoritmusra?


2.Válaszoló: Az ablak magasságával és szélességével hasonlítom össze a középpontot és a sugarat.


If(x>Console.WindowWidth - (1+2*r) || x<2*r) return false;

If(y>Console.WindowHeight - (1+r)||y<r) return false;

Return true;

2014. jan. 17. 20:33
 6/6 iostream ***** válasza:

Na most az ütközés számolásában aztán halál mindegy, hogy konzolon vagy formon jeleníted meg.

A beírt kód alapján viszont nem látom, mi a probléma még. Két kör távolsága <= két sugár összege akkor puszilkodnak. Két kör távolsága: pithagorasz tétel.

2014. jan. 17. 20:53
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!