Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Selbstständiges "fahren" von Images
WormHole - Mi 28.06.06 11:30
Titel: Selbstständiges "fahren" von Images
Hallö,
ich "arbeite" gerade an einem Projekt in dem es eine Ampelkreuzung gibt und dort Autos fahren. Am Anfang habe ich es so gemacht, dass ich die Autos einfach von einem Bildrand zum anderen schicke und halt auf die Ampelphasen geachtet habe. Aber da das ziemlich sch**** vom Stil her ist und auch so unpragmatisch ist, wollte ich wohl gerne, das die Autos selbst entscheiden wo sie herfahren... Also sozusagen eine KI erstellen. Leider habe ich im Moment noch keine Ahnung wie ich das anstellen soll -_-
Gruß WormHole
azubi_20 - Mi 28.06.06 11:55
Quelltext
1: 2: 3:
| fahr geradeaus wenn kreuzung dann zufall (links, rechts, geradeaus) wenn sackgasse dann dreh um |
ist zwar nicht intelligent, aber dafür recht simpel zu programmieren
WormHole - Mi 28.06.06 13:07
Wie kann ich denn bei einem Image sagen, fahr geradeaus?
Links oder rechts geht ja simpel mit image.left und .top aber geradeaus?
Spaceguide - Mi 28.06.06 13:09
Ich würde es so machen:
1) Jedem Auto einen zufälligen, befahrbaren Punkt auf der Karte zuordnen
2) Mittels A*-Algorithmus die Wegplanung vornehmen
3) Wenn Ziel erreicht, einfach neuen Zielpunkt aussuchen
crowley - Mi 28.06.06 13:21
WormHole hat folgendes geschrieben: |
Wie kann ich denn bei einem Image sagen, fahr geradeaus?
Links oder rechts geht ja simpel mit image.left und .top aber geradeaus? |
links kannst du doch schon, rechts kannst du auch schon... und bei geradeaus bewegst du es weiter in die gleiche richtung wie zuvor...
bewegung auf der "karte" nach links: pic.left := pic.left - x;
bewegung auf der "karte" nach rechts: pic.left := pic.left + x;
bewegung auf der "karte" nach oben: pic.top := pic.top - y;
bewegung auf der "karte" nach unten: pic.top := pic.left + y;
WormHole - Mi 28.06.06 13:22
Spaceguide hat folgendes geschrieben: |
Ich würde es so machen:
1) Jedem Auto einen zufälligen, befahrbaren Punkt auf der Karte zuordnen
2) Mittels A*-Algorithmus die Wegplanung vornehmen
3) Wenn Ziel erreicht, einfach neuen Zielpunkt aussuchen |
Hmm, was ist denn dieser A*-Algorithmus? Wo kann ich den herbekommen? Also zur Info: Ich bin nicht sonderlich gut in Delphi :P
Spaceguide - Mi 28.06.06 13:26
WormHole hat folgendes geschrieben: |
Hmm, was ist denn dieser A*-Algorithmus? Wo kann ich den herbekommen? Also zur Info: Ich bin nicht sonderlich gut in Delphi :P |
Keine Angst, Delphi-Forum.de ist fast ausschliesslich ein Anfängerforum. Bei Wikipedia (
http://de.wikipedia.org/wiki/A%2A) findest du eine gute Erklärung.
crowley - Mi 28.06.06 13:27
WormHole hat folgendes geschrieben: |
Spaceguide hat folgendes geschrieben: | Ich würde es so machen:
1) Jedem Auto einen zufälligen, befahrbaren Punkt auf der Karte zuordnen
2) Mittels A*-Algorithmus die Wegplanung vornehmen
3) Wenn Ziel erreicht, einfach neuen Zielpunkt aussuchen |
Hmm, was ist denn dieser A*-Algorithmus? Wo kann ich den herbekommen? Also zur Info: Ich bin nicht sonderlich gut in Delphi :P |
spaceguide meinte damit sicherlich den algorithmus, den
azubi_20 weiter oben schon beschrieben hatte:
azubi_20 hat folgendes geschrieben: |
Quelltext 1: 2: 3:
| fahr geradeaus wenn kreuzung dann zufall (links, rechts, geradeaus) wenn sackgasse dann dreh um |
|
[emptyBox] - Mi 28.06.06 13:54
hi,
Also wenn das ein anspruchsvolles Projekt werden soll, sollte man sich überlegen ob sich ein MapEditor lohnt. Durch diesen könnte man dann Wegpunkte (sowie natürlich auch das Level selber) setzen.
--> wenns mal auf ein GTA hinauslafen sollte ^^
WormHole - Mi 28.06.06 13:59
Nur wie kriege ich den Pathfinder Algorithmus bei mir hinein?
EDIT: Oder soll ich den nicht benutzen?
WormHole - Mi 28.06.06 16:44
Könnt ihr mir noch schnell helfen? Ich muss gleich wech und wollte wenigstens noch wissen wie ich das machen soll... *push*
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!