30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

B. Vollständige Implementation des Memory<br />

Spiels<br />

In Kapitel 10 wurde das Design des Spiels besprochen und es wurden e<strong>in</strong><br />

paar kurze Auszüge aus der Implementation vorgestellt. In der Folge f<strong>in</strong>den<br />

<strong>in</strong>teressierte Leser den gesamten Source Code des Spiels. Dieser ist natürlich<br />

auch auf der beiliegenden CD-ROM zu f<strong>in</strong>den.<br />

Um Platz zu sparen habe ich mir bei den e<strong>in</strong>zelnen Methoden <strong>in</strong> der Implementation<br />

alle Beschreibungen erspart, denn diese s<strong>in</strong>d bereits vollständig<br />

<strong>in</strong> den Headers <strong>in</strong> Kapitel 10 enthalten. Dies ist auch vollkommen übliche<br />

Praxis, denn e<strong>in</strong>e Kopie der Beschreibung führt nur zu unnötiger Redundanz<br />

und zu erheblichem Wartungsaufwand. Nach e<strong>in</strong>igen Änderungen ist es vor<br />

allem mit ziemlicher Sicherheit zu erwarten, dass die Beschreibungen <strong>in</strong> den<br />

Headers nicht mehr konsistent zu den Beschreibungen <strong>in</strong> den .cpp Files s<strong>in</strong>d.<br />

B.1 Implementationen der e<strong>in</strong>zelnen Klassen<br />

Zu den Implementationen der Klassen, die <strong>in</strong> der Folge abgedruckt s<strong>in</strong>d,<br />

möchte ich ke<strong>in</strong>e weiteren Erklärungen abgeben. Der Code sollte verständlich<br />

genug geschrieben se<strong>in</strong>, dass er als selbstdokumentierend anzusehen ist.<br />

B.1.1 Das Hauptprogramm<br />

1 //memory ma<strong>in</strong> . cpp − ma<strong>in</strong> program that s t a r t s memory<br />

2<br />

3 #<strong>in</strong>clude <br />

4<br />

5 #<strong>in</strong>clude ” simple commandl<strong>in</strong>e handl<strong>in</strong>g . h”<br />

6 #<strong>in</strong>clude ”memory commandl<strong>in</strong>e arg handler . h”<br />

7 #<strong>in</strong>clude ”memory gameboard . h”<br />

8 #<strong>in</strong>clude ” simple output handl<strong>in</strong>g . h”<br />

9 #<strong>in</strong>clude ” s i m p l e d i s p l a y a b l e . h”<br />

10 #<strong>in</strong>clude ”memory game control . h”<br />

11 #<strong>in</strong>clude ” simple <strong>in</strong>put handl<strong>in</strong>g . h”<br />

12<br />

13 us<strong>in</strong>g std : : c e r r ;<br />

14 us<strong>in</strong>g std : : endl ;<br />

15<br />

16 <strong>in</strong>t ma<strong>in</strong> ( <strong>in</strong>t argc , char ∗ argv [ ] )<br />

17 {<br />

18 // i n s t a n t i a t e the commandl<strong>in</strong>e handler , d e c l a r e the

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!