• Keine Ergebnisse gefunden

1 Schiffe versenken! (10 Punkte)

N/A
N/A
Protected

Academic year: 2021

Aktie "1 Schiffe versenken! (10 Punkte)"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. Franz Schweiggert und Dr. Johannes Mayer Abt. Angewandte Informationsverarbeitung 12. Mai 2006

Ralph Guderlei Blatt 3

A

Software Engineering Praxis (SS 2006)

Abgabetermin: 19. Mai 2006

1 Schiffe versenken! (10 Punkte)

Gegenstand der Aufgabe ist es, das Spiel ”Schiffe versenken” in Java umzusetzen. Das Spiel soll auf der Kommandozeile gespielt werden knnen. Der Einfachheit halber soll das Spiel alleine gegen einen Computer-Gegner spielbar sein. Der Computer-Gegner platziert die Schiffe auf dem Spielfeld und wertet die Eingaben des Spielers aus. Die Java-Klasse Console stellt daf¨ ur die Methode readInt() zur Verf¨ ugung. Die Klasse befindet sich bei den Beispielen zu den ¨ Ubungen.

Ein Beispiel-Spiel steht ebenfalls zur Verf¨ ugung und kann f¨ ur die L¨ osung der Aufgabe verwendet werden.

Ihre Aufgabe ist es, ist das Spielfeld zu implementieren. Die Funktionalit¨ at der Spielfeldklas- se sind im Interface Field vorgegeben. In diesem Interface sind folgende Methoden definiert:

• placeShip() zum Platzieren eines Schiffs auf dem Spielfeld

• placeBomb() zum Platzieren einer Bombe auf dem Spielfeld

• toString() zum Ausgeben des Spielfelds auf der Konsole

• isFinished() ¨ uberpr¨ uft, ob das Spiel beendet ist

Die Parameter und die Beschreibung der Parameter befindet sich im Interface. Bei den Funktionen placeShip() und placeBomb() soll ¨ uberpr¨ uft werden, ob das Schiff bzw. die Bombe tats¨ achlich auf dem Spielfeld platziert werden k¨ onnen. Falls das nicht der Fall ist, soll eine Exception geworfen werden. Beim Platzieren der Schiffe soll zus¨ atzlich darauf geachtet werden, dass sich kein anderes Schiff schon an der selben Stelle befindet. Auch in diesem Fall soll eine Exception geworfen werden.

Das eigentliche Spielfeld ist ein in der Spielfeld-Klasse gekapseltes zweidimensionales Array beliebiger Hhe und Breite. Die H¨ ohe und Breite des Spielfeldes soll der Spielfeld-Klasse als Konstruktor-Parameter bergeben werden. Die Elemente des Arrays sind Objekte zweier unter- schiedlicher Klassen, ”Wasser” oder ”Schiff”. Ein Schiff mit L¨ ange ¿ 1 belegt nat¨ urlich mehrere Elemente des Spielfelds. ¨ Uberlegen Sie sich eine geeignete Objektstruktur die es erm¨ oglicht, diese beiden Typen in einem Array zu speichern.

Die Klassen ”Wasser” und ”Schiff” sollen ebenfalls eine toString()-Methode enthalten, die f¨ ur die Darstellung des Spielfeld-Elements durch das Spielfeld zust¨ andig ist. Ausserdem sollen die Spielfeld-Elemente speichern, ob sie bereits von einer Bombe getroffen wurden.

Viel Erfolg!

Referenzen

ÄHNLICHE DOKUMENTE

Doch was sich damals als typi- sche Win-win-Situation darstellte – wunderbar für die Anleger, die aus ihren Containerbeteiligungen fiska- lische Vorteile erzielen wollten, und

Internationales Übereinkommen von 1973 zur Verhütung der Meeresverschmutzung durch Schiffe.

Übereinkommen zur Verhütung der Meeresverschmutzung durch das Einbringen durch Schiffe und

Der Auftrieb des Wassers drückt Wasser in das Innere, füllt es und lässt das Schiff schwerer werden – so schwer, dass der Auftrieb das Schiff nicht mehr an die Wasseroberfläche

Wenn das Kind den entsprechenden Koordinatenpunkt nennt, wird der Buchstabe genannt, der

In das vorgegebene Raster werden beliebige Wörter eingesetzt (von oben nach unten, von links nach rechts, von unten nach oben und von rechts nach links)!. Dann beginnt Spieler A,

verband, der aus einem Igelkopfschiff und aus einem £;fo­Schiff besteht. Bei der Segelfahrt folgt das sJbt- Schiff dem Igelkopfschiff, bei der Ruderfahrt das Igelkopfschiff

Manche der verderb- lichen Waren werden viel zu auf- wendig gelagert und viel zu oft be- trachtet, durchleuchtet und analy- siert (zu viel Diagnostik), auch wenn daraus gar nichts