2010-12-01 14 views
-1

Ich möchte Spiel Pacman spielen. Es gibt ein Problem beim Bewegen der Pacman Geister. Wie kann ich den Geist bewegen? Ich benutze die Random-Methode, aber es bewegt sich in die gleiche Richtung nach oben oder unten oder links oder rechts. Ich will aktuelle Theorie hinter Pacman BewegungPacman Ghost Umzug in android

+1

Willkommen in der Welt von AI auf. –

Antwort

5

This page hat eine sehr detaillierte Analyse von Pac-Man mit Informationen über die KI jedes Geistes.

0

Ghost Bewegung in Pacman ist nicht nur eine zufällige. Es ist AI, mit einer Graphentheorie darin. Wenn Sie realistische Gegner in Ihren Spielen haben wollen, müssen Sie ein wenig über all diese Themen lernen.

0

Ich habe bereits Pacman in Android implementiert. Um meine Arbeit zu erleichtern, begann ich mit einem zufälligen Algorithmus. I.e. Bei jeder Möglichkeit, wo der Geist seine Richtung ändern kann, wird automatisch eine der verfügbaren Richtungen gewählt. Dies ist nicht zu schwierig zu implementieren. Aber mit diesem Algorithmus hat der Pacman ein leichtes Leben, weil die Geister nicht wirklich Pacman jagen.

So in einem zweiten Ansatz las ich diese Quelle: pacmandossier

Dort kann man sehen, dass jeder Geist ein anderes Verhalten hat. Ich habe dort nicht wirklich eine genaue Kopie des Verhaltens implementiert, sondern stattdessen eine Näherung. Auf jede mögliche Richtungsänderung: Ich berechnete die "beste Richtung", indem ich den kleinsten Manhattan-Abstand zwischen der Position des Pacman und den möglichen Richtungen des Geistes verwende. Dann modelliere ich die variierende "Aggressivität" der verschiedenen Geister, ich benutzte eine Wahrscheinlichkeit für jeden Geist, um die "beste Richtung" gegen eine zufällige zu wählen.

Dies ist nicht wirklich der ursprüngliche Algorithmus, aber ich denke, es ist eine ziemlich gute Annäherung, da Sie während des Spiels leicht sehen können, dass der Geist mehr oder weniger versucht, Pacman zu jagen.

Natürlich können Sie diese Algorithmen erweitern, z. durch verschiedene Möglichkeiten und Geschwindigkeiten, wenn die Geister gejagt werden, anstatt Pacman zu jagen.

+0

Wie finde ich die Möglichkeit, wo der Geist seine Richtung ändern kann. Dafür denke ich, dass ich an jedem Block des Labyrinths überprüfen muss, muss ich die Richtung überprüfen. Ist dies richtig oder eine andere Lösung, um dies zu implementieren? –