At My Fingertips

Sternenhimmel

Das Ziel dieser Aktivität ist es, einen Himmel mit zufällig angeordneten Sternen zu zeichnen.

Sternenhimmel

Ein Stern

Am besten speicherst du die Sterne-Funktion der PyTamaro iconSterne-Aktivität in deiner 🧰 Toolbox, so kannst du sie hier gleich weiterverwenden.

Loading...

Mehrere Sterne

Die Herausforderung ist nun, mehrere Sterne an unterschiedlichen Orten zu platzieren. Eine Idee könnte sein, jeden Stern mit zwei transparenten rechtecken zu verbinden, und die so entstandenen Grafiken am gleichen Punkt (zum Beispiel oben_links) zu kombinieren.

Einzelnen Stern positionieren

Implementiere erst eine Funktion, welche eine Grafik mit je einem Rechteck für die X- und Y-Position verbindet, und die Grafik oben_links fixiert:

Stern mit Debug-Infos

Die Farben dienen nur der Veranschaulichung; die Rechtecke sollen später transparent sein. Das gelbe Kreuz oben links markiert den Punkt, an dem die Grafik fixiert wird. Der rote Rahmen zeigt die Grenzen der Grafik an.

💡 Tipp: Roter Rahmen und gelbes Kreuz können angezeigt werden, wenn man bei zeige_grafik den debug Parameter auf True setzt.

Loading...

Mehrere positionierte Sterne überlagern

Mit kombiniere können jeweils zwei Grafiken kombiniert werden.

Loading...

💡 Elegant ginge das wieder mit einer Schleife oder einer kombiniere_mehrere-Funktion, ähnlich der uebereinander-Funktion aus der PyTamaro iconMauritius Flagge Aktivität.

Loading...

Mit einer List Comprehension lassen sich elegant auch grössere Sterne-Listen erstellen:

Loading...

Zufällig positionierte Sterne

Mit der Funktion random.randint lässt sich eine zufällige Ganzzahl (int) erzeugen, welche zwischen den beiden eingegebenen Zahlen liegt.

Loading...

Sternenhimmel

Implementiere nun eine Funktion, welche einen Sternenhimmel mit zufällig angeordneten Sternen erzeugt.

💡 Tipp: durch sterne.append(hintergrund) kann der Sternenliste noch eine Hintergrundgrafik angefügt werden. Achte darauf, dass die Sterne nicht ausserhalb der Hintergrundgrafik zu liegen kommen.

Loading...

Was du in dieser Aktivität gelernt hast

Bezüglich der Python Sprache

  • Mit random.randint lässt sich eine zufällige Ganzzahl (int) erzeugen, welche zwischen den beiden eingegebenen Zahlen liegt.

Bezüglich der PyTamaro Bibliothek

  • Durch die Verwendung von Hilfsrechtecken sowie oben_links fixieren, können Elemente positioniert werden.
  • Setzt man bei der Funktion zeige_grafik den debug Parameter auf True, werden Begrenzungsrahmen der Grafik sowie der Punkt von fixiere angezeigt.
  • In PyTamaro kommt es auch häufig vor, dass man Elemente einer Liste nicht nur nebeneinander oder übereinander setzen möchte, sondern auch kombinieren. Daher kann es sich lohnen, eine entsprechende, eigene Funktion kombiniere_mehrere in die Toolbox zu speichern.

This activity has been created by Lerbermatt and is licensed under CC BY-SA 4.0.

Sternenhimmel

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version b744b47 (Tue, 08 Oct 2024 16:30:14 GMT)