Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
Delphi 2009 Professional
|
Re: Überprüfung ob sich 3 oder mehrere buttons berühren
5. Jul 2007, 19:38
Zitat von shmia:
Delphi-Quellcode:
function CheckPoint(in : TPoint):integer;
begin
result := 0;
if AusserhalbSpielfeld(in) then
Exit;
// prüfe, ob der Punkt schon mal gefunden wurde
if IstInListe(in) then
Exit;
if spielfeld[in.x, in.y] = belegt then
begin
FügeHinzuZurListe(in);
Inc(result); // den Stein zählen
// und jetzt alle 4 Himmelrichtungen testen
// rekursiver Aufruf
Inc(Result, CheckPoint(Point(in.x+1,in.y));
Inc(Result, CheckPoint(Point(in.x-1,in.y));
Inc(Result, CheckPoint(Point(in.x,in.y+1));
Inc(Result, CheckPoint(Point(in.x,in.y-1));
end;
end;
Diese exit; sind ja grässlich zimelich geil xD
Ich würde, der Lesbarkeit halber das negativieren:
Delphi-Quellcode:
function CheckPoint(in : TPoint):integer;
begin
result := 0;
if (not AusserhalbSpielfeld(in)) and (not IstInListe(in)) and (spielfeld[in.x, in.y] = belegt) then
begin
{...}
end;
end;
Fabian Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
|
|
Zitat
|