Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Algorithmus gesucht: Abstand von zwei Hexagons

  Alt 17. Aug 2008, 10:37
So funktioniert es (auch mit 2-2 9-6 ). Wenn von Euch kein Veto mehr kommt (meine Test klappen alle) würde ich den doch glatt für die CodeLib vorschlagen (daher neuer Beitrag). Danke an Euch beide für Mühe und Zeit, ihr seid spitze

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;
  if (Odd(X1) <> Odd(X2)) and (Result <> 1) then
   Inc(Result,1);
Thomas
  Mit Zitat antworten Zitat