Einzelnen Beitrag anzeigen

zahor

Registriert seit: 27. Jun 2006
Ort: im hintersten Winkel des RAMs
182 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Abprallen des Balles Minigolf

  Alt 24. Okt 2008, 11:42
hm... das kann man auch "eleganter" lösen...
TImages sind da ziemlich ungeeignet, ich würde direkt auf das Canvas zeichnen.
Was mir grade auffällt:
Delphi-Quellcode:
if (ball.top < 0) or (ball.Top > 520) then y:=-y;
if (ball.left < 0) or (ball.left > 711) then x:=-x;
Was soll dieser Code machen? Was sind die Zahlen (520 und 711)?
Ich gehe mal davon aus, dass er verhindern soll, dass der Ball aus dem Spielfeld rollt.
Was er aber tut ist irgendwelche Variablen x und y, die Wohl den x- und y-Wert des Balls beschreiben, zu negieren. Anstatt den Ball abprallen zu lassen wird er um 2*Abs(x) bewegt. Geändert werden soll aber nur seine Richtung! Da ist mit deinem Konzept was faul.
Selbiges gilt für
Delphi-Quellcode:
if (ballposx >= hindernis.left) and (ballposx <= hindernis.left+hindernis.width)
then begin
x:=-x;
y:=-y;
showmessage('x');
end;
und
Delphi-Quellcode:
if (ballposy >= hindernis.top) and (ballposy <= hindernis.top+hindernis.height)
then begin
x:=-x;
y:=-y;
showmessage('y');
end;
Immer das gleiche:
Delphi-Quellcode:
 x := -x;
y := -y;
sorry, aber das ist quatsch.
Real Programmers always confuse Christmas and Halloween because Oct31 = Dec25. - Andrew Rutherford
  Mit Zitat antworten Zitat