Die Entfernung zweier Punkt wird mit Pythagoras berechnet:
entfernung := Round(Sqrt( Sqr(Self.X-Ziel.X)+Sqr(Self.Y-Ziel.Y)));
Du kannst Rechenzeit sparen, indem du das Sqrt (=Wurzelziehen) weglässt und stattdessen
die gewünschte Entfernung quadrierst:
Delphi-Quellcode:
Sollentfernung := 10;
Sollentfernung2 := Sqr(Sollentfernung);
if Sqr(Self.X-Ziel.X)+Sqr(Self.Y-Ziel.Y) < Sollentfernung2 then
ShowMessage('Entfernung ist < 10');