Wir können ein Muster auf einfache Art generieren, wenn wir ein Raster verwenden. Falls das Grundelement unseres Musters ein Quadrat ist, können wir einfach ganz viele Quadrate nebeneinanderlegen. Das könnte dann etwas so aussehen:

Animierte Quadrate

Dabei wird innerhalb einer Zeile ein Quadrat neben das andere gereiht und wenn eine Zeile fertig gezeichnet ist, kommt die nächste Zeile an die Reihe. Ein entsprechender Code könnte etwas so aussehen.

Quadrate in ein Raster zeichnen

Während dieses Programm zwar nur aus wenigen Befehlen besteht, ist es recht schwierig, dieses zu verstehen, weil es aus drei ineinander verschachtelten Schlaufen besteht:

  • In der innersten Schleife (repeat) wird das Quadrat gezeichnet.
  • In der mittleren Schleife (for x) wird jeweils eine Zeile gezeichnet.
  • Die äusserste Schleife sorgt dafür, dass mehrere Zeilen untereinander gezeichnet werden.

Damit wir uns später nicht mehr um alle Details kümmern müssen, schreiben wir das Programm mit eigenen Blöcken um.

Das Zeichnen des Quadrats verstecken wir in einem neuen Block:

Quadrat zeichnen

Dieses Verstecken von Details nennt man auch Abstrahieren. Es hat den Vorteil, dass wir uns im Hauptprogramm nicht mehr um das Zeichnen des Quadrats kümmern müssen. Oder anders gesagt: Wenn wir den Block "draw simple square" später durch einen anderen Block ersetzen, sollte unser Programm weiterhin funktionieren. Es sieht nun so aus:

Zweite Version des Programms

Der neue Block "draw simple square" ist bewusst einfach gehalten, so kümmert sich der Block nicht mehr um die Steuerung des Stifts oder an welcher Position auf dem Bildschirm er zum Einsatz kommt.

Im nächsten Schritt schreiben wir einen Block, der sich darum kümmert, dass unser Block an der richtigen Stelle am Bildschirm ausgeführt wird.

Block zur Positionierung von Elementen

Dieser Block kümmert sich also um die Stiftführung und die Platzierung. Damit können wir unser Hauptprogramm weiter vereinfachen.

Weiter vereinfachtes Programm

Nun sorgen wir noch dafür, dass wir die verschachtelten for-Schleifen verstecken, damit wir uns darum auch nicht mehr kümmern müssen.

Block zum Zeichnen des Rasters

Damit lässt sich das Programm noch einmal vereinfachen.

Start vereinfachtes Programm

Nun besteht das Programm nur noch aus einem Block, der einen weiteren Block aufruft, Die Zeilen drüber sogen einfach noch dafür, dass alle Einstellungen von Anfang an richtig gesetzt werden.

Bei der hier gezeigten Variante handelt es sich um eine etwas vereinfachte Form der Programmvorlage, mit welcher du arbeiten wirst, denn aktuell ist unser Programm weder in der Lage, sich an unterschiedliche Bildschirme anzupassen, noch kann es Elemente verschiedener Grössen zeichnen.

Link: Repeating Elements

Zuletzt geändert: Freitag, 30. April 2021, 14:13