Laden...

Ein- und Ausfallswinkel berechnen für Pong-Game

Erstellt von Remling vor 8 Jahren Letzter Beitrag vor 8 Jahren 5.885 Views
R
Remling Themenstarter:in
48 Beiträge seit 2013
vor 8 Jahren
Ein- und Ausfallswinkel berechnen für Pong-Game

Schönen Abend,
Ich hab mich vor kurzen mal daran Gesetzt Spielklassiker nach zu Programmieren. Also Spiele wie Snake und PacMan. Jetzt wollte ich mich an Pong setzen habe jedoch keine Ahnung wie ich den Ein- und Ausfallswinkel berechnen kann und wie ich es dann umsetzen kann das der "Ball" dann auch in diesem Winkel fliegt

Hat jemand einige Anregungen?
lg

WHAT DOES THE FOX SAYS

2.207 Beiträge seit 2011
vor 8 Jahren

Naja, zum einen greifst du auf Winkelfunktionen zurück, wobei bei gleicher Geschwindigkeit und sonst allen Gegenebheiten wie bei Pong Einfallswinkel = Ausfallswinkel ist, und zum anderen machst du die Animation mit was du das eben machen möchtest (Man kann auch mit WPF Animationen machen).

Du bringst hier also recht viel Themen auf. Daher meine Frage: Wo hakt es? Was hast du probiert? Was ist deine konkrete Frage?

Gruss

Coffeebean

R
Remling Themenstarter:in
48 Beiträge seit 2013
vor 8 Jahren

Einmal hatte ich den Gedanken das wenn z.b. der "Ball" in einem 90° Winkel ankommt fliegt er ja wieder im 90° winkel weg, heist er bewegt sich ja immer gleich, seine flugbahn ändert sich nicht außer das sie sich spiegelt oder? und zum anderen, wie kann man es bewerkstelligen das der ball in einem z.B. 25° winkel fliegt? denn bei 90° erhöhen sich x und y coordinate ja genau gleich aber wie ist das dann bei eben 25° oder nicht 90° winkeln?

WHAT DOES THE FOX SAYS

5.658 Beiträge seit 2006
vor 8 Jahren

Hi Remling,

hier gibt es eine Erklärung und eine Skizze: Reflexionsgesetz. Direkt auf die XY-Koordinaten kannst du das nur umrechnen, wenn die Wand entlang einer der Achsen ausgerichtet ist, ansonsten kannst du wie gesagt Winkelfunktionen oder Vektorrechnung verwenden. Wenn dir die mathematischen Grundlagen nicht geläufig sind, solltest du sie mal wieder auffrischen.

Christian

Weeks of programming can save you hours of planning

3.825 Beiträge seit 2006
vor 8 Jahren

Ein- und Ausfallswinkel berechnen

Das ist einfach, der Ausfallswinkel ist immer gleich dem Einfallswinkel.

😉

Damit das Spiel etwas spannender wird sollte der Ausfallswinkel zufällig um einige Grade vom Einfallswinkel abweichen.

Einmal hatte ich den Gedanken das wenn z.b. der "Ball" in einem 90° Winkel ankommt fliegt er ja wieder im 90° winkel weg, heist er bewegt sich ja immer gleich, seine flugbahn ändert sich nicht

Doch, der Winkel des Balles ändert sich von 90 Grad auf 270 Grad, d.h. Geschwindigkeit bleibt gleich, Richtung ist aber entgegengesetzt.
Bei 25 Grad Winkel ist der Winkel nach Reflektion am oberen Rand 90 + 25 = 115 Grad.

Ich hab auch schon einmal ein Pong Game programmiert, auf Basic mit 4 KB Arbeitsspeicher. Da habe ich mir nicht den Winkel in Grad gemerkt, sondern X- und Y- Differenz pro Durchlauf.
Wenn also X = 10 sind und Y = 5 bewegt sich der Ball in einer Schleife 10 Einheiten nach rechts und 5 nach unten.
Bei Spiegelung am oberen oder unteren Rand : Y = -Y
Beim Abprall am Schläger : X = -X

Beim Abprall am Schläger ausserdem noch berücksichtigen wenn sich der Schläger bewegt oder wenn der Ball an ein Ende trifft.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

R
Remling Themenstarter:in
48 Beiträge seit 2013
vor 8 Jahren

Wenn also X = 10 sind und Y = 5 bewegt sich der Ball in einer Schleife 10 Einheiten nach rechts und 5 nach unten.

Was meinst du mit den X und Y punkten? Die Position des Objektes (also dem Ball)? Oder was sonst?
Lg

WHAT DOES THE FOX SAYS

189 Beiträge seit 2014
vor 8 Jahren

Eigentlich meint BerndFfm keine Punkte, sondern Geschwindigkeiten des Balles.
(Oder ganz Korrekt: Positionsdifferenzen in eine Richtung je Zeiteinheit.
Geschwindigkeit wird daraus nur in Kombination mit einem Timer.)

Falls du kein gerastertes Spiel mit Ball == 1 Rastereinheit erstellst, kommt auch einiges an Arbeit bezüglich Kollisionserkennung und Reflexion an Ecken auf dich zu.

VG Ezio