GeoCities
Im Rahmen der Vorlesung 'Software-Entwicklung' soll ein Programm 'Schiffe versenken' möglichst objektorientiert mit C++ entwickelt werden. Die Dokumentation soll vorzugsweise im HTML-Format erfolgen. Diese Seite ist ein Versuch, diese Aufgabe zu lösen.

Die Ausganslage ist eine alte OOA-Prüfung aus dem Jahr 2002 (OOA = objekt-orientierte Analyse). Das Spiel 'Schiffe versenken' musste damals objekt-orientiert modelliert werden:

Der Benutzer spielt gegen eine Schiffs-Flotte. Diese Flotte besteht aus Schiffen, die vertikal oder horizontal auf dem abgebildeteten Meer (bestehend aus 10 X 10 Feldern) für den Benutzer unsichtbar angeordnet sind, wobei sich die Schiffe nicht berühren dürfen:

• 4 x Einer-Schiffe
• 3 x Zweier-Schiffe
• 2 x Dreier-Schiffe und
• 1 x Vierer-Schiff

Der Benutzer kann nun via der Koordinaten einen Schuss abgeben, z.B. in X-Richtung C und in Y-Richtung 6.

Hat der Schuss getroffen, so erscheint ein h (hit), sonst ein t (try). Das heisst, dass der Benutzer auf einen Blick sieht, mit welchen Koordinaten er schon einmal einen Schuss abgegeben hat. Ist ein ganzes Schiff zerstört, so wird dies mit einem d (destroyed) dargestellt. Ist die ganze Schiffs-Flotte zerstört, so ist der Benutzer Gewinner. Gibt der Benutzer vorher auf, so ist er Verlierer.
 

Aus der Muster-Lösung dieser Prüfung soll nun eine Programm in C++ entwickelt werden, wobei eine 3-Schichen-Architektur anzustreben ist. Verschiedene Schichten bedeutet, dass verschiedene Aufgaben, z. B. die Geschäftslogik (das ist der rechnerische Teil des Programms) oder das GUI (die Benutzeroberfläche) klar voneinander getrennt sind und beliebig austauschbar sein sollten.
 

copyright August 01, 2003 by FHBB NDSI 2003 / c.t.