Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Überprüfung ob sich 3 oder mehrere buttons berühren

  Alt 5. Jul 2007, 18: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
  Mit Zitat antworten Zitat