Die Aufgabe
Aufgabe 3
Für diese und die folgenden Aufgaben benötigen Sie die Klasse Zeichenflaeche aus dem Package grafik. Entweder legen Sie Ihre Klassen ebenfalls im Package grafik an, oder Sie importieren die Klasse Zeichenfläche folgendermaßen: import grafik.Zeichenflaeche;
Diese Klasse stellt ein Fenster der Größe 1000 x 800 Pixel zur Verfügung. Mit der Methode „Zeichenflaeche.zeichnePixel(x, y)“ können Sie das Pixel an der Stelle (x, y) einfärben. Der Koordinatenursprung der Zeichenfläche ist links unten. Zum Zeichnen soll ausschließlich die genannte Methode „Zeichenflaeche.zeichnePixel( )“ verwendet werden.
a) Schreiben Sie Programmcode, der eine waagrechte Linie zeichnet. Position und Länge sind frei wählbar.
b) Schreiben Sie Programmcode, der eine senkrechte Linie zeichnet. Position und Länge sind frei wählbar.
c) Schreiben Sie je eine Methode zum Zeichnen einer waagrechten und zum Zeichnen einer senkrechten Linie mit den Start-Koordinaten und der Länge als Parameter.
d) Schreiben Sie eine Methode zum Zeichnen eines Rechtecks mit den Koordinaten der linken unteren Ecke sowie Breite und Höhe als Parameter. Nutzen Sie hierbei die bereits geschriebenen Methoden.
e) Schreiben Sie eine Methode zum Zeichnen eines Quadrats mit den Koordinaten der linken unteren Ecke sowie der Seitenlänge als Parameter. Nutzen Sie hierbei die bereits geschriebenen Methoden.
f) Ändern Sie die Methode zum Zeichnen einer waagrechten Linie. Sie soll nun überprüfen, ob die Länge positiv ist und Start- und Endpunkte in der Zeichenfläche liegen (die Koordinatenwerte der Zeichenfläche beginnen bei 0 und schließen 1000 bzw. 800 nicht mit ein). Nur in diesem Fall wird die Linie gezeichnet. Zudem soll die Methode den Wert „true“ zurückgeben, um der aufrufenden Methode mitzuteilen, dass das Zeichnen geklappt hat. Sind die oben genannten Voraussetzungen nicht erfüllt, so soll die Methode nichts zeichnen und den Wert „false“ zurückgeben.
Die Klasse grafik.Zeichenflaeche ist vorgegeben, liegt uns aber nicht vor. Zum Ausprobieren haben wir sie durch eine eigene ersetzt, die die gefärbten Pixel sammelt, als Bild speichert und zählt. Positionen und Längen sind frei wählbar; die Zahlen im Programm sind unsere Wahl.
In f) verlangt die Aufgabe eine positive Länge, also größer als 0. Die Musterlösung prüft laenge >= 0 und zeichnet bei Länge 0 noch ein Pixel. Wir prüfen laenge > 0, wie in der Aufgabe verlangt.
- a), b) Je eine Linie direkt in main, mit einer Schleife.
- c) Dieselben Schleifen als Methoden mit Parametern.
- d), e) Rechteck und Quadrat aus den Methoden zusammensetzen.
- f) Die waagrechte Linie prüft vorher, ob sie auf die Fläche passt.