procedure Blubb( ACanvas: TCanvas; AnfangsPosition: TPointF; Länge, Winkel: Integer;
var Durchgänge: Integer );
var
b: integer;
Richtung: TPointF;
begin
if Durchgänge > 0 then
begin
dec( Durchgänge );
Richtung.X := Cos( Winkel ) * Länge;
Richtung.Y := Sin( Winkel ) * Länge;
with ACanvas do
begin
MoveTo( Round(AnfangsPosition.x), Round(AnfangsPosition.Y) );
LineTo( Round(AnfangsPosition.x-Richtung.X), Round(AnfangsPosition.Y-Richtung.Y) );
end;
Blubb( ACanvas, PointF( AnfangsPosition.x-Richtung.X, AnfangsPosition.Y-Richtung.Y ),
Länge - ( länge * 2 ), WInkel + 45, Durchgänge );
end;
end;
{Aufruf, Durchgänge sollte bei 80 sein !}
Blubb( canvas, pointF( clientwidth / 2, clientheight - 50 ), 500, 90, e );