Ich bin mitten in der Entwicklung eines persönlichen Projekts. In diesem Videospiel gibt es ein gitterbasiertes Bewegungs-, Kreations- und Pfadfindungssystem. Zuvor habe ich A * Wegfindung verwendet, um bestimmte Zeichen in Richtung einer bestimmten bekannten Position zu bewegen.Wie finde ich den Weg zu einem bestimmten Objekt, ohne seine Position in einem Grid-basierten Videospiel zu kennen?
Aber jetzt habe ich eine große Frage gestellt. Es gibt einen Charakter in meinem Spiel, der zu einer bestimmten Art von Objekt gehen muss, aber dieser Charakter kennt nicht die genaue Koordinate eines solchen Objekts. Der einfachste Weg, dies zu tun, wäre, die Koordinaten dieser Objekte zu kennen, zu berechnen, welcher der nächste ist, und A * zu verwenden, um zu diesem Punkt zu gelangen, aber dieser Ansatz erscheint wirklich manipuliert und nicht dynamisch genug für den Typ des Spiels, das ich mache.
Also würde ich gerne wissen, ob es einen Wegfindung Algorithmus gibt, der um einen bestimmten Punkt (die Position des Charakters, der diesen Algorithmus verwendet) radial sucht und weiter sucht, bis er den Objekttyp findet das sucht nach und gibt den Pfad zu diesem bestimmten Objekt zurück.
Wie Firststep sagte Verwendung Dijkstra, aber wenn Sie habe bereits eine * heuristik auf 0 gesetzt und du hast Dijkstra. – soncis
Und wenn Ihre Kanten alle gleich schwer sind, können Sie Breathth First Search verwenden, das einfacher und schneller als Dijkstras Algorithmus ist. (Ich habe eine [Tutorial] (http://www.redblobgames.com/pathfinding/a-star/introduction.html), die Breathth First Search zeigt - Sie werden die Early Exit-Zeile ändern, um zu stoppen, wenn Sie das richtige Objekt erhalten anstelle eines bestimmten Ortes) – amitp