JS-Buddy

JS-Buddy

Sehnsucht nach den 90ern? Super, dann habe ich für dich einen kleinen Zeitvertreib. In Javascript habe ich ein Tamagotchi gecodet, um das du dich jetzt kümmern kannst.

Kümmere dich um deinen Buddy und sieh dir die Animationen an: JS-Buddy

(mou)

Der Start
Da ich mich nach dem Modul IM II noch nicht sattelfest im Coden von Javascript fühlte, habe ich mir ein Projekt ausgesucht, das meiner Meinung nach auf meinem Stand realisierbar ist. Ein Tamagotchi bot sich da sehr gut an, da es nur aus wenigen Funktionen besteht. Anfangs dachte ich, dass ich alles sauber umsetze und mir erst oldschool auf Papier überlege, was ich brauche und wie das evt. funktionieren könnte. Stellt sich heraus, dass ich es nicht geschafft habe, so zu arbeiten. Ich konnte meine notierten Gedanken nicht zum Code übersetzen. Daher habe ich dann einfach Mal begonnen und das hat geklappt (sorry an alle guten Programmierer da draussen).

Das Coding / Die Grundfunktionen
Mein «einfach einmal starten», begann mit dem Wertesystem. Beim schreiben wurde mir dann auch eher klar, was ich überhaupt für ein funktionierendes Tamagotchi benötige. Grundsätzlich besteht der Code nur aus Werten für Hunger, Zufriedenheit und Müdigkeit sowie Funktionen, die diese Werte immer wieder reduzieren bzw. aufstocken. Ab und an lief ich dann immer wieder gegen Wände und jedes Mal tat es mir dann weh bereits geschriebenen und funktionierenden Code zu löschen, weil er mit dem nächsten Vorgehen nicht kompatibel war. So musste ich gegen Ende des fertigen Codes auch eine selbst erstellte Sleep-Funktion (die ich ehrlich gesagt sehr cool fand) löschen, weil sie mit dem Intervall nicht kompatibel war, den ich aber brauche, damit meine if/else-Schleife (für den Zustand des Buddys) funktionierte.

Die Gestaltung und Animationen
Ich hatte mir gross vorgenommen, dass ich erst den Code erstelle und erst danach die Website gestalte. Das hat nicht perfekt funktioniert. An einigen Punkten beim Javascript schreiben hatte ich einfach eine Scheibe vor dem Gesicht. Da hat es sehr geholfen, kreativ zu denken und etwas CSS zu machen oder mir Gedanken über die Animationen zu machen. Letzten Endes habe ich schon sehr weit gecodet, bis ich zum kreativen Teil ging, aber nicht wie angedacht, dass dies einfach nur der Endteil werden wird. Glücklicherweise hat in diesem Fall die Gestaltung keine grossen Auswirkungen auf den Code und die Funktionen.

Die Fehler / Was ich besser machen könnte

  • Die Speichern-Funktion war mir wichtig. Wer hat schon Zeit, dieses Spiel lange zu spielen? Wenn doch, tut es weh, den Browser zu schliessen und alles zu verlieren. Darum habe ich mir überlegt, die Werte speichern zu können. Dummerweise hilft das den Usern aber auch zu cheaten. Wenn das Tamagotchi stirbt, kommt zwar ein Alert zum Neustart, der die Werte löscht. Wenn man diesen jedoch ignoriert und die Seite selbst neu lädt, macht man einfach am zuletzt gespeicherten Punkt weiter.
  • Die Animationen entsprechen nicht ganz dem Standard, denn ich mir selbst gewünscht hätte. Aber neben allen anderen Fächern und den Aufwand, den ich bereits hatte mit dem Code, war keine Zeit für mehr da. Vielleicht hätte ich mir hier lieber eine*n Partner*in gesucht für dieses Projekt.
  • Was auch die Animationen betrifft: Diese werden nicht nach Beenden der Animation in die nächste eingeleitet, sondern dann, wenn der Intervall des Codes ausgeführt wird, das führt manchmal zu hässlichen Bildsprüngen. Nächstes Mal sollte ich darauf achten, dass alle Animationen die selbe Länge haben, dann könnte ich das auch besser steuern.