Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

21

06.08.2013, 12:09

Sehr gut!
Aus reiner Neugier: Wie schaut denn dein aktueller Code aus?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Käsekönig

1x Contest-Sieger

  • Private Nachricht senden

22

06.08.2013, 12:20

Wenn jetzt die roten Punkte die ClosedList beschreiben, stimmt der Weg ja trotzdem nicht.
Ich bin übrigens dankbar für diesen Thread, denn dadurch hab ich selbst die Motivation gefunden, mir gestern soetwas zu schreiben, um es dann in meinem Spiel verwenden zu können. ;) Und es klappt ziemlich gut. :D

23

06.08.2013, 17:32

@Nox Denn Code habe ich jetzt schon einigermaßen aufgeräumt, bin derweil aber noch weiter am verbessern der Lesbarkeit und Verständnis des Codes, so dass ich den Code auch anderen als Beispielcode zur Verfügung stellen kann.
Falls du Lust hast und dir den Code jetzt nochmal angucken möchtest und ein paar Verbesserungen zu finden, wäre es sehr hilfreich, mir diese zu berichten.

@KäseKönig Ich habe mich vorher eigentlich auch gewundert, warum für A* in diesem Forum nicht so viele Hilfen existieren.
»Shadow_Men« hat folgende Dateien angehängt:
  • Pathfinding.hpp (759 Byte - 65 mal heruntergeladen - zuletzt: 16.03.2024, 02:30)
  • Pathfinding.cpp (5,39 kB - 80 mal heruntergeladen - zuletzt: 05.04.2024, 16:07)

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

24

06.08.2013, 18:26

Da du keine diagonalen Wege mehr zulassen willst, solltest du die in der Schaetzfunktion auch nicht beruecksichtigen. Nimm einfach wieder die simple Formel, die du auskommentiert hast.

Im Zuge der Lesbarkeit wuerde ich das ganze auch noch auf ein paar Funktionen verteilen. z.b. IsAtTarget(), FindNeighbours(), ExploreNode(), EstimateDistance() etc...

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

25

07.08.2013, 00:17

Auch würde ich empfehlen mal testweise std::sort und std::find zu verwenden. Ist sicher eine gute Übung und hilft bei der Straffung des Codes.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige