Informatik

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.

Lösung

Projekt Weitere Klassen.zip
Weitere Klassen