Turtle 08.09
This commit is contained in:
+35
-2
@@ -3,7 +3,7 @@ import turtle
|
||||
def draw_square(t, size):
|
||||
for i in range(4):
|
||||
t.forward(size)
|
||||
t.right(90)
|
||||
t.left(90)
|
||||
|
||||
# draw_square(turtle, 100)
|
||||
|
||||
@@ -29,4 +29,37 @@ def draw_recursive_tree(t, size, größe):
|
||||
t.left(30)
|
||||
t.backward(size)
|
||||
turtle.left(90)
|
||||
draw_recursive_tree(turtle, 100, 5)
|
||||
#draw_recursive_tree(turtle, 100, 5)
|
||||
# Ich möchte einen Code schreiben der erst ein 64 Quadrat zeichnet
|
||||
# und dann rekursiv immer zwei halb so große Quadrate oben links und rechts über das ursprüngliche Quadrat zeichnet.
|
||||
# Bis die Seitenlänge = 1 ist.
|
||||
def draw_recursive_squares(t, length):
|
||||
if length < 1:
|
||||
return
|
||||
|
||||
draw_square(t, length)
|
||||
|
||||
# Position des aktuellen Quadrats
|
||||
x = t.xcor()
|
||||
y = t.ycor()
|
||||
|
||||
# Turtle für oben links
|
||||
left_turtle = t.clone()
|
||||
left_turtle.penup()
|
||||
left_turtle.goto(x - length * 1.5, y + length)
|
||||
left_turtle.pendown()
|
||||
|
||||
# Turtle für oben rechts
|
||||
right_turtle = t.clone()
|
||||
right_turtle.penup()
|
||||
right_turtle.goto(x + length , y + length)
|
||||
right_turtle.pendown()
|
||||
|
||||
# Beide Äste rekursiv weiterführen
|
||||
draw_recursive_squares(left_turtle, length / 2)
|
||||
draw_recursive_squares(right_turtle, length / 2)
|
||||
|
||||
turtle.speed(10)
|
||||
draw_recursive_squares(turtle, 64)
|
||||
|
||||
turtle.done()
|
||||
Reference in New Issue
Block a user