Einzelnen Beitrag anzeigen

cmrudolph

Registriert seit: 14. Aug 2006
29 Beiträge
 
Delphi 7 Professional
 
#6

Re: Algorithmus gesucht: Abstand von zwei Hexagons

  Alt 17. Aug 2008, 10:25
Wenn mir kein Fehler unterlaufen ist, dann funktioniert dieser Quellcode:

Delphi-Quellcode:
function Schritte(X1, Y1, X2, Y2:Integer): Integer;
var
  X,Y: Integer;
begin
  if (X1 < 0) or (X2 < 0) or (Y1 < 0) or (Y2 < 0) then
    raise Exception.Create('Die Werte müssen alle größer oder gleich Null sein.');

  X:=abs(X1 - X2);
  Y:=abs(Y1 - Y2);
  
  Result:=X;
  
  if (Y*2 > X) then begin
    inc(X,X mod 2);
    dec(Y,X div 2);
    inc(Result,Y);
  end;
end;
Edit: an Index beginnend bei 0 angepasst
Edit 2: Exit entfernt
Edit 3: Code funktioniert noch nicht 100%ig - Beispiel: 2-2 9-6
Edit 4: Fix
  Mit Zitat antworten Zitat