Einzelnen Beitrag anzeigen

Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#4

Re: Alle Wege zum Ziel finden

  Alt 4. Nov 2004, 09:30
Hab ja geschrieben, dass ich später den kürzesten Weg finden will. Habs nun anders gemacht. Pathfinding bzw A* algo heisst das Zauberwort. Zwar hab ich das überhaupt nicht verstanden und auch viele Hilfsmittel haben mir nichts gebracht, aber folgendes Bild hilft doch sehr.

Bild

Wenn das Bild dann so "aussieht", dann is eigentlich schon alles geschafft. Der Spieler muss nur noch schauen, wo nebenan die kleinste Zahl ist und diese nehmen.

Delphi-Quellcode:
weg:=-1;

for k:=0 to 85 do begin //So hoch, kann die höchste Entfernung sein
gehen:=true;
weg:=weg+1;
for i:=0 to 15 do //Laenge
for j:=0 to 13 do begin //Breite

 if Laby[i,j]=weg then
 if gehen then begin
  if Laby[i+1,j]>=weg then Laby[i+1,j]:=weg+1; //Alle angrenzenden
  if Laby[i-1,j]>=weg then Laby[i-1,j]:=weg+1; //Felder werden um
  if Laby[i,j+1]>=weg then Laby[i,j+1]:=weg+1; //1 erhöht, solange
  if Laby[i,j-1]>=weg then Laby[i,j-1]:=weg+1; //sie noch keine Zahl haben
 end;

end;
end;
Lösung besteht aus 3 for-schleifen, die je nach Grösse des Labyrinths variiren
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat