30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

10.1 Das ADD 259<br />

unserem eigentlichen Ziel, der Implementation des Spiels, schneller näher zu<br />

kommen.<br />

10.1.2 Weitere Zerlegung der e<strong>in</strong>zelnen Grobmodule<br />

Betrachten wir nun die e<strong>in</strong>zelnen Module getrennt vone<strong>in</strong>ander, um ihre<br />

Schnittstellen, sowie ihre <strong>in</strong>terne Aufteilung identifizieren zu können. Es ist<br />

<strong>in</strong> der Folge leicht erkennbar, dass durch die genauere Beschreibung gewisser<br />

Abläufe und Gegebenheiten leicht e<strong>in</strong>e Liste von Anforderungen der Module<br />

untere<strong>in</strong>ander identifiziert werden kann, durch die die Schnittstellen def<strong>in</strong>iert<br />

bzw. auf ihre S<strong>in</strong>nhaftigkeit überprüft werden können.<br />

Input Handl<strong>in</strong>g. Um e<strong>in</strong>e vernünftige Analyse des Input Handl<strong>in</strong>gs machen<br />

zu können, muss ich hier etwas nachholen, was <strong>in</strong> der ursprünglichen Angabe<br />

zum Spiel verschwiegen wurde: Wie bedient man das Spiel eigentlich? Hierzu<br />

nehmen wir die e<strong>in</strong>fachst mögliche Variante:<br />

• Das Programm wartet immer auf die E<strong>in</strong>gabe e<strong>in</strong>es Zahlenpaares, wobei<br />

die erste Zahl die Reihe und die zweite Zahl die Spalte darstellt.<br />

• Nachdem immer zwei zusammengehörige Karten aufgedeckt werden sollen,<br />

ist die weitere Logik folgendermaßen:<br />

– Das erste Zahlenpaar wird an die Spielsteuerung weitergegeben. Diese<br />

hat dann die Aufgabe, die entsprechende Karte e<strong>in</strong>mal aufzudecken und<br />

auf die Übermittlung des zweiten Zahlenpaars zu warten.<br />

– Das zweite Zahlenpaar wird an die Spielsteuerung weitergegeben. Dadurch<br />

wird die zweite Karte aufgedeckt. Sollten die beiden Karten dasselbe<br />

Symbol zeigen, dann werden beide aufgedeckt liegen gelassen, ansonsten<br />

werden sie beide wieder umgedreht.<br />

Wenn man weiter überlegt, dann sieht man, dass die Aufgabe des Input<br />

Handl<strong>in</strong>gs nicht wirklich viel mit dem Spiel direkt zu tun hat, denn dieses<br />

Modul soll ja allgeme<strong>in</strong> verwendbar se<strong>in</strong>. Dasselbe Input Handl<strong>in</strong>g wie hier<br />

kann ja auch z.B. <strong>in</strong> e<strong>in</strong>em Texteditor Verwendung f<strong>in</strong>den. Dementsprechend<br />

beschränken wir die Aufgabe des Input Handl<strong>in</strong>gs darauf, E<strong>in</strong>gabeworte entgegenzunehmen<br />

und als Events an angemeldete Handlers weiterzureichen.<br />

Der bzw. die Handlers stellen die Schnittstelle zur Spielsteuerung dar.<br />

Spielsteuerung. Die Spielsteuerung wird über die e<strong>in</strong>gehenden Keyboard<br />

Events <strong>in</strong>formiert und triggert die entsprechenden Aktionen am Spielfeld.<br />

Das bedeutet, dass die gesamte Logik des Spiels, also, was zu welchem Zeitpunkt<br />

zu passieren hat, <strong>in</strong> diesem Modul steckt. Dies betrifft natürlich auch<br />

die Initialisierungsphase des Spiels.<br />

Dadurch, dass nur der Spielsteuerung die Abläufe bekannt s<strong>in</strong>d, ist sie<br />

auch dafür verantwortlich, die Ausgabe des Spielfeldes durch das Output<br />

Handl<strong>in</strong>g zu veranlassen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!