Einzelnen Beitrag anzeigen

ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: rechteckige Spirale durchlaufen

  Alt 17. Dez 2005, 11: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
  Mit Zitat antworten Zitat