Multionline Rollenspiel Rémy Laville, Mathieu Riolo, Raphael Borer BRIOLA 15 – 20 Minuten für die Präsentation
Ablauf Einleitung Projektwahl Vorbild Arindal Anforderungen an das Spiel Vorstellung der Umsetzung Tatsächliche Umsetzung Soll/Ist Zustand der Anforderungen Demo der Anwendung Fragen oder Anregungen 1, 2, 4, 7 Rémy 3, 5, 6 Matthieu 8, 9 : beide
1 Einleitung Präsentierte Version ist nicht Abgabeversion Begriffserklärung RPG Unsere Vorstellung bezüglich Arbeitsaufteilung Dokumente und Mails: Hauptarbeit: Rémy Laville Korrigieren: Matthieu Riolo Programmieren: Hauptarbeit: Matthieu Riolo Hauptarbeit: Raphael Borer Nebenarbeiten: Rémy Laville
2 Projektwahl Unsere Kriterien: Hilfreich für die Modulprüfung Etwas was auch nach Abschluss noch weiter verwendet werden kann «Spass» beim testen Einblick in viele verschiedene Bereiche der Applikationsentwicklung Vertiefung der Sprache Java
3 Vorbild Arindal
4 Anforderungen an das Spiel Einfache Installation durch Copy&Paste Portabel zwischen den OS Mehrere Aussehen (ohne Kleider, einfärben) Verschiedene Fähigkeiten, die Einfluss auf die Handlungsfähigkeit haben Regionen, zwischen denen gewechselt werden kann Gegenstände mit eigenständiger Funktion Bündnistypen Anforderungen, welche in den Köpfen der Mitglieder, aber noch nicht in den Dokumenten war.
5 Arbeitsumgebung SVN, sqlite, hibernate, eclipse, kryonet
5 Vorstellung der Umsetzung Konstruktionen vermeiden for(Object o : objects) if(o.equalTo(anotherObject)) Alles auf DB lösen UPDATE Character c1 SET c1.endurance = MAX(0, c1.endurance – w1.encuranceCost), c2.health = MAX(0, c2.health – MAX(0, w1.healthCost – a2.defense)) LEFT JOIN Item w1 ON w1.id = c1.weapon_item_id LEFT JOIN Field f1 ON f1.id = c1.field_id LEFT JOIN Field f2 ON f2.region_id = f1.region_id AND f2.x = f1.x - 1 LEFT JOIN Character c2 ON c2.field_id = f2.id LEFT JOIN Item a2 ON a2.id = c2.armor_item_id WHERE c1.id = <my character>
5 Vorstellung der Umsetzung Views Protocol Server Character Inventory Data Access Object Subtypen Server Character Appearance Item AllianceType Protocol Client Region ItemType Field FieldType Character Command Inventory Region Database
6 Tatsächliche Umsetzung Wer das erste Knopfloch verfehlt, kommt mit dem Zuknöpfen nicht zu Rande (Goethe) Keine transiente Eigenschaften Keine Observierungsmöglichkeit
6 Tatsächliche Umsetzung Views Subtypen Appearance ControllerBaum AllianceType ItemType Controller FieldType Character Command Item Region Model Data Access Object Field Character Character Item Item Region Region Protocol Client Protocol Server Field Field
Soll/Ist Zustand
Demo der Anwendung Hier ein einfacher Screenshot der Anwendung
Ihre Fragen und Anregungen