• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Eingebettete Systemsoftware
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Systemnahe Programmierung in C
    • Vorlesung
      • Übung
        • Folien
        • Aufgaben
        • SPiCboard
          • Bauanleitung
            • Programmieren im CIP
              • Programmieren von zu Hause
                • libspicboard-Doku
                  • SPiC-IDE
                    • SPiCsim
                      • FAQ
                        • Projekte
                        • Linux libc-Doku
                        • Prüfung
                          • Evaluation
                            • Intern

                            Projekte

                            SPiC Mario

                            Ein fast vollständiges Mariospiel für das SPiCboard. Startbildschirm

                            Features

                            • Verschiedene Gegnerarten:
                              • Böse Pilze (Evil Mushrooms)
                              • Rohre mit giftigen Pflanzen
                              • Löcher im Boden
                              • Plötzlich auftretende Risse
                            • Verschiedene Arten Punkte zu verdienen:
                              • Münzen
                              • Zertrampeln von bösen Pilzen
                              • Sterne
                              • Gutartige Pilze
                            • verschiedene Level mit steigender Schwierigkeit
                            • Tutorial
                            • persistenter Highscore

                            Steuerung

                            Mit Hilfe des Potentiometers kann gesteuert werden, ob sich Mario nach rechts oder links bewegen soll. Alternativ kann er auch stehen bleiben, während die Welt weiterläuft.

                            Wenn man den BUTTON0 drückt, springt Mario und kann so Gegner ausweichen und böse Pilze zertrampeln.

                            Wenn man Münzen einsammelt, Gegner zertrampelt oder Pilze und Sterne findet, kann man Punkte sammeln. Die Punkte werden am Ende eines Levels mit dem Schwierigkeitsgrad verrechnet und zu deiner Gesamtpunktzahl zusammengefasst. Während eines Levels gibt es nur eine bestimmmte Zahl von Möglichkeiten Punkte zu sammeln, versuche also keine auszulassen, um den Highscore zu knacken. Spielszene

                            Das Ende eines Levels wird durch eine Flagge angezeigt. Man muss die Flagge berühren, um das Level zu beenden. Danach startet das nächste Level mit erhöhter Schwierigkeit: - mehr Gegner - giftige Blumen bleiben länger sichtbar - Mario wird müder und kann nicht mehr so lange springen - ab Level 3 können Löcher nicht nur von rechts in die Spielwelt gelangen, sondern können auch plötzlich unter Mario aufreißen. Beeile dich um nicht hinein zu fallen!

                            Levelszene

                            Weitere Ideen

                            Mit den implementierten Features läuft der Prozessor nahe am Anschlag (das Schlafen ist inzwischen deaktiviert). Damit sind 18 Spielticks pro Sekunde möglich, was eine flüssige Darstellung und einen angenehmen Schwierigkeitsgrad ermöglicht.

                            Im Moment sind etwa 620 Bytes des SRAMs für Zustand und globale Variablen benutzt, der Rest der 2K bleibt für den Stack. Viel weniger sollte es auch nicht für den Stack sein. Einige der Sprites liegen aber im Moment noch im SRAM, die könnte man in den Flash verschieben.

                            Vom Flash sind im Moment ungefähr 22K von den 32K belegt, hier hätte man also noch Platz Sachen auszulagern.

                            Ideen: - Mario eine Möglichkeit zum Schießen zu geben - In die Rohre klettern - Mehr Gegnerarten (Schildkröten, …) - Prinz/Prinzessin zum Retten hinzufügen - Endgegner hinzufügen - Berge/Hügel hinzufügen - …

                            Struktur

                            • assets Gimp und PNG Dateien für die Sprites.
                            • bitmaps C Arrays mit den Sprites in Binärform. Erzeugt aus den PNG Dateien im assets Ordner.
                            • tools Ordner für tools. Enthält ein Tool, um aus PNGs Binärdarstellungen zu machen, die mit der libspicboard sb_display_drawBitmap*() Funktionsfamilie harmonieren.
                            • screenshots Beispiele aus dem Spiel.
                            Friedrich-Alexander-Universität
                            Erlangen-Nürnberg

                            Schlossplatz 4
                            91054 Erlangen
                            • Impressum
                            • Datenschutz
                            • Barrierefreiheit
                            • Facebook
                            • RSS Feed
                            • Xing
                            Nach oben