Der Programm-Code
from gturtle import *
from time import sleep
makeTurtle()
hideTurtle()
def knospe(s):
setPenColor("green")
setFillColor("green")
right(90)
forward(s)
repeat 3:
left(120)
forward(s * 2)
left(180)
forward(s)
right(90)
penUp()
forward(3)
fill()
penDown()
back(3)
right(90)
forward(s)
right(60)
rightArc((s / 1.73 * 2), 240)
right(60)
forward(s)
right(90)
forward(3)
penUp()
fill()
penDown()
left(180)
forward(3)
x = getX()
y = getY()
setPos(x, -218)
setPenColor("dark green")
penWidth(35)
forward(1)
setPos(x, y)
penWidth(1)
def knospenspitze():
s = 3
repeat 10:
penDown()
knospe(s)
s += 1
sleep(0.1)
def wachsen(hoehe):
s = 13
h = -221
repeat hoehe:
penUp()
forward(2)
setFillColor("sky blue")
fill()
back(1)
penDown()
x = getX()
y = getY()
knospe(s)
setPos((x - 5), h)
setPenColor(makeColor(0, 0.99, 0))
if getPixelColorStr() == "skyblue":
heading(90)
forward(10)
h += 1
heading(0)
setPos(x, y)
sleep(0.1)
def halbeknosperechts(farbe):
setPenColor(farbe)
setFillColor(farbe)
forward(44)
right(150)
forward(26)
rightArc((13/ 1.73 * 2), 120)
right(150)
penUp()
forward(5)
fill()
back(5)
left(50)
forward(5)
fill()
back(5)
left(10)
penDown()
def halbeknospelinks(farbe):
setPenColor(farbe)
setFillColor(farbe)
forward(44)
left(150)
forward(26)
leftArc((13/ 1.73 * 2), 120)
left(150)
penUp()
forward(5)
fill()
back(5)
right(50)
forward(5)
fill()
back(5)
right(10)
penDown()
def bluete(color):
r = 0
l = 360
x = getX()
y = getY() - 20
repeat 26:
setPos(x, y)
heading(0)
setPenColor("skyblue")
forward(16)
penWidth(40)
forward(20)
penWidth(1)
back(36)
setPos(x, y + 2)
heading(0)
halbeknosperechts(color)
halbeknospelinks(color)
r += 1
l -= 1
setPos(x, y)
heading(r)
halbeknosperechts("green")
heading(l)
halbeknospelinks("green")
sleep(0.05)
def butterfly():
x = getX()
y = getY()
heading(300)
setPenColor("skyblue")
dot(130)
setPenColor("black")
forward(30)
leftArc(6, 180)
forward(30)
leftArc(6, 180)
left(90)
penUp()
forward(3)
setFillColor("black")
fill()
penDown()
back(3)
right(280)
leftArc(10, 240)
left(220)
leftArc(20, 240)
left(100)
penUp()
forward(5)
setFillColor("turquoise")
fill()
back(5)
right(100)
penDown()
heading(300)
right(90)
forward(1.0445544487)
right(90)
forward(35.9239626545)
right(90)
forward(12)
left(100)
rightArc(10, 240)
right(220)
rightArc(20, 241)
right(100)
penUp()
forward(10)
fill()
back(10)
left(100)
penDown()
setPos(x - 2, y + 1)
setPenColor("dark green")
setFillColor("sky blue")
fill()
setPos(-250, 100)
setPenColor("white")
heading(0)
repeat 2:
leftArc(20, 180)
left(180)
leftArc(20, 180)
right(90)
leftArc(20, 180)
right(90)
penUp()
setPos(-255, 95)
setFillColor("white")
fill()
penDown()
setPenColor("yellow")
setPos(250, 150)
dot(50)
penWidth(3)
repeat 6:
forward(60)
setPos(250, 150)
right(60)
penWidth(1)
setPenColor("dark green")
setFillColor("sky blue")
setPos(-400, -200)
heading(90)
forward(800)
left(180)
forward(20)
left(90)
penUp()
forward(20)
setFillColor("dark green")
fill()
right(90)
forward(380)
right(90)
forward(21)
heading(0)
knospenspitze()
wachsen(140)
bluete("red")
heading(0)
x = -240
y = -197
setPos(x, y)
knospenspitze()
wachsen(70)
bluete("orange")
heading(0)
x = 100
y = -197
setPos(x, y)
knospenspitze()
wachsen(80)
bluete("purple")
heading(0)
x = -170
y = -197
setPos(x, y)
knospenspitze()
wachsen(60)
bluete("pink")
heading(0)
x = 170
y = -197
setPos(x, y)
knospenspitze()
wachsen(90)
bluete("yellow")
setPos(400, -120)
repeat 380:
butterfly()
sleep(0.01)
setPos(-50, 50)
label("ENDE")