Universität Paderborn - Home Universität Paderborn
Die Universität der Informationsgesellschaft

Grundlagen der Programmierung 2 SS 2005 - Aufgabenblatt 1

Ausgabe: 15.04.2005

Aufgabe 1 (Objektorientierung)

Wie unterstützt Java die objektorientierte Programmierung?

Diskutieren Sie anhand der Folie 87b die Begriffe

(Hier ist die Lösung zu Aufgabe 1)

Aufgabe 2 (Zeichnen von Rechtecken und Ellipsen)

Erzeugen Sie in einem JFrame viele bunte Ellipsen und Rechtecke. Benutzen Sie zum Zeichnen der Ellipsen und Rechtecke die Graphics-Methoden

welche eine Ellipse bzw. ein Rechteck mit der Breite width, der Höhe height mit der linken oberen Ecke an der Stelle (x, y) zeichnet. Wählen Sie dabei die x- und y-Koordinaten im Bereich 0...400 mit der Zufallsfunktion Math.random(), ebenso die Breiten und Höhen zufällig zwischen 50 und 150. Treffen Sie auch die Entscheidung "Rechteck oder Ellipse" mit Hilfe der Zufallsfunktion.

Wählen Sie auch die Farben der Elemente zufällig. Die Farbe des zu zeichnenden Elements definieren Sie vor dem Zeichnen jeweils mit der Graphics-Methode

Die Farbe wählen Sie durch Erzeugung eines jeweils neuen Farbobjekts für jedes Rechteck, indem Sie den Konstruktor aufrufen, dem Sie zufällige Werte für Rot (r), Gelb (g) und Blau (b) (die sogenannten "RGB-Werte") aus dem Bereich 0...255 übergeben.

(Hier ist die Lösung zu Aufgabe 2)

Aufgabe 3 (Zeichnen eines Balkendiagramms)

Gegeben sei eine Datei Endnoten.txt, die eine Aufstellung aller Noten nach Korrektur einer beliebigen Fachprüfug enthält. Lesen Sie die Daten ein und stellen Sie diese in Form eines Balkendiagramms dar. Beim Lesen der Daten soll gleichzeitig festgestellt werden wie oft jede Note in der Datei Endnoten.txt vorkommt. Die Höhe der Balken ergibt sich daraus.

Beschriftung der Achsen

Hinweise

(Hier ist die Lösung zu Aufgabe 3)

Aufgabe 4 (Wiederverwendung von Klassen aus Bibliotheken)

In der zusammen mit diesen Aufgaben erscheinenden Datei gamelet.jar ist ein Paket gamelet zur Implementierung einfacher Spiele enthalten. Das Paket ist unter gameletDoc/Package-gamelet.html beschrieben.

In einer Beispielanwendung werden 5 Kugeln dargestellt, die sich von einer zufälligen Anfangsposition aus mit zufälliger Geschwindigkeit über eine Ebene bewegen.

a)
Kopieren Sie die Beispielanwendung aus blatt1/boink in ein eigenes Verzeichnis. Übersetzen und starten Sie das Programm. Lesen Sie die Gamelet-Dokumentation.

Hinweis: Dazu müssen Sie zusätzlich die Datei gamelet.jar neben die Java-Quelltexte legen und beim Aufruf der javac- bzw. java-Kommandos mit einbinden:
javac -classpath .:gamelet.jar Boink.java
java -classpath .:gamelet.jar Boink

Wie kann ein Actor die Größe des sichtbaren Bereichs abfragen?

b)
Fügen Sie der Beispielanwendung eine Ballsorte BounceBall hinzu. Die BounceBall-Bälle sollen im Gegensatz zu SimpleBall-Bällen an den Rändern des sichtbaren Spielfeldes abprallen.

Hinweise:

  • Überschreiben Sie hierzu die Methode calculateNewPosition von Actor.
  • Die Position (0,0) des Spielfeldes und die eines Actors ist jeweils die linke obere Ecke.
  • Betrachten Sie deshalb das um die Breite und Höhe des Actors verkleinerte Spielfeld.
c)
Fügen Sie der Beispielanwendung eine weitere Ballsorte Hole (engl. Loch) hinzu. Ein Loch soll sich an einer zufällig gewählten Stelle auf dem Spielfeld plazieren und sich nicht bewegen. Kollidiert ein Ball mit einem Loch, so soll der Ball vom Spielfeld gelöscht werden. Zur visuellen Darstellung eines Lochs können Sie das in hole.gif dargestellte Loch verwenden.

(Hier ist die Lösung zu Aufgabe 4)

Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 05.02.2009