Forum: Object-Pascal / Delphi-Language
by Amateurprofi,
18. Dez 2005
Tja, Michael, was soll ich dazu sagen ?:
Ich bin einfach mal auf die Seite gegangen, auf die der Link in Deinem Beitrag verweist und hab mir dort die Erklärungen durchgelesen. Besser als dort kann man den Ablauf eigentlich nicht beschreiben.
Und Dein Fehler?:
Forum: Object-Pascal / Delphi-Language
by Amateurprofi,
18. Dez 2005
Hallo Michael,
ich hab das mal etwas umgeschrieben - entspricht jetzt den Vorgaben und scheint zu funktionieren.
Ist allerdings unter delphi 2005 geschrieben, aber das sollte kein größeres Problem sein.
Du kannst jetzt Startfeld/Zielfeld und Mauern mit der Maus setzen.
Startfeld setzen : Shift Taste drücken und Feld klicken
Zielfeld setzen : Ctrl Taste drücken und Feld klicken
Mauerfeld...
Forum: Object-Pascal / Delphi-Language
by Amateurprofi,
18. Dez 2005
Hallo Michael,
wenn die Mauer oben zu ist, dann wirst Du mit Deiner Methode die für den nächsten Schritt verfügbaren Felder zu ermitteln, nicht weiterkommen.
Wenn die Mauer oben zu ist, und du von 2/3 startest, geht das Programm auf 3/3, dann auf 3/2, und dann pendelt es zwischen 3/2 und 3/3 hin und her.
Warum ?:
Weil das Programm immer das erste Feld mit der kürzesten Distanz zum...
Forum: Object-Pascal / Delphi-Language
by Amateurprofi,
18. Dez 2005
Michael,
versuche mal folgendes
in TForm1.Button1Click
ersetze
while (Dest.X - 1 <> Start.X) or (Dest.Y - 1 <> Start.Y) do
durch
while (abs(dest.x-start.x)>1) or (abs(dest.y-start.y)>1) do