Hier mal ein “etwas” Komplexeres Projekt :
Ein PacMan-Clon für den STM32F429
Vorschaubild :
Version 1.0 :
Ich habe mich zum Großteil am Original Pac-Man orientiert.
(sucht mal im Netz nach “The Pac-Man Dossier” da steht alles drinn)
Alle Files die das Spiel betreffen, befinden sich in “ubpacman_lib” und alle Librarys die benutzt werden stehen unter “ub_lib”. Dort findet sich auch das Bitmap mit dem Skin.
Die Steuerung erfolgt entweder über den Touch, oder über 4 externe Buttons
[PC12, PC13, PC14, PC15]
Die Strategie der 4 Geister kann im Menü eingestellt werden und auch der Startlevel kann vorgewählt werden. Die Geschwindigkeit aller Bots wird von Level zu Level höher.
Infos zum Spiel :
1. Das Spielfeld besteht aus 28 x 31 Räumen.
2. Jeder Raum ist entweder eine Wand oder ein Gang.
3. Jeder Raum ist 8 x 8 Pixel groß (auf diese Größe sind auch die Skins ausgelegt).
4. Jeder Bot ist 14 x 14 Pixel groß.
5. Weil die Bots größer sind als ein Raum, muss der Skin der Wände so gezeichnet sein,
das in der Mitte (im Gang) mindestens 14 Pixel platz ist.
6. Jeder Bot steht nur in einem Raum (obwohl sein Skin größer ist) und wird zum Bewegen in X/Y Richtung jeweils ein Pixel bewegt. Nach 8 Pixeln betritt er einen neuen Raum.
7. Jeder Geist hat eine andere Strategie um den Spieler zu fangen.
8. Es gibt einen alternierenden Modus für alle Geister (scatter / chase)
scatter (5sec) : jeder Geist versucht in seine Ecke des Spielfeldes zu gelangen
chase (20sec) : jeder Geist versucht den Spieler zu fangen
9. Zum erreichen des nächsten Levels müssen alle “Dots” vom Spieler aufgesammelt werden.
10. Jeder Geist besitzt einen “Dotcounter”. Der Geist bewegt sich erst, wenn der Spieler eine bestimmte Anzahl von Dots eingesammelt hat. Blinkys Dotcounter steht immer auf 0 aus dem Grund fängt er sofort an mit dem jagen.
11. Es gibt 4 “Energizer-Dots”. Wenn einer von diesen eingesammelt wird, gehen alle Geister in “Frightened-Mode” und können vom Spieler für eine kurze Zeit gefangen werden. Während dieser Zeit sind die Geister etwas langsamer und der Spieler etwas schneller. Kurz vor dem beenden des Modes, blinken die Geister.
12. Wird ein Geist gefangen, begibt er sich zurück zum Geisterhaus und sein Dotcounter wird wieder auf 0 gesetzt.
13. Alle Geister suchen nach dem jeweils übernachsten Raum in den sie gehen werden. Aus dem Grund muss beim start schon die erste Bewegungsrichtung festgelegt werden.
14. Die Geister können nicht die Richtung umkehren. (Außnahme : nach dem Umschalten von scatter/chase/frightened wird die Richtung gewechselt)
Hier der komplette CooCox-Projektordner zum download :
Hi Uwe,
geniales Projekt! Herzlichen Dank dafür.
Eine weitere günstige Möglichkeit für die Steuerung wäre diese Lösung:
“Wii Classic controller”
Ciao,
ManiB
Ja, für den Controller hat mit “Vampire” sogar schon eine funktionierende Library zugesendet. Aber ich hab so ein Ding nicht und werd auch kein Geld mehr dafür ausgeben. Mit dem Quellcode kann man jede Steuerung dazulinken die man will. Es gibt einfach zu viele Möglichkeiten…USB-Tastatur wäre noch einfacher…da ist die Library ja schon fertig (oder den Winkelsensor .
Hallo Uwe,
darf man Dein pacman project offiziel auch als Basis für andere Projekte
benutzen
(z.bsp. http://www.1zu160.net/scripte/forum/forum_show.php?id=741541 )
Es würde den Start durch die schon eingebundene Peripherie dort sehr
erleichtern.
LG
wassi
Klar, kannst du gerne benutzen.