Autor Beitrag
DerNetteNachbar
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Mo 11.05.09 12:47 
Einen schönen guten Morgen an alle,
momentan befasse ich mich mit dem oben genannten Problem.
Die jetzige Implementation beruht auf negierte Nachahmung der Tasten die vom User gedrückt werden. Ich möchte für den Geist einen relativ intelligenten und vorallem eigenständigen Algorithmus entwerfen.
Ich hoffe ihr könnt mir helfen.

MfG

derNetteNachbar
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mo 11.05.09 13:02 
Also A* könnte Dir da zum einen helfen, aber auf eine Reihe anderer klassischer Algorithmen.

Als Ziel für diese Algorithmen ist es sinnvoll, den Punkt anzuvisieren, den sowohl der User, als auch der Geist am schnellsten erreichen ... Wobei der Weg in User-Lauf-Richtung bevorzugt wird.

Gibt es allein einen Weg, dann Bot auf schnellstem Wege zum User ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Mo 11.05.09 13:26 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Also A* könnte Dir da zum einen helfen, aber auf eine Reihe anderer klassischer Algorithmen.

Als Ziel für diese Algorithmen ist es sinnvoll, den Punkt anzuvisieren, den sowohl der User, als auch der Geist am schnellsten erreichen ... Wobei der Weg in User-Lauf-Richtung bevorzugt wird.

Gibt es allein einen Weg, dann Bot auf schnellstem Wege zum User ;-)


Kann man dies etwas präzisieren?
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Mo 11.05.09 13:53 
Grob umrissen:

Für jedes Monster:

1. Lege alle umliegenden begehbaren Felder in eine Liste. Jedes Element erhält dabei eine Bewertung, z.B. Wert = gegangener Weg + Luftline zu Pacman. (Hier ist also eine niedrige Bewertung gut) Wenn bei einem Feld der QWeg zu pacman =0 ist (Pacman ist auf dem feld) breche die Suche ab (bester Weg gefunden)

2. Nehme das erste Element (mit der besten Bewertung) aus der Liste heraus und gehe zu Schritt 1 ;)
Florian H.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 29



BeitragVerfasst: Mo 11.05.09 16:42 
Hier ist ein gutes Tutorial, dass du sicher ganz einfach in dein Spiel einbauen kannst:

dann auf Tutorials >> Pathfinding

Viele Grüße, Florian
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Mo 11.05.09 19:01 
Bezüglich Pathfinding finde ich folgenden Artikel sehr gelungen: Tiefensuche, A*-Suche und das Hillclimbing.
Thorsten83
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 191
Erhaltene Danke: 1



BeitragVerfasst: Mo 11.05.09 19:07 
Hey,

ich glaube für pacman ist ein A* etwas übertrieben, oder?
Ich weiß noch nicht mal ob er schneller ist als eine einfache Breitensuche, da das Berechnen der unteren Schranke und die Heap-Operationen ja auch ihre Zeit brauchen...
jannn20
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Fr 05.06.09 19:10 
Marc. Danke für den Link
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Mo 15.06.09 11:16 
Ich danke euch herzlich. Hat alles geklappt.