Beispiel und Aufgabe

"""
Kreis springen wieder hinauf (mit if)
Sebastian Forster (fts)
4.12.2018
"""
from appJar import gui
import random

def kreis(x,y,r):
    return canvas.create_oval(x-r, y-r, x+r, y+r, width=3)

def bewegeKreise():
    for kreis in kreise:
        canvas.move(kreis, 0.1, 2)
        x = canvas.coords(kreis)[0]
        if x > 800:
            canvas.move(kreis, -800, 0);
        y = canvas.coords(kreis)[1]            
        if y > 600:
            canvas.move(kreis, 0, -600);

# Vorbereiten
app=gui()
app.setSize(800,600)
canvas = app.addCanvas("c1")

kreise = []

i = 0
while i < 100:
    x = random.randint(0, 800)
    y = random.randint(0, 600) 
    k = kreis(x, y, 5)
    kreise.append(k)
    i = i + 1

# Funktion für Animation registrieren
app.registerEvent(bewegeKreise)

# Intervall auf 10 ms setzen
app.setPollTime(100)

# Anzeigen
app.go()
"""
Kreis springen wieder hinauf (mit if-elif-else)
Sebastian Forster (fts)
4.12.2018
"""
from appJar import gui
import random

def kreis(x,y,r):
    return canvas.create_oval(x-r, y-r, x+r, y+r, width=3)

def bewegeKreise():
    for kreis in kreise:        
        x = canvas.coords(kreis)[0]
        y = canvas.coords(kreis)[1]    
        if x > 800:
            canvas.move(kreis, -800, 0);                
        elif y > 600:
            canvas.move(kreis, 0, -600);
        else:
            canvas.move(kreis, 0.1, 2)

# Vorbereiten
app=gui()
app.setSize(800,600)
canvas = app.addCanvas("c1")

kreise = []

i = 0
while i < 100:
    x = random.randint(0, 800)
    y = random.randint(0, 600) 
    k = kreis(x, y, 5)
    kreise.append(k)
    i = i + 1

# Funktion für Animation registrieren
app.registerEvent(bewegeKreise)

# Intervall auf 10 ms setzen
app.setPollTime(100)

# Anzeigen
app.go()

Lass es immer weiter schneien! Passe dein Programm an: Schneeflocken welche unten angekommen sind, sollen wieder nach oben verschoben werden.