AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DelphiX + Backtracking (Wegfindung)
Thema durchsuchen
Ansicht
Themen-Optionen

DelphiX + Backtracking (Wegfindung)

Ein Thema von ISAS · begonnen am 31. Okt 2004 · letzter Beitrag vom 1. Nov 2004
Antwort Antwort
Benutzerbild von ISAS
ISAS

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

DelphiX + Backtracking (Wegfindung)

  Alt 31. Okt 2004, 20:48
Das Backtracking-Bsp ohne DelphiX versteh ich ja. Wie alles funktionier, etc. Hab das aber nun versucht in DelphiX einzubauen und es geht, aber nicht immer und machmal hängt sich das Programm auf. Manchmal geht er irgenwie, wie man eigentlich nicht gehen kann, etc.

Hab die File mal hier rangehent und denn Quellcode tu ich auch hier dazu (halt nur das wichtigste):

Delphi-Quellcode:
procedure Markieren(Code,i,k:Integer);
begin
 Player.X:=i*32;
 Player.Y:=k*32;

 Laby[i,k]:=Code;

  with THind.Create(Form1.DXSpriteEngine1.Engine) do
  begin
    Image:=Form1.DXImageList1.Items[1];
    x:=i*32;
    y:=k*32;
  end;

end;

procedure Weg_Suchen(i,k: Integer);
begin

 case Laby[i,k] of

    Spur: begin end;
    Wand: begin end;

    Aus: begin
          Markieren(Aus,i,k);
          AusFlag:=true;
         end;

    Frei: begin
           if AusFlag then Exit;
           Laby[i,k]:=Spur; Markieren(Spur,i,k);

           if i+1<=15 then Weg_Suchen(i+1,k);
           if k+1<=13 then Weg_Suchen(i,k+1);
           if i-1>=0 then Weg_Suchen(i-1,k);
           if k-1>=0 then Weg_Suchen(i,k-1);

           If Not AusFlag then begin
              Laby[i,k]:=Frei; Markieren(Frei,i,k);
           end;
    end;
 end;
end;
Das wärs. Was ist daran falsch bzw noch nicht ganz korekt??
Angehängte Dateien
Dateityp: zip unit1_202.zip (218,6 KB, 21x aufgerufen)
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Benutzerbild von -NIP-
-NIP-

Registriert seit: 6. Jun 2004
Ort: Aachen
254 Beiträge
 
Delphi 7 Personal
 
#2

Re: DelphiX + Backtracking (Wegfindung)

  Alt 31. Okt 2004, 21:31
Also bei mir hängt sich das Programm nicht auf,
und wenn er keinen Weg findet, gibt es auch keinen.

-NIP-
Christian
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

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

Re: DelphiX + Backtracking (Wegfindung)

  Alt 1. Nov 2004, 10:55
Dann probier einmal folgendes (Weiss natürlich die Probleme besser, da ich das Programm schon 100000-male gestartet habe):

Das Ziel (blau) bekommt zB. (X/0)-> Also irgendeine X-Position, die Y soll aber 0 sein, also ganz oben. Nach ein paar versuchen wirs schon sehen, was ich meine.

Meine Probleme sind:

1. Es funktioniert, aber nicht immer.
2. Er findet Wege nicht, die normalerweisse zu finden sind.
3. Kann es sein, dass die Wegstücke abgeschnitten sind. Er geht also keine Linie, sondert "teleportiert" sich auf einmal wo anders hin.

Das sind die Probleme die ich andauern habe.


Kann man ein Warten auch reinbauen?? Damit ich sehe, wie er geht. Das Problem is ja, das ich da nicht einfach das Warten reinbauen kann, was man normalerweisse reinbaut. Bei DelphiX muss alles ja nochmal gezeichnet werden. Und wenn sich alles nun in der Weg_Suchen und Makieren-procedure abspielt, dann dann kommt er ja nie zum Timer. WIe geht das dann?? Man müsste sozusagen den Timer abrufen
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

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

Re: DelphiX + Backtracking (Wegfindung)

  Alt 1. Nov 2004, 18:07
Die Lösung der Problem war natürlich was ganz Dummes:

Obwohl ich sowas drinn gehabt habe...
if i+1<=15 then Weg_Suchen(i+1,k); ...hat das nicht gereicht. Man musste einen Rahmen rundherum ziehen, damit alles ging
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz