Zastosowanie definicji

Zadanie projektowe

Przykładowy kod projektu

import turtle

# Ustawienia okna
ekran = turtle.Screen()
ekran.bgcolor("lightblue")

t = turtle.Turtle()
t.speed(0)
t.pensize(3)

# ================== FUNKCJA OKNA ==================

def okno(x, y):
    t.penup()
    t.goto(x, y)
    t.setheading(0)
    t.pendown()
    t.fillcolor("lightblue")
    t.begin_fill()

    for i in range(4):
        t.forward(40)
        t.left(90)

    t.end_fill()

    t.penup()
    t.goto(x + 20, y)
    t.setheading(90)
    t.pendown()
    t.forward(40)

    t.penup()
    t.goto(x, y + 20)
    t.setheading(0)
    t.pendown()
    t.forward(40)

# ================== DRZEWO ==================

def drzewo_n(wys, n):
    if n == 0:
        return
    t.forward(wys)

    t.left(30)
    drzewo_n(wys * 0.6, n - 1)

    t.right(60)
    drzewo_n(wys * 0.6, n - 1)

    t.left(30)
    drzewo_n(wys * 0.6, n - 1)

    t.backward(wys)

def drzewo(x, y, wys, n):
    t.penup()
    t.goto(x, y)
    t.setheading(90)
    t.pendown()
    drzewo_n(wys, n)

# Chmurka
def chmurka(x, y):
    t.pencolor("white")
    t.fillcolor("white")

    for i in [0, 25, 50]:
        t.penup()
        t.goto(x + i, y)
        t.setheading(0)
        t.pendown()
        t.begin_fill()
        t.circle(20)
        t.end_fill()

    t.penup()
    t.goto(x + 15, y + 15)
    t.pendown()
    t.begin_fill()
    t.circle(24)
    t.end_fill()


# ================== DOMEK ==================

t.penup()
t.goto(-100, -50)
t.pendown()
t.fillcolor("lightyellow")
t.begin_fill()

for i in range(4):
    t.forward(200)
    t.left(90)

t.end_fill()

t.penup()
t.goto(-100, 150)
t.pendown()
t.fillcolor("red")
t.begin_fill()

t.goto(0, 250)
t.goto(100, 150)
t.goto(-100, 150)

t.end_fill()

t.penup()
t.goto(-25, -50)
t.setheading(90)
t.pendown()
t.fillcolor("brown")
t.begin_fill()

for i in range(2):
    t.forward(90)
    t.right(90)
    t.forward(50)
    t.right(90)

t.end_fill()

t.penup()
t.goto(15, 0)
t.dot(8, "black")

# ================== OKNA ==================

for i in [-75, 35]:
    okno(i, 40)

# ================== SŁOŃCE ==================

t.penup()
t.goto(120, 200)
t.setheading(0)
t.pendown()

t.pencolor("orange")
t.fillcolor("yellow")
t.begin_fill()

start_x = t.xcor()
start_y = t.ycor()

while True:
    t.forward(120)
    t.left(170)
    if abs(t.xcor() - start_x) < 1 and abs(t.ycor() - start_y) < 1:
        break

t.end_fill()

# ================== DRZEWO ==================

t.pencolor("green")
t.pensize(2)
drzewo(-170, -50, 80, 5)

# ================== TRAWA ==================

t.pencolor("green")
t.pensize(3)

for i in range(-300, 300, 25):
    t.penup()
    t.goto(i, -50)
    t.setheading(90)
    t.pendown()

    t.forward(15)
    t.backward(15)

    t.left(30)
    t.forward(15)
    t.backward(15)

    t.right(60)
    t.forward(15)
    t.backward(15)

    t.setheading(0)

chmurka(-100, 220)
chmurka(180, 100)

t.hideturtle()
turtle.done()