At My Fingertips

Rapid Playground

Documentation

Schneemann

Zerlegen

Primitiven

  • PyTamaro iconellipse oder PyTamaro iconcircular_sector
    • Kopf
    • Bauch
    • Knöpfe
    • Augen
    • Mund
  • PyTamaro icontriangle
    • Nase
  • PyTamaro iconrectangle
    • Hintergrund

Vorgehen

Eine gute Methode ist, zuerst die Grobstrukturen zu legen und dann immer weiter zu verfeinern. So haben auf jeden Fall alle ein Produkt (den Schneemann) und jede*r kann danach selbst bestimmen, was und wie weit man noch verfeinern will.

Beim Basisschneemann bauen wir

  1. die zwei Schneebälle: Kopf und Bauch,
  2. legen diese dann aufeinander
  3. und stellen Sie vor den Hintergrund.

Schneemann_basic

Basisschneemann

Bauen Sie den Basisschneemann: Ersetzen Sie ... und # TODO mit Ihrem Code.

Der Beispielschneemann benutzt folgende Dimensionen und RGB-Werte:

  • Kopfdurchmesser = 200p
  • Bauchdurchmesser = 200p * 1.5
  • Hintergrundbreite = 200p * 2
  • Hintergrundhöhe = 200p * 3
  • RGB-Werte für die Schneefarbe: 243, 243, 234
  • RGB-Werte für die Hintergrundfarbe: 100, 200, 250

Kommentare zu den Dimensionen

Das p in 200p dürfen Sie im Code nicht schreiben, es steht für Pixel. 200 * 1.5: Python rechnet mit den Befehlen + - * /, dann müssen Sie nicht.

Loading...

Musterlösung

from pytamaro import(
    rgb_color, ellipse, rectangle,
    above, overlay,
    show_graphic
)
# Eingabe / Grundeinstellungen
farbe_schnee = rgb_color(243, 243, 234)
farbe_hintergrund = rgb_color(100, 200, 250)

kopf_durchmesser = 200
bauch_durchmesser = kopf_durchmesser * 1.5

# Eingabe / Basiselemente
kopf_basic = ellipse(kopf_durchmesser, kopf_durchmesser, farbe_schnee)
bauch_basic = ellipse(bauch_durchmesser, bauch_durchmesser, farbe_schnee)
hintergrund_basic = rectangle(
    kopf_durchmesser * 2, 
    kopf_durchmesser * 3, 
    farbe_hintergrund
)

# Verarbeitung: Zusammenbau (Kopf, Bauch, Hintergrund)
schneemann_basic = overlay(
    above(kopf_basic, bauch_basic),
    hintergrund_basic
)

# Ausgabe
show_graphic(schneemann_basic)

Knöpfe

Benutzen Sie nun folgende Codefelder, um jeweils die Verziehrungseinzelteile herzustellen, dem Schneemann hinzuzufügen, und dann zu überprüfen.

Fügen Sie Knöpfe hinzu, mindestens 4, der Beispielschneemann hat:

  • 6 Knöpfe
  • Durchmesser: 200 / 10
  • Abstand: 200 / 10
  • RGB-Werte für die Knopffarbe: 50, 50, 50
Loading...
Loading...
Loading...
Loading...

Möchten Sie einen Tipp?

Für den Tipp zu unsichtbaren Abständen klicken Sie auf das schwarze Dreieck links.
  • Legen Sie eine folgender Figuren zwischen die Knöpfe, um einen unsichtbaren Abstand zu generieren
    • irgendeine Figur mit der Farbe PyTamaro icontransparent mit den richtigen Dimensionen
    • oder irgendeine Figur mit der richtigen Höhe aber einer Breite von 0
    • oder eine passende Figur in der Farbe des Hintergrunds

Zusatzfrage

Bei den Augen, aber auch beim Lächeln und der Nase, da man diese (z. B. mittels unsichtbaren Zusatzgrafiken) etwas herumschieben muss. Zudem müssen Sie ja die Augen und den Mund noch etwas versetzt auf den Kopf setzen, da können Sie auch die gleichen Tricks brauchen.

Mit Verdoppelung:

from pytamaro import transparent, above, magenta

# Grundeinstellungen
knopf_durchmesser = kopf_durchmesser / 10
knopf_farbe = rgb_color(50, 50, 50)
knopf = ellipse(knopf_durchmesser, knopf_durchmesser, knopf_farbe)
knopf_abstand = ellipse(knopf_durchmesser, knopf_durchmesser, transparent)

# Verarbeitung
k_ = above(knopf, knopf_abstand) # 1 Knopf über 1 Abstand
k_k_ = above(k_, k_) # 1x 'Kopf und Abstand' über 1x 'Kopf und Abstand'
k_k_k_ = above(k_k_, k_) # 2x 'Kopf und Abstand' über 1x 'Kopf und Abstand'
k_k_k_k_ = above(k_k_k_, k_) # 3x 'Kopf und Abstand' über 1x 'Kopf und Abstand'
k_k_k_k_k = above(k_k_k_k_, knopf) # 4x 'Kopf und Abstand' über 1 Knopf
knoepfe = k_k_k_k_k

bauch_und_knoepfe = overlay(knoepfe, bauch_basic)

# Ausgabe
show_graphic(bauch_und_knoepfe)

Oder mit einer for-Schleife:

# Importe und Grundeinstellungen wie oben

k_ = above(knopf, knopf_abstand) # 1 Knopf über 1 Abstand
knoepfe = knopf # Knopfreihe mit 1 Knopf starten

for i in range(5):
    knoepfe = above(k_, knoepfe) # 5x einen Knopf mit Abstand hinzufügen

bauch_und_knoepfe = overlay(knoepfe, bauch_basic)

show_graphic(bauch_und_knoepfe)

Folgende Schneemannteile bieten keine Musterlösungen mehr.

Augen

Der Beispielschneemann hat:

  • Augenfarbe und -grösse identisch mit denen der Knöpfe
  • der Augenabstand ist auch identisch mit der Augengrösse
Loading...

Nase

Der Beispielschneemann benutzt:

  • Nasenseite = 200 / 2
  • Nasenspitz = 20°
  • RGB-Werte: 255, 163, 67
Loading...

Mund

Die Mundsteine sind nur 80% so gross wie die Knöpfe, haben aber dieselbe Farbe.

Loading...

Eigenes

Fügen Sie z. B. Hut, Arme, Füsse, Herz, Schal etc. hinzu. Viel Spass!

Schneemann_angezogen

Loading...

Was Sie geübt und gelernt haben

  • Sie können eine Grafik in seine Einzelteile zerlegen.
  • Sie können die Grundbausteine erkennen und sich zuerst auf das Wesentliche konzentrieren.
  • Sie können unsichtbare Hilfsgrafiken benutzen, um sichtbare Grafiken zu positionieren.
  • Sie können Variablen benutzen, um Ihren Code übersichtlich zu halten.
  • Sie können Variablen benutzen, um Codestücke wiederzuverwenden.
  • Sie können viele verschiedene Grafiken zu einem Ganzen vereinen.

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

Schneemann

Logo of PyTamaro

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

Privacy PolicyPlatform Version 320e1c5 (Thu, 16 May 2024 14:11:39 GMT)