Weitere Klassen
Unser Spiel besteht im Moment aus zwei Klassen. Im Laufe dieser Seite wollen wir weitere Klassen implementieren und die folgende Ausgabe erreichen.
Aufgaben
Klassen implementieren
Setze das folgende UML-Klassendiagramm im BlueJ-Projekt um. Die Klassen Sprite und Stage stammen aus der Scratch for Java Bibliothek. Die Klassen Sprite und Stage haben eine Vielzahl von Methoden, die den Blöcken in Scratch ähneln. Wir werden diese nach und nach kennenlernen. Im Klassendiagramm werden nur im Moment relevante dargestellt, damit es übersichtlich bleibt.
classDiagram Stage <|-- BunnyHop Sprite <|-- Spieler Sprite <|-- Feind Sprite <|-- Plattform Feind <|-- StachelFeind class Stage { Stage(width: int, height: int) add(sprite: Sprite) remove(sprite: Sprite) setColor(r: int, g: int, b: int) addBackdrop(name: String, filePath: String) switchBackdrop(name: String) nextBackdrop() } class BunnyHop { Spieler bugs StachelFeind ingo Plattform p1 Plattform p2 Plattform p3 Plattform p4 } class Sprite { getX(): float getY(): float setX(x: float) setY(y: float) setPosition(x: float, y: float) changeX(x: float) changeY(y: float) setSize(percentage: float) move(steps: float) setDirection(direction: float) turnLeft(amount: float) turnRight(amount: float) addCostume(name: String, filePath: String) switchCostume(name: String) nextCostume() } class Spieler { } class Plattform { istKaputt: boolean } class Feind { } class StachelFeind { }
Wenn du dir nicht sicher bist wie man das Klassendiagramm in Java umsetzen kann, dann orientiere dich an der Klasse Spieler oder schaue hier: Vererbung in Java
Ausgabe nachstellen
Da wir nun alle notwendigen Klassen zur Verfügung haben, können wir jetzt die Klasse BunnyHop so verändern, dass sie der obigen Ausgabe entspricht.
Modifiziere die Klasse BunnyHop so, dass sie der obigen Ausgabe entspricht.
Setze dazu die Größe der Stage BunnyHop auf 800x400 (super(800, 400)
) und nutze die folgenden Objektdiagramme:
Mit den Methoden setX, setY, setPosition kannst du die Position von Objekten der Klasse Sprite verändern.
Falls du Hilfe bzgl. der Koordinaten brauchst, kannst du im Konstruktor der BunnyHop-Klasse die Methode this.setDebug(true)
aufrufen.