Gringorius Geschrieben 28. Mai 2003 Geschrieben 28. Mai 2003 Hallo! Ich hab nix gefunden zum Thema Wegfindung Ich will eine "KI" machen die Hindernissen aus dem Weg gehen kann und möglichst früh erkennt, auf welcher Seite (2D) es am günstigsten ist. Hat jmd einen guten, möglichst deutschsprachigen Link oder noch besser: Kann es erklären?? Das also die KI einfach nur an einer Wand langläuft bis es weiter in Richtung Ziel geht ist mir etwas zu einfach. Vielen Dank Borland c++ 6, windows xp, Zitieren
Diablo999 Geschrieben 28. Mai 2003 Geschrieben 28. Mai 2003 Hab leider keine genauen Informationen über dieses Thema aber im Grund geht es bei Wegfindung um die Berechnung von Kosten. z.B. Startpunkt A Endpunkt D Die KI muss anhand der Kosten von Punkt A nach Punkt B und C entscheiden ob der Weg über B oder C schneller ist. Man kann das ganze aber noch weitertreiben und eine rekursive Funktion mit einer Obergrenze an Wegpunkten schreiben die dann in diesem Beispiel die Kosten von A nach D über B und C ausrechnet und den günstigeren Weg nÃmmt. Durch die Anzahl kannst du die Effizienz der KI bestimmen aber auch leider indirekt proportional dazu die Laufzeit. Ich hatte mal ein schönes Script dazu, find ich aber im Moment nicht... Sorry Diablo999 Zitieren
Guybrush Threepwood Geschrieben 30. Mai 2003 Geschrieben 30. Mai 2003 Original geschrieben von Gringorius Das also die KI einfach nur an einer Wand langläuft bis es weiter in Richtung Ziel geht ist mir etwas zu einfach. Wenn dir das zu einfach ist, würde mich mal interressieren wie du das gelöst hast;) Ich hab mich nämlich auch mal kurz damit beschäftigt und bei mir hat es die "KI" nur bei einfachen Hindernissen geschafft, daran vorbeizulaufen bis es geht, ansonsten ist sie immer wieder eins vor und eins zurück gerannt. Lange Rede kurzer Sinn: wie entscheidest du in welche Richtung du gehts und in welche nicht? Gruß Guybrush Zitieren
Ramses_PyramidenVerleih Geschrieben 10. Juni 2003 Geschrieben 10. Juni 2003 Um zu wissen, welches der beste Weg ist, muss du vorher wissen, wo genau die Hindernisse sind! Wenn das gegeben ist, dann sollte man einfach die Fläche, auf der sich bewegt werden kann in ein Raster-System ein- teilen und die Strecke vorher berechen, die abgelaufen werden soll! Von der Position aus, wo man getrade steht geht man in jede Richtung imaginär eins weiter und trägt diesen Wert in das Raster ein! Danach von der imaginären neuen Position wieder in jede Richtung 1 Weiter, ausser auf Felder, auf die man schon drauf war. Das macht man solange, bis man irgendwann an der Zielposition angelangt ist. Die kürzeste Strecke dahin, ist, wenn man vom Startpunkt den Zahlen aufsteigend folgt! Das wäre mein Lösungsansaztzzu diesem Problem, habe ihn aber noch nicht ausprobiert! Und Entschuldigt bitte mein Deutsch heute, habe noch das WE im Kopf *die Aspirin such* und einen Leichten Hitzeschlag! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.