Processing math: 100%

Benutzer-Werkzeuge

Webseiten-Werkzeuge


klassen1:eigene:aufgaben:aufgabe3:start

Lösung zu Aufgabe 3: Zeichne ein X in Ascii-Art

Erweitere die Klasse AsciiArt von oben um eine Methode void zeichneX(int breite, int linienstärke, String farbe), die ein großes X aus lauter X-Zeichen zusammensetzt. Die Ausgabe von art.zeichneX(10, 2, Color.pink); sieht beispielsweise so aus, wie im Bild rechts zu sehen.

NaN million steps/s
Ausgabe
Variablen
Programm beendet
Bitte geben Sie eine Zahl ein!
OK
Tipp:
Die Variablen sind nur dann sichtbar, wenn das Programm
  • im Einzelschrittmodus ausgeführt wird(Klick auf ),
  • an einem Breakpoint hält (Setzen eines Breakpoints mit Mausklick links neben den Zeilennummern und anschließendes Starten des Programms mit ) oder
  • in sehr niedriger Geschwindigkeit ausgeführt wird (weniger als 10 Schritte/s).

Erklärung

Es gibt verschiedene (gleich gute!) Möglichkeiten, diese Aufgabe zu lösen. Die vorliegende definiert zwei Variablen von1 und bis1, die festlegen, von welcher Spalte bis zu welcher Spalte die „X“-Zeichen des „Linksobennachrechtsunten“-Querbalkens in der aktuellen Zeile geschrieben werden und von2 sowie bis2 entsprechend für den „Rechtsobennachlinksunten“-Querbalken. In der Zeichnung rechts ist die anfängliche Belegung der Variablen für ein X mit Breite 20 und Linienstärke 3 zu sehen: von1=1 bis1=1+31=3 von2=203+1=18 bis2=20 Für jede Zeile durchläuft die Variable spalte die Werte von 1 bis 20 und für jeden Wert von spalte wird ein X ausgegeben oder ein Leerzeichen. Dabei wird folgende Regel angewandt:

Falls (spalte >= von1 und spalte <= bis2) ODER (spalte >= von2 und spalte <= bis2) wird ein X ausgegeben, ansonsten ein Leerzeichen.

Die X werden also - einfach gesagt - für die Spaltenbereichen von von1 bis bis1 und von von2 bis bis2 ausgegeben.

Nach Beendigung jeder Zeile werden von1 und bis1 um 1 erhöht (der „Linksobennachrechtsunten“-Querbalken wandert also ein Zeichen nach rechts) und von2 und bis2 um 1 erniedrigt (der „Rechtsobennachlinksunten“-Querbalken wandert also ein Zeichen nach links).

klassen1/eigene/aufgaben/aufgabe3/start.txt · Zuletzt geändert: 2024/08/31 10:03 von 127.0.0.1