# Pingpong: Richtung/Winkel



## U2nt (14. Okt 2011)

Ich bin gerade dabei mich ein wenig in die Spieleprogrammierung einzuarbeiten, deshalb programmiere ich mir gerade ein kleines PingPong (Pong)-Spiel zusammen.

Nun zur Frage: Ich möchte den Ball innerhalb von 180° variieren können, und dies eben nach rechts, bzw. links. (Bzw. um 178°, weil gerade nach oben/unten wäre evtl. unglücklich für den Spielverlauf )

Meine erste Überlegung war:
 - 1 Variable -179 bis +179, wobei man 0 verbieten muss.
Zweite Überlegung:
 - 2 Variablen, 1: int angle = Zahl zwischen 1 und 179 und ein int dir = 0 - 1 (rechts oder links), boolean würde hier ja auch gehen.

Sooo schön und gut. Jetzt wollte ich den Ball bewegen (erbt übrigens von Ellipse2D.Double), weiß aber einfach nicht weiter. Hab jetzt gedacht das es ähnlich wie eine lineare Funktion sein muss, also die Steigung irgendwie berechnet werden muss => tan(alpha), aber irgendwie ist das auch nicht sooo prima verlaufen, der Ball wollte nicht so wie ich wollte.

Hab mir auch überlegt das ganze wie ein Koordinatensystem in 4 Sektoren um den Ball einzuteilen, und mit switch jeden einzelnen fall abzufangen (weil bei jeder zone ja andere Rechenoperationen durchgeführt werden müsen). 

Naja, danke für jede Antwort!
Codeteil bringt jetzt hier relativ wenig, weil es ja nur um etwas mathematisches geht


----------



## yyannekk (14. Okt 2011)

bin mir nicht gaanz sicher ob ich verstanden hab was du meinst. Deine Frage ist irgendwie nicht so leicht zu verstehen.
Aber ich denke ma dein Ball hat einen Winkel der sich beim Berühren der Wand/Spieler ändert...!? Außerdem hat der Ball eine X und eine Y-Koordinate!?
Wenn das der Fall ist müsstest du in jedem Schritt in dem der Ball bewegt wird folgendes tun:

x += Math.cos(winkel);
y += Math.sin(winkel);

und wenn du den Winkel in Grad hast müsste es so funktionieren:

x = Math.cos(Math.toRadians(winkel));
y = Math.sin(Math.toRadians(winkel));


----------



## U2nt (14. Okt 2011)

neeein! es geht nicht ums abprallen, sondern um die Richtung im allgemeinen, wie ich es realisiere, dass der Ball überhaupt 178 möglichkeiten hat in verschiedene richtungen zu fliegen...

edit: probiere es trotzdem mal aus.

edit2: Danke! Genau das wars


----------



## yyannekk (14. Okt 2011)

> neeein! es geht nicht ums abprallen,


Hab ich ja auch nicht gesagt...

...bitte


----------

