Kezdőoldal » Számítástechnika » Programozás » C# Windows Form ping pong...

C# Windows Form ping pong játék hogyan induljak el? Több lent.

Figyelt kérdés
C#-ban szeretnék egy ping pong játékot írni a legegyszerűbb módon ütőnek 2 gombot használnék amiket már megcsináltam hogy billentyűzettel tudom mozgatni. A probléma, hogy egy másik gombot " labdát" timer segitségével szeretném mozgatni. Ebben kéne segitség, hogy vissza is pattanjon, ha a falhoz illetve ha az ütőkhöz ér. A segitséget előre is köszönöm.!

2014. febr. 17. 19:24
 1/2 anonim ***** válasza:

Kis matek és fizika szükséges ehhez a problémához.


A legegyszerűbb módszer, ha a visszapattanás szöge megegyezik, a becsapódás szögéve (szögmásolás). Ezt ugye a középiskolás matematikai ismereteink segítségével meg tudjuk oldani.


Itt egy viszonylag egyszerű kép, amin tökéletesen látszik, hogy mire gondoltam. [link]

2014. febr. 18. 14:12
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

Egy nagyon egyszerű módszer:


A labdád mozgásának ugye van egy sebessége ("speed"), egy vízszintes ("vect_x") iránya, és egy függőleges ("vect_y") iránya. [Ezek legyenek -1 és 1 közötti számok. Legegyszerűbb ha csak 2 értékül van, y=1 a fel, y=-1 a le, illetve x=1 a jobbra, x=-1 a balra ]


A sebességed azt határozza meg, hogy képkockánként mennyi pixelnyit mozduljon az egyes irányokba (lehet külön x meg y sebesség is akár, de nem muszáj).

A mozgáshoz a labdád pozícióját növelgeted:

labda_poz_x+=speed*vect_x és labda_poz_y+=speed*vect_y


Ha a a labdád ütközik valamivel, akkor egyszerűen megszorzod -1-gyel az irányokat, és máris megfordul.

vect_x*=-1; vect_y*=-1;

2014. febr. 22. 16:11
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!