Vererbung

Das Spiel - Tierjagd

Ein Programmierer hat ein Spiel geschrieben, das schon fertig und spielbar ist. Das Spiel soll im Folgenden erweitert und verbessert werden. Dabei wirst Du an einigen Stellen den Code neu gestalten (Fachbegriff dafür ist Refactoring).

Bei dem Spiel geht es darum, dass Du in einem Wald ausgesetzt bist, und Tiere fangen und essen musst, um zu überleben. Es gibt aber einige Tierschützer, die das nicht gut finden, und Dich davon abhalten wollen, die armen, süßen Tiere zu essen. Ziel ist es also möglichst lange zu überleben und möglichst viele Tiere zu fangen. Du kannst mit den Pfeiltasten steuern, musst die Tiere fangen und den Tierschützern aus dem Weg gehen.

Screenshot des Spiels

Aufgabe 1 - Spielen

Lade Dir das Projekt herunter, entpacke es und öffne es in Greenfoot. Das Spiel enthält auch Sounds. Diese sind nicht unbedingt notwendig, aber es wäre gut, wenn Du sie hören könntest. Spiele!

Aufgabe 2 - Analyse

Öffne nacheinander den Quellcode der verschiedenen Klassen, überfliege diesen und beschreibe die Implementierung. Du musst nicht jedes Detail verstehen und erklären, aber im Wesentlichen sollte Dir die Implementierung klar sein.

Aufgabe 3 - Neue Tierart

Das Spiel soll um Rehe als neue Tierart erweitert werden. Beschreibe welche Veränderungen man am Code vornehmen müsste, um die Tierart einzuführen. Welche Schwäche hat die momentane Implementierung?

Vererbung

Um den Entwurf zu verbessern, bietet es sich an Vererbung zu nutzen. Wie man Vererbung in der UML darstellt und in Java implementiert, ist auf der Seite Fachkonzept - Vererbung dargestellt.

Aufgabe 4 - Klassendiagramm

Erstelle ein Klassendiagramm, das Vererbung nutzt, um die Modellierung zu verbessern. Definiere dazu die Klassen MovingActor, in der für automatische Bewegung gesorgt wird, und Tier, in der die Methode lautMachen() definiert wird. Nutze eine Software wie z.B. Violet UML oder zeichne das Klassendiagramm mit Bleistift, da Du noch Veränderungen daran vornehmen wirst.

Aufgabe 5 - Neue Tierart

Erweitere das Klassendiagramm um Rehe als neue Tierart. Vergleiche den Aufwand mit dem Aufwand, der bei Aufgabe 2 notwendig gewesen wäre.

Aufgabe 6 - Implementierung

Ändere die Implementierung des Spiels so ab, dass die Modellierung umgesetzt wird. Beachte dabei auch Vereinfachungen, die in der Spieler-Klasse beim Auffinden der anderen Tiere möglich sind.

X

Fehler melden

X

Suche