Pacman KI

krys001

Mitglied
Ich habe mich an einer KI für ein pacman spiel probiert.
allerdings habe ich recht am anfang bereits ein problem.
folgend mein codebeispiel für inky im fall pacman ist rechts vom geist und unterhalb.
bewegungsgeschwindigkeit (speed) ist 15 pixel pro frame.

Java:
            if (inkyx < quakx) {
                System.out.println((inkyy + " " + quaky));
                if (inkyy==quaky) {
                    setDx(speed);
                    setDy(0);
                    setImage("rechts");
                } else if (inkyy < quaky) {
                    setDx(0);
                    setDy(speed);
                    setImage("unten");
                } else if (inkyy > quaky) {
                    setDx(0);
                    setDy(-speed);
                    setImage("oben");
                }

das problem ist das beispielsweise inky auf y-höhe 885 ist links und rechts sind mauern.
pacman ist auf höhe 900.
nach dem ansatz müsste inky nun in y-richtung auf höhe von pacman laufen, jedoch steckt dieser fest und x und y richtung verändern sich nicht mehr.

auch kollisionsabfrage kommt nicht vor, da diese ihn, wenn er versucht nach rechts zu laufen einen schritt nach unten bewegen sollte.

please help!!
 

krys001

Mitglied
problem gelöst, der fehler lag im wechsel vom verfolgungs in den scattermodus, bei gleicher y-koordinat ist er in scattermodus gegangen.
 

Blender3D

Top Contributor
Also wenn ich Dich richtig verstanden habe hängt Deine Geschwindigkeit von der Framerate des Spieles ab.
Das ist schon der erste falsche Ansatz. Wenn Dein Spiel z.B. 80 Frames fordert. Das System schafft die aber nicht -> deine Figur bewegt sich nicht auf jedem System gleich schnell.
 

Ähnliche Java Themen


Oben