Handy Client

Der Handyclient wurde für Android-Handys geschrieben.
Entscheidend für die Wahl des OS, war unter anderem das Ansprechen des Mikrofons.
Zuerst wurde versucht es mit QT für Symbian zu entwickeln.
Dieses scheiterte auf Grund eines nicht behobenen Bugs in der Qt-Umgebung ausgelöst wurde.
Danach wurde es mit QT auf Android versucht.

Dieses scheiterte, da beim Ansprechen des Mikrofons, eine Library nicht gefunden werden konnte.
Ursache scheint ein weiterer Bug in Qt hinauslief.

Zuletzt versuchten wir es mit nativen Android-Java(Version 2.3.3) zu entwickeln,
welches sich relativ schnell als Erfolg herausstellte.
Da es jedoch nicht nur eine Anwendung fürs Handy sein sollte, sondern ein Spiel,
haben wir relativ schnell noch die Andengine hinzugefügt,
da sie uns einige aufwändige Elemente relativ einfach an die Hand gibt.

Vorteile Nachteile
- schnelle Einbettung von Images - schwierige Einbettung von Standard GUI-Elementen(Labels, Buttons)
- theoretisch einfacherer Einbettung von Shadern(haben wir noch nicht eingebaut) - Einarbeitung in zusätzliches Framework
- Problembehebung von Fehlern in der Engine
UML-Beispiel

Die Aufgabe des Handyclients

Die Aufgabe des Handys ist zweigeteilt, zum Einen soll es als Soundeingang, zum Anderen soll es aber auch als Bestandteil des Spiels fungieren. 

Soundeingang

Die Soundaufnahme findet auf dem Handy statt und wird auf den Server übertragen, dieses ermöglicht es uns die Spieler zu unterscheiden.

Bestandteil des Spiels

In diesem Spiel übernimmt das Handy die Rolle des Zauberbuchs.
Hier werden alle bekannten Zauber angezeigt, die dem Spieler von Anfang an bekannt sind, oder erst bekannt gemacht werden müssen.
Um das Gefühl eines Zauberbuchs zu bekommen, gibt es mehrere Zauberbuchseiten, die man per streichen über das Display umblättert.
Da es bei vielen Zaubern umständlich werden könnte, haben wir zusätzlich Lesezeichen hinzugefügt,
mit denen man direkt zu den Zaubern eines gewissen Elements springen.
Spielmenü 

Die Menüs

Hauptmenü

Wie jedes Spiel ist dieses der Startscreen, in dem es ein Übergang ins Startmenü, sowie auch ins Optionsmenü gibt.
Desweiteren älsst sich hier auch das Spiel beenden.
Hauptmenü
Zunächst sollte man unter "Options" die IP-Addresse des Servers einstellen.

Optionsmenü

Im Optionsmenü wird wie eben erwähnt, die IP des Servers konfiguriert.
Dieses funktioniert eingängig durch das Betätigen der + bzw. - Buttons.
Ein bestätigen ist nicht notwendig, sobald die IP konfiguriert ist, kann man mit "Back" zum Hauptmenü zurückwechseln.
Optionen

Verbindungsmenü(Startmenü)

Dieses Menü realisiert den Verbindungsaufbau mit dem Server.
Verbindungsmenü
Betätigt man den "Connect"-Button wird die Verbindung aufgebaut.
Sobald die Verbindung steht, erscheint auf der linken Seite die Bestätigung für den Verbindungsaufbau,
zusammen mit der Information, als welcher Spieler man angemeldet ist.
Verbunden
Nun wird vom Spieler erwartet, dass er "Bereit" sagt, um dem System zu vermitteln, dass es losgehen kann.
Wenn beide Spieler die Verbindung aufgebaut haben, und mit "Bereit" bestätigt haben, wechselt das Menü zum Spielmenü.

Das Spielmenü

Die Funktion des Spielmenüs wurde bereits unter Bestandteil des Spiels erklärt.

Erweiterbarkeit der Zaubersprüche
Grundsätzlich ist das Zauberbuch darauf ausgelegt durch neue Zaubersrüche ergänzt zu werden.
Das soll bedeuten, dass zum Beginn des Spiels kein Zauber bekannt ist,
und jeder gelernter Zauber vom Spielserver an das Handy geschickt wird.