Einzelnen Beitrag anzeigen

Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#7

Re: viele fliegende sich abstoßende Bälle??

  Alt 3. Nov 2004, 19:14
Fertigschreiben??? Da wirst du sicher niemand finden. Dein Problem liegt bei dir bei deiner hardgecodeten Procedure 'Stoss';

Delphi-Quellcode:
procedure stoss ;
begin
if sqrt ( sqr(ball1.getx-ball2.getx)+sqr(ball1.gety-ball2.gety)) <= (ball1.r+ball2.r) then
begin
tausche (ball1.vx,ball2.vx);
tausche (ball1.vy,ball2.vy);
end;
end;
Delphi-Quellcode:
// Mach mal was in diese Richtung;
procedure stoss(var b1,b2: TBall) ;
begin
if sqrt ( sqr(b1.getx-b2.getx usw.
... end;
Das var ist wichtig, sonst darf deine procedure keine Werte von b1 oder b2 schreiben, sondern nur lesen.

Mit deiner Procedure kannst du nur Ball1 und 2 vergleichen und du zwingst die Programmierer, die auch noch deine Klasse nutzen wollen, immer ihre Bälle so wie du zu benennen. Das ist sehr schlechter Stil.

[edit=Christian Seehase]Delphi-Tags korrigiert. Mfg, Christian Seehase[/edit]
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat