Damian Brunold

Matheapp

2014-03-14 10:54 C++, Programmieren

Ich habe nun das erste Projekt mit Openframeworks in der Arbeit: Es handelt sich um eine kleine Mathe-Übungsapplikation. Der Screen wird in 5x5 Tiles unterteilt. Wenn man ein Tile anklickt, erscheint eine Rechnung (3 * 4 = ?) und wenn man die richtige Antwort gibt, dann verschwindet die Tile und gibt den Blick auf den Hintergrund frei. Der Hintergrund ist ein hübsches Tierfoto.

Damit gibt es den Anreiz die Tiles zu entfernen, um das Foto zu sehen. Und da dies nur über das Lösen der Aufgaben geht, übt man rechnen.

Die App ist mittlerweile auf Linux und Windows lauffähig.

Ich möchte aber noch viel daran machen: Mehrere Levels, zufällige, wechselnde Rechnungen, verschiedene Bilder, verschiedene Schwierigkeitsgrade.

Dann eventuell eine Uhr, sodass man die benötigte Zeit sieht. Und wieso nicht für jede richtige Antwort Punkte, für jede falsche Antwort Abzüge. Dann gäbe es eine Highscore. Der wird dann persistiert. Der Ideen sind viele...

Sobald ich ein, zwei Schritte weiter bin, möchte ich das Ganze auf Android portieren/kompilieren und auf dem Tablet ausprobieren. Da freue ich mich drauf.

Übrigens hatte ich auf Windows ein paar Probleme. Die Includes scheinen anders zu sein als unter Linux und gewisse C++11 spezifische Funktionen scheint es nicht zu geben, konkret stoi. Natürlich konnte ich stoi durch die C-Variante atoi ersetzen. Ärgerlich war es trotzdem. Anscheinend wird unter Windows MingW-GCC-4.6.* verwendet und der ist noch nicht ganz C++11-konform.

Das war das erste Mal seit langem, dass ich in C++ und nicht in Java oder Python oder so entwickelt habe. Was mir sofort auffiel: bei einem Fehler gibt es keinen Stacktrace sondern einfach einen Programmabbruch und core dump. Insofern sind Assertions in C++ viel wichtiger als in Java.