Will jetzt deine Formel für eine Gerade nich schlecht machen, aber
imho reicht es völlig, die Bewegung umzukehren, wenn die Pong-Kugel am oberen/unteren Rand ist, bzw. einen der Balken trifft. Hab selbst mal 'nen Pong-Clon geproggt und braucht keinerlei Mathe
Bei mir sah es wirklich nur so aus:
Delphi-Quellcode:
Procedure BallBewegen;
var x,y:integer; //x für waagerechte, y für senkrechte Bewegung
begin
shape1.left:=shape1.left+x;
shape1.top:=shape1.top+y;
if {Kugel am oberen Rand} or {Kugel am unteren Rand} then
y:=y*(-1);
if {Kugel am linken Balken} or {Kugel am rechten Balken} then
x:=x*(-1);
Du siehst, keinerlei Mathe