AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Backtracking - Wege aus dem Labyrinth [Source online]

Backtracking - Wege aus dem Labyrinth [Source online]

Ein Thema von Flips · begonnen am 14. Feb 2008 · letzter Beitrag vom 16. Feb 2008
Antwort Antwort
Seite 2 von 3     12 3   
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#1

Re: Backtracking - Wege aus dem Labyrinth

  Alt 14. Feb 2008, 21:51
Sehr gut, danke dir!!!!
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#2

Re: Backtracking - Wege aus dem Labyrinth [Source online]

  Alt 15. Feb 2008, 14:13
um alle aufmerksam zu machen

DER SOURCE IST DA!!! *freu*
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
15. Feb 2008, 14:14
Dieses Thema wurde von "Dax" von "Freeware" nach "Open-Source" verschoben.
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#4

Re: Backtracking - Wege aus dem Labyrinth [Source online]

  Alt 15. Feb 2008, 16:23
So, hab mal die aktuelle Source (mit der ich die Präsentation gehalten habe) online gestellt.
Sollte evtl. noch jemand Interesse an der Präsentation haben (dadurch wird die Funktionsweise noch klarer), kann ich diese auch hochladen.
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von jmit
jmit

Registriert seit: 24. Feb 2005
Ort: Langelsheim
383 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Backtracking - Wege aus dem Labyrinth [Source online]

  Alt 15. Feb 2008, 20:54
Hallo,

wirklich super, sehr gutes Programm.

Was mich noch interessieren würde: Wie erstelle ich ein neues Labyrinth als Bitmap?

Gruß Jörg
Windows 7, Firefox Version 3.6, Turbo Delphi für Win32
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#6

Re: Backtracking - Wege aus dem Labyrinth [Source online]

  Alt 15. Feb 2008, 21:20
Danke

Also ich weiß von Gimp, das es Labyrinte rendern kann.
Allerdings benötigen die ein wenig Nachbearbeitung, da die Ränder nicht schwarz sind und das ganze nicht komplett durchgängig ist.
Aber im Prinzip reicht schon Paint.
Vielleicht schreib bald auch mal ein Programm, welches Labyrinte erstellen kann
Philipp F.
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#7

Re: Backtracking - Wege aus dem Labyrinth [Source online]

  Alt 15. Feb 2008, 22:22
Da kann ich mich nur anschliessen,sehr gute Arbeit und vielen Dank für den OpenSource.
Bugbericht:

Delphi-Quellcode:
procedure TForm1.FindeWeg(x,y,i:integer);
begin
.
.
.
//alt
//Delay(StrToint(edtDelay.Text));
//neu
Delay(StrTointdef(edtDelay.Text,1));

Im Anhang noch ein Bitmap das auch funktioniert,mittelgroß ohne Ausgang
Angehängte Grafiken
Dateityp: bmp earth1_176.bmp (21,2 KB, 34x aufgerufen)
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#8

Re: Backtracking - Wege aus dem Labyrinth [Source online]

  Alt 16. Feb 2008, 00:55
Bugreport:
Wenn in eine laufende Wegsuche ein neues ungültiges Labyrinth geladen wurde
kam es zu einer Zugriffsverletzung,ein erster Lösungsansatz:

Delphi-Quellcode:
Procedure TForm1.FindeWeg(x,y,i:integer);
begin
//Wenn Ausgang gefunden / Programm beendet -> Breche alle Rekursionstiefen ab
if gefunden or Application.Terminated then
    Exit;

//Schritte insgesamt
inc(c);
//Rekursionstiefe
inc(i);

//Wenn Verzögerung an: Exakte Ausgabe mit Delay
if Form1.rbtnVz.Checked then
  begin
    Ausgabe(i, x, y);
    Delay(StrTointdef(edtDelay.Text,1));
  end
//Im Speed-Modus nur alle 50000 Schritte malen -> sonst speed-modus zu langsam
else
 if (c mod 50000) = 0 then
   Ausgabe(i, x, y);

//EDIT
while Length(Feld)<1 do
begin
gefunden:=True;
exit;
end;
//

Feld[x,y] := 2;
letzte.X := X;
letzte.Y := Y;

if (Ziel.X = X) and (Ziel.Y = Y) then
  begin
    MessageDlg('Ziel gefunden!',mtInformation,[mbOK],0);
    Ausgabe(i,x,y);
    sg.Invalidate;
    gefunden := true;
    Exit;
  end
else
  begin
    feld[X,Y] := 3;
//Edit if Feld[x+1,y] = 1 then
    if not gefunden and (Feld[x+1,y] = 1) then
      FindeWeg(x+1,y,i);

//Edit if Feld[x,y+1] = 1 then
    if not gefunden and (Feld[x,y+1] = 1) then
      FindeWeg(x,y+1,i);

//Edit if Feld[x-1,y] = 1 then
    if not gefunden and (Feld[x-1,y] = 1) then
      FindeWeg(x-1,y,i);

//Edit if Feld[x,y-1] = 1 then
    if not gefunden and (Feld[x,y-1] = 1) then
      FindeWeg(x,y-1,i);

    if not gefunden then
      feld[X,Y] := 2;
    if (i = 1) and not gefunden then
      begin
        Fehler(3,fFehler);
        sg.Invalidate;
        Ausgabe(i,x,y);
        Application.ProcessMessages;
      end;
  end;
end;
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#9

Re: Backtracking - Wege aus dem Labyrinth [Source online]

  Alt 16. Feb 2008, 16:32
Danke, den ersten Post hab ich übernommen (kannte den Befehl noch gar nicht ),
auch danke für den 2. Post und die Möglichkeit das zu lösen.
Da ich das Programm aber noch morgen meinem Lehrer schicke muss, mache ich es mir etwas einfacher und deaktiviere einfach den "Laden" Button während eine Wegsuche läuft

[Edit]Das Beispielbild mit der Erde ist cool, sowas hatte ich noch gar nicht getestet [/Edit]
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

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

Re: Backtracking - Wege aus dem Labyrinth [Source online]

  Alt 16. Feb 2008, 17:36
Eine Frage: Wodurch sind die Start/Ziel Koordinaten definiert?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz