Teamleiter: Lean Muhovic
Teammitglieder: Tharun Thiripuranathan, Elvin Brian Röthlisberger und Walid Sekandari
Für dieses Projekt haben wir eine webbasierte Anwendung in Form eines klassischen Memory-Spiels namens NavyMemory entwickelt. Die Idee entstand während der Brainstorming-Phase, in der wir verschiedene Projektansätze auf ihre Machbarkeit geprüft haben. Ein Memory-Spiel erwies sich als idealer Kompromiss: Es ist technisch anspruchsvoll genug, um wirklich etwas zu lernen, aber gleichzeitig klar genug, um es im vorgegebenen Zeitrahmen sauber umzusetzen. Im Zentrum des Spielprinzips steht das Aufdecken von verdeckten Karten und das paarweise Abgleichen der Motive. Die gesamte Logik dahinter – von der Zustandsverwaltung bis zur Zeitsteuerung – hat uns im Verlauf des Projekts viel abverlangt, uns aber gleichzeitig sehr viel gelehrt.

Die Aufgaben im Team waren klar verteilt. Als Teamleiter habe ich die Koordination übernommen und darauf geachtet, dass jeder weiss was er zu tun hat und die Arbeitspakete fair aufgeteilt sind. Ein Teil des Teams hat sich auf die JavaScript-Logik konzentriert – das Umdrehen der Karten, den algorithmischen Paarvergleich und die asynchrone Zeitsteuerung. Die anderen haben die HTML-Struktur aufgebaut, das Design mit Tailwind CSS umgesetzt und die Dokumentation nach IPERKA verfasst. Bei komplexen Problemen haben wir uns gegenseitig unterstützt, was die Arbeit deutlich effizienter gemacht hat.
Den gesamten Projektablauf haben wir nach der IPERKA-Methode strukturiert. Diese Vorgehensweise hat uns geholfen, den Überblick zu behalten und Entscheidungen nachvollziehbar zu begründen. Ein konkretes Beispiel dafür war die Variantenentscheidung: Wir haben eine browserbasierte Lösung mit lokalem Speicher einer serverbasierten Lösung mit Datenbank gegenübergestellt und uns bewusst für Variante 1 entschieden, da der Entwicklungsaufwand für ein Backend unsere Vorkenntnisse und den Zeitrahmen gesprengt hätte.
Das fertige Produkt NavyMemory läuft stabil, ist vollständig responsiv und überzeugt mit einem sauberen Navy-Blau-Design. Das Spielfeld passt sich automatisch an verschiedene Bildschirmgrössen an. Nach Spielende erscheint ein animiertes Overlay mit der Anzahl der benötigten Züge sowie einem Konfetti-Effekt. Alle im Pflichtenheft definierten Anforderungen wurden erfüllt, und das Endprodukt befindet sich in einem ausgereiften, abgabebereiten Zustand.
Was besonders gut gelaufen ist:
- Die teaminterne Koordination zwischen Tharun, Elvin, Walid und mir funktionierte hervorragend, was zu einer sehr hohen Produktivität führte.
- Die Einarbeitung in das Framework Tailwind CSS verlief sehr effizient und ermöglichte uns ein professionelles Styling sowie ein vollkommen responsives Grid Layout ohne grossen Zeitverlust.
- Die komplexe Logik der Echtzeit Auswertung der Kartenwerte in JavaScript konnte unter Zuhilfenahme von Tutorials und künstlicher Intelligenz absolut stabil und ohne Latenzen implementiert werden.
- Das fertige Programm bietet eine flüssige Benutzererfahrung inklusive toller visueller Effekte wie einer Konfetti Animation bei einem Sieg und erfüllt alle im Pflichtenheft definierten Anforderungen.
Was anfangs nicht ganz so optimal gelaufen ist:
Die initiale Konzeptionsphase bezüglich des genauen technischen Aufbaus verlief zu Beginn noch etwas unklar, bevor wir uns final für den unabhängigen Weg der Variante 1 mit lokalem Speicher anstelle einer komplexen Serverdatenbank entschieden haben.
Zu Beginn der Recherchephase herrschte durch das massive, unübersichtliche Informationsangebot im Internet kurzzeitig Unklarheit über die passenden JavaScript Funktionen, was jedoch durch die Gruppe schnell gefiltert werden konnte.
Die präzise Absicherung des Spielfelds gegen illegale Klicks während der Wartezeit erforderte mehrere Anläufe und Testreihen, bis die mathematische Logik der Statusverriegelung fehlerfrei war.
Fazit: NavyMemory war für uns ein lehrreiches und gelungenes Projekt. Wir haben gesehen, wie aus einer einfachen Idee eine funktionierende Webanwendung entsteht, und dabei konkret gelernt wie man JavaScript-Events, DOM-Manipulation, CSS-Animationen und asynchrone Zeitsteuerung in der Praxis einsetzt. Rückblickend war die saubere Planung nach IPERKA und die klare Aufgabenverteilung der entscheidende Faktor dafür, dass wir das Projekt termingerecht und in guter Qualität abschliessen konnten. Die Herausforderungen die wir hatten – vor allem beim Debugging der Spiellogik – haben uns gezeigt, dass strukturiertes Vorgehen und Geduld bei der Fehlersuche wichtiger sind als schnelles Drauflosprogrammieren.


Neueste Kommentare