This site requires JavaScript, please enable it in your browser!
Greenfoot back
danixxx12
danixxx12 wrote ...

2017/6/5

Gegner sollen mich verfolgen.

danixxx12 danixxx12

2017/6/5

#
Hey Freunde, ich bin noch relativ neu bei programmieren und kenne mich daher noch nicht so gut aus. Ich bin gerade dabei ein PacMan-Spiel zu programmieren und weiß einfach nicht, wie ich es machen soll, dass die Gegner einen verfolgen. Danke schon Mal im Vorraus.
Super_Hippo Super_Hippo

2017/6/5

#
Laufen die Gegner momentan denn schon durch das Spielfeld? Ich habe gerade mal etwas recherchiert und bin auf diesen Artikel (englisch) gestoßen: Link Der beschreibt sehr gut die unterschiedlichen Herangehensweisen der vier Gegner. Lies ihn dir mal komplett durch und falls du etwas nicht verstehst bzw. nicht hinbekommst, fragst du einfach nochmal nach.
danixxx12 danixxx12

2017/6/5

#
Insgesamt verstehe ich den Text, finde aber trotzdem nicht, dass er mir in einer Weise weiterhilft. Mein Hauptproblem ist halt nur das Programmieren, eher weniger das Verstehen, wie es funktionieren soll.
Super_Hippo Super_Hippo

2017/6/5

#
Wo genau liegt also das Problem? Wie hast du das Spielfeld gebaut? Kannst du mit Pac-Man schon die Wege ablaufen? Laufen die Gegner bisher nur planlos rum?
danixxx12 danixxx12

2017/6/5

#
Das Spielfeld ist 14x7x80 gross. Pac-Man kann ich schon bewegen, die Gegner stehen bis jetzt nur rum und machen gar nichts.
Super_Hippo Super_Hippo

2017/6/5

#
Generell würde ich empfehlen, die Zellengröße auf 1 zu setzen. Hast du sie auf 80, springen die Akteure immer von einer großen Zelle zur nächsten... Es kann natürlich trotzdem aussehen, als wäre die Zellengröße größer. Als Beispiel mein Bomberman-Spiel. (Auch wenn ich das programmiertechnisch heute vermutlich anders lösen würde als damals.) Hast du schon Wände? Wie du in dem Artikel gelesen hast, entscheiden sich die Geister immer an den Kreuzungen, in welche Richtung sie abbiegen müssen. Wenn du keine Wände hast, hättest du auf dem 14x7 kleinen Spielfeld sicher keine Chance den Gegnern auszuweichen. Was du dann auf jeden Fall brauchst, ist die Position von Pac-Man. Eine Referenz bekommst du folgendermaßen:
1
Actor pacman = getWorld().getObjects(PacMan.class).get(0);
Dann kannst du mit 'getX' und 'getY' die Koordinaten erfahren und den Geist entsprechen reagieren lassen.
danixxx12 danixxx12

2017/6/5

#
Vielen vielen Dank. Habe es dank deiner Hilfe nun geschafft. :)
You need to login to post a reply.