In this class we focus on learning programming as a tool to create, prototype and visualize.
This semester the final projects are slide puzzles game.
Let’s Play!
In this class we cover basic programming elements such as variables, loops, conditions and classic algorithms. As well we cover complexity, prioritization and framing which is especially important in a creative and innovative context.
Ziel war es ein Slide Puzzle mit Hilfe von HTML, CSS und JavaScript zu Programmieren. Ein Sliding Puzzle ist ein Spiel, bei dem Teile auf einer Oberfläche verschoben werden müssen, um ein ursprüngliches Muster wiederherzustellen. Die Anzahl der Teile variiert je nach Größe des Puzzles.
Implementierte Funktionen:
-> 3x3 standard Spielfeldgröße
-> Teile werden durch das darauf klicken bewegt
-> Adaptives Design (passt theoretisch auf fast jeden Bildschirm)
-> Stoppuhr (um die Spielzeit zu bemessen)
-> Zugzähler (zählt die Anzahl der gemachten Züge)
-> Gewinnnachricht (zeigt genutzte Züge und verlaufene Zeit)
-> Verstellbare Spielfeldgröße (3x3 bis 8x8)
-> Audio Effekt bei Zug
-> Spiel-löse-Algorithmus
-> Individuelles Design
-> Zahl wird grün wenn in richtiger Position
-> Auto Solve Nachricht (bei Benutzung löse Algorithmus)
-> Start Info Nachricht (wenn nicht richtig gestartet wurde)
Probleme und Schwierigkeiten:
Aufgrund der Art der Implementierung, lies sich eine Drag and Drop Funktion leider nicht in das Spiel einbauen, da hier tatsächlich nur die Nummern und nicht die tiles selber getauscht werden.
Größte Schwierigkeit, war definitiv der Löse Algorithmus, welcher nur durch extensives trial and error einen weg ins Spiel gefunden hat. Dies liegt daran, da es doch komplizierter war als gedacht, da man viele Systeme miteinander verbinden musste und eine problemlose Zusammenarbeit dieser Systeme nicht immer garantiert war. Bis heute funktioniert der Algorithmus nur in der 3x3 Version des Spiels, sofern die große verändert wird, beschädigt dass den code und das Spiel muss komplett neu geladen werden, sollte man den Algorithmus wieder benutzen wollen. Auch aufgrund fehlender Kenntnisse ist dieser nicht sehr Zeit optimiert, jedoch einiger maßen funktionell für meine Kenntnisse in diesem Bereich.
Fazit:
Würde ich ein solches Spiel noch einmal programmieren, würde ich höchst wahrscheinlich einen anderen Ansatz für das tile Bewegungssystem nehmen, und mehr code in dedizierte Dateien auslagern um bessere Übersicht zu bekommen. Rückblickend habe ich hierbei jedoch einiges gelernt und bin im grunde mit meinem Wissens Fortschritt zufrieden.
Gerne kann man das Spiel, wie auch das der anderen aus meinem Kurs, unter folgendem Link spielen.
Hinterlasse einen Kommentar