Logo ICT-BZ

Super Mario: The Last Adventure

Kurzinfo

Themenbereich

Softwareentwicklung

Lernende/r

Timon Schmid

Lehrbetrieb

CSS Versicherung

Betreuer

Urs Nussbaumer

Projekt-Website

Aktuelle Version

Aufgabenstellung

Da wir vom Basislehrjahr in 5 Wochen ein Projekt machen mussten entschied ich mich ein Spiel zu programmieren. Das Ziel war es ein Funktionierendes Jump and Run Spiel zu haben, welches dem Spiel Super Mario ähnelt, bei welchem man sich durch verschiedene Levels spielen musste. Dazu sollte es verschiedene Monster geben und eine Auswahl an verschiedenen Skins und Items spielen kann.

Ergebnisse

Auf dem neusten Stand habe ich nun ein funktionierendes Spiel bei welchem man sich frei im dem Level bewegen kann. Jedoch Funktionieren die Gesetze mit Springen und Fallen noch nicht. Auch weitere Features wie zb Monster oder Items konnten noch nicht programmiert werden da mir die Zeit fehlte.

Lösungskonzept

Ich hatte das Spiel mit javascript programmiert. Ich informierte mich zuerst einen Tag über javascript da ich mich zu dieser Zeit noch nicht mir javascript auseinander gesetzt hatte. Anschliessend begann ich dann mit einem kleinem Grundwissen das Spiel zu programmieren. Der Spiel inhalt selbst befindet sich ineinem sogenannten 'canvas'. Ein 'canvas' ist ein Element von Html welches benutzt wird um Grafiken via Javascript zu zeichnen. Dabei musste ich viel mit Koordinaten arbeiten um gewisse Gegenstände darzustellen oder die Figur zu verschieben.

Aufgetretene Probleme

Ich konnte bereits von Anfang an dank Urs viele Probleme verhindern da ich z.B. zu grosse Anforderungen gestellt hatte oder meine Anforderungen zu wenig definierte welches dann zu Unklarheiten hätte kommen können. Als ich dann mit dem programmieren begann, konnte ich mich für die ersten 2 Anforderungen an den Plan halten. Jedoch stiess ich bereits bei der 3. Anforderung auf ein sehr grosses Problem. Der Code war zu unübersichtlich und ich musste somit ziemlich alles was ich in den ersten 2 Anforderungen erreicht hatte wieder ändern. Dies beanspruchte sehr viel Zeit. Dies störte meine Zeitplanung sehr stark da ich das Problem zuerst versuchte zu ändern ohne alles neu zu machen. Schussendlich sagte mir Urs wie ich am besten umsetzen sollte und dies tat ich dann auch. Somit erstellte ich ein RefactoringIch habe nun jedoch kein tolles Spiel dafür wurden die ersten Anforderungen gut umgesetzt und das Spiel ist somit sehr leicht veränderbar ohne das neue Probleme auftretten sollten.

Ausblick

Vielleicht werde ich mich mal wieder an Mein Projekt setzen und weiter machen um zu sehen was da noch machbar sein könnte. Es wäre sicher ein tolles Projekt gewesen falls ich noch mehr Zeit gehabt hätte um die restlichen Anforderungen ebenso zu lösen.