Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
Delphi 2005 Personal
|
Re: rechteckige Spirale durchlaufen
17. Dez 2005, 12:46
Delphi-Quellcode:
function spirale(abstand,count,startstep:integer;startpunkt:tpoint;drehsinnnachrechts:boolean):array of tpoint;
var
richtung,i,step:integer;
actpos:tpoint;
begin
richtung:=1;
actpos:=startpunkt;
setlength(result,1);
result[1]:=actpos;
step:=startstep;
for i:=2 to count do begin
case richtung of
1: actpos.x:=actpos.x+step;
2: actpos.y:=actpos.y+step;
3: actpos.x:=actpos.x-step;
4: actpos.y:=actpos.y-step;
end;
step:=step+abstand;
if drehsinnnachrechts then
begin
richtung:=richtung+1;
if richtung=5 then richtung:=1;
end else begin
richtung:=richtung-1;
if richtung=0 then richtung:=4;
end;
setlength(result,length(result)+1);
result[length(result-1)]:=actpos;
end;
end;
Michael Enßlin Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
|
|
Zitat
|