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.
Beim Slide Puzzle Game müssen alle 15 Puzzleteile in die richtige Reinfolge gebracht werden. Dabei dürfen immer nur die benachbarten Felder an den freien Platz verschoben werden.
Meine Features
Beim Start kann ein Name eingegeben weden.
Wenn auf Play gedrückt wird, wird automatisch ein 3x3 Felder großes Spielfeld generiert.
Auf Wunsch kann man in den Einstellungen die Größe zwischen 3x3 - 8x8 in der Größe verändern.
bei den Größen 3x3 und 4x4 wird beim Start automatisch der Schwierigkeitsgrad berechnet.
Alle Felder, die an der richtigen Position sind, ändern ihre Farbe, um dem Nutzer ein weiteres Feedback zu bieten.
Als alternative zu den Zahlen kann auch ein eigenes Bild als Hintergrund hochgeladen werden. Auf Wunsch können auch Zahlen auf dem Bild angezeigt werden.
wenn der Modus auf Bild gestellt wird, aber kein Bild hochgeladen wird, wird automatisch ein Hintergrund Bild festgelegt.
Auf Wunsch kann ein Sound bei der Bewegung der Tiles abgespielt werden. Dieser kann mit den oberen Icons stummgeschaltet werden oder in den Einstellungen in seiner Lautstärke verändert werden.
Beim Spielen des Spiels können die Tiles entweder durch klicken oder Drag-and-drop bewegt werden.
Das Spiel kann pausiert werden. Sobald das Spiel pausiert ist, kann man entweder die Highscores anzeigen, ein neues Spiel beginnen oder das Spiel Fortführen.
In der Highscoretabelle werden die 10 besten Spieler aufgelistet
wenn man das Spiel beendet hat kommt eine Übersicht, auf der die Anzahl der benötigten Moves und die Dauer das Spiels angezeigt wird. Außerdem kann man sehen, auf welchem Platz man in der Gesamtwertung ist.
Auf dem Winning Screen kann man bei der Anzeigemethode zwischen nur seinen Eigenen und allen Ergebnissen umschalten.
Die Highscores werden zwischen allen Geräten mit der Firebase Datenbank synchronisiert.
Bei einem 3x3 oder 4x4 Puzzle gibt es einen Solving Knopf, der einem automatisch das Puzzle löst und die Schritte nacheinander zeigt.
In den Einstellungen kann man die Geschwindigkeit, in der der Lösevorgang angezeigt wird, mit der Funktion Speed solving up beschleunigen
Meine größten Probleme
Mein größtes Problem war es, einen Solving Algoritmus zu entwickeln der ein 4x4 Puzzle lösen kann und dafür so wenig Zeit wie irgendwie möglich braucht. Um dieses Ziel zu erreichen, habe ich insgesamt 4 verschiedene Solving Algorithmen entwickelt, bei denen der Letzte aus dem Breath first Search, der Manhatten distance und einem selbstentwickeltem Bewertungsalgorithmus besteht. Mit dieser Technik kann mein Algorithmus selbst ein 4x4 Puzzle in unter einer Sekunde lösen.
Hinterlasse einen Kommentar