At My Fingertips

Wachsender Mond

Die Titelanimation besteht aus 200 Bildern, die nacheinander abgespielt werden, wie ein Film. Hier sehen Sie fünf Zwischenschritte:

basic0basic0basic0basic0basic0

Lösungsvorschlag

  1. die Farbkonstanten des Himmels und des Mondes erstellen
  2. eine erste Funktion verfassen, die einen Mond vor einen Himmel zeichnet und diesen als eine Grafik zurückgibt
  3. eine zweite Funktion verfassen, die diese verschiedenen Mondbilder zu einer Grafikliste vereint und zurückgibt
  4. mit dem Ausgabebefehl show_animation die Grafikliste als Film abspielen

Farbkonstanten erstellen

Loading...

Mondfunktion

Erstellen Sie eine Funktion, die einen Mond (Grösse mond_durchmesser) vor einem Himmel (Grösse himmel_seite) als Grafik zurückgibt. Die Beispielausgabe besteht aus 5 verschiedenen Mondgrafiken, wie oben dargestellt.

Loading...

Filmfunktion

Erstellen Sie eine Funktion, die mit der Mondfunktion eine Liste von Mond-Grafiken zurückgibt. Dabei soll die Titelanimation entstehen.

Aufbau

  1. Filmfunktion, die eine Grösse entgegennimmt und eine Liste von Grafiken zurückgibt -> list[Graphic]
    1. Akkumulator als leere Liste erstellen, z. B. film
    2. in einer for-Schleife die Liste mit Grafiken vom wachsenden Mond füllen
    3. die Grafikliste zurückgeben
  2. mit show_animation die Filmfunktion aufrufen und erhaltene Grafikliste als Film abspielen
Loading...

Argumente von show_animation

show_animation akzeptiert folgende drei Argumente:

  • eine Grafikliste als list[Graphic]
  • die Anzeigedauer in Millisekunden als int
  • ein Wahrheitswert bool, der bestimmt, ob die Animation in einer Endlosschleife abgespielt wird (true) oder nicht (false).

Letztere zwei sind optional.

show_animation

Langsamer, die Anzeigedauer jedes Bildes hat sich verdoppelt: von 40 (Standardwert) auf 80 ms.

Die Animation wiederholt sich jetzt nicht mehr endlos oft, sondern hört nach einer Iteration (Wiederholung) auf. Die Grafikliste wird also nur einmal abgespielt.

Toolbox

  1. Fügen Sie die Funktion mond Ihrer Toolbox hinzu, ohne die Funktion wachsender_mond.
  2. Fügen Sie die Funktion wachsender_mond Ihrer Toolbox hinzu. Die Funktion mond importieren Sie dazu aus Ihrer Toolbox.

Damit können Sie in folgenden Aktivitäten beide Funktionen separat verwenden, um weitere Mondbewegungen darzustellen.

Was Sie geübt und gelernt haben

Allgemein

  • Sie können bestehende Programme sinnvoll abändern und erweitern.
  • Sie können Probleme lösen, indem Sie diese in Teilprobleme zerlegen.
  • Sie können Datentypen und -strukturen sinnvoll einsetzen.
  • Sie können Funktionen in Ihre eigene Bibliothek aufnehmen.

Python

  • Sie können Listen erstellen und Elemente, wenn sinnvoll mit Schleifen, einfügen.
  • Sie können Funktionen in Schleifen mit verschiedenen Argumenten aufrufen, um sich leicht ändernde Elemente zu erstellen.

PyTamaro

  • Sie kennen die Funktion show_animation und können sie verwenden, um Grafiken auf verschiedene Art zu animieren.
  • Sie können die drei Parameter von show_animation verwenden, um die Geschwindigkeit und Wiederholung des Films zu ändern.
  • Sie können eine Funktion, die eine andere Funktion benutzt, in die Toolbox aufnehmen.

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

Wachsender Mond

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)