Logo ICT-BZ

Cookie Clicker 2.0

Kurzinfo

Themenbereich

Softwareentwicklung

Lernende/r

Leo Scherer

Lehrbetrieb

CSS Versicherung

Betreuer

Urs Nussbaumer

Projekt-Webseiten

Download

Github

Aufgabenstellung

Die Aufgabe war, über vier Wochen ein eigenes Projekt zu programmieren. Ich endschied mich, eine eigene Version des bekannten Browser-Spiels Cookie Clicker zu machen. Dieses soll aber lokal als Desktop-Programm ausführbar sein. Das Grundsätzliche Spiel soll also einen Knopf haben, der die Anzahl Cookies um eins erhöht. Zusätzlich sollen sich Upgrades gekauft werden können, die dem Spieler automatisch Cookies hinzufügen. Neben dem grundsätzlichen Spiel, soll auch eine Speicherfunktion vorhanden sein, sowie die Möglichkeit, seinen Score hochzuladen und somit auch andere Scores auf einer Weseite abrufen können.

Screenshot des Spieles

Ergebnisse

Ich konnte alle meine Anforderungen erfüllen. Ich habe mir vorgenommen, das Spiel möglichst sauber zu programmieren, sowie möglichst viele Methoden zu verwenden, um den Code übersichtlicher zu machen.

Lösungskonzept

Zuerst begann ich das Projekt mit dem älteren Programm JFrame. Urs erzählte mir aber schon am ersten Tag von einem moderneren Programm, zu welchem ich dann auch wechselte. Mein Nebenstift Daniel hat mir auch oft geholfen, da er auch ein Projekt mit JavaFX gemacht hat.

Aufgetretene Probleme

Ein kleineres, aber trotzdem nicht behobenes Problem ist, dass bei den Preis der Upgrades oft sehr viele Kommastellen angegeben werden. Beim Import und Export der Speicherdatei, hatte ich auch einige Probleme die ich dann mit Urs und einiger Geduld beheben konnte. Ein Bug, den ich leider nicht beheben konnte, friert das Spiel selten ein, da von zwei Threads gleichzeitig in den selben Speicherbereich geschrieben wurde. Auch wenn ich teilweise kleinere Schwierigkeiten hatte, kam ich recht gut durch das Projekt. Somit konnte ich auch alle Anforderungen umsetzen.

Ausblick

Falls ich noch mehr Zeit gehabt hätte, wäre ich noch länger mit Bugfixing beschäftigt gewesen. Ich werde am diesem Projekt nicht mehr weiterentwickeln, da alle Funktionen des Programms implementiert sind.