«

»

Nov 15

Beitrag drucken

Three Match Technical Design Document

Das Spiel wird auf der Basis von Flex (Adobe Flash) entwickelt. Flex kann man technisch gesehen in 2 Seiten aufteilen. Zum Einen hat man für die Entwicklung (bzw. das Designen) von Oberflächen die Möglichkeit auf die für Flex definierte Sprache MXML zurückzugreifen und zum Anderen kann jegliche Programmlogik in ActionScript programmiert werden. So ist in der Theorie das Design von der Logik getrennt, was bei der Entwicklung von normalen Anwendungen von Vorteil ist.

Nach einigen Tests mit Actionscript habe ich herraus gefunden, dass Oberflächen auch einfach über das ActionScript selbst erstellt werden können. Dies bringt gleich einige Vorteile mit sich. Zum Ersten muss ich mich so nicht in die unbekannte Syntax von MXML einarbeiten und zum Zweiten habe ich so die Möglichkeit in Actionscript eine Art Gameloop zu erstellen. Dadurch habe ich eine bessere Kontrolle über alle Elemente, die auf dem Bildschirm dargestellt werden sollen. Da ich hier bewusst auf einige Funktionen von Flex bzw MXML verzichte erhöht sich auch der Aufwand zum Erstellen von Animationen. Diese müssen nun für jedes Frame berechnet werden.

Bei der Entwicklung möchte ich versuchen die Abhängigkeiten von Logik und Darstellung so gering wie möglich zu halten. Wenn die Darstellung und die Logik zwei getrennte Zustände sind muss darauf geachtet werden, dass diese Zustände immer gleich sind. Durch diese Trennung muss die Datenstruktur auf die Animationen warten und anders herrum, da sonst eine Inkonsistenz in den Daten entstehen kann. Eine Herausforderung wird es sein die Daten immer synchron zu halten und die Kommunikation zwischen Daten und Darstellung sicherzustellen.

Zu entwickelnde Komponenten
Im Folgenden werde ich einen kurzen Ausblick auf die zu entwickelnden Komponenten für das zu entwickelnde Spiel geben.

Datenstruktur
Das Innere des Spiels wird durch die Datenstruktur wiedergespiegelt. Sie besteht aus einem zweidimensionalen Array, welches jede Position des Spielfeldes ansprechen kann. Desweiteren bietet die Datenstruktur Operationen zum Rotieren des Spielfeldes, Einfügen neuer Steine sowie Erkennen eines Three-Match.

Screens
Das Spiel wird verschiedene Bildschirme haben, die zur Laufzeit ausgetauscht werden müssen. Diese Bildschirmansichten werden durch Klassen, welche das Interface IScreen implementieren und von der Klasse Sprite abgeleitet.

Screeb Klassendiagramm

Screeb Klassendiagramm

Durch die dawUpdate Methode, die durch das Interface definiert wird, stellt jeder Bildschirm eine Schnittelle, die im Gameloop angesprochen werden kann, dar. Dort können einfache Formen direkt gezeichnet werden oder andere Darstellungsobjekte wie z.B. Spielsteine mit jedem Frame aktualisiert werden.

Über den Autor

Andreas

Fortgeschrittener Informatik Student mit der Spezialisierung auf Digitale Medien.

Permanentlink zu diesem Beitrag: http://blackdays.de/2011/11/three-match-technical-design-document/

Kommentar verfassen