from turtle import *


# ------------------------------------------------------------
# Exercice 1

# Rectangle
for _ in range(2):
    forward(100)
    left(90)
    forward(50)
    left(90)
done()

# Hexagone
for _ in range(6):
    forward(100)
    left(60)
done()

# Etoile
for _ in range(6):
    forward(100)
    backward(100)
    left(60)
done()

# ------------------------------------------------------------
# Exercice 3

# Papillon
begin_fill() 
goto(100,-100)
goto(200,200)
goto(0,0)
goto(-100,-100)
goto(-200,200)
goto(0,0)
end_fill() 
done()

# Triangle 1
def triangle():
    begin_fill() 
    for _ in range(3):
        forward(100)
        left(120)
    end_fill() 

for _ in range(3):
    triangle()
    left(120)
done()

# Triangle 2, toujours grace à la fonction triangle
for _ in range(3):
    triangle()
    forward(100)
    right(120)
done()

# ying-yang

# disque principal
begin_fill() 
circle(50, 180) 
circle(100, 180) 
circle(50, -180) 
end_fill() 
circle(50, 180) 
circle(100, 180) 

# disque noir du bas
penup()
goto(0, -30)
pendown()
begin_fill() 
circle(20, 360)
end_fill() 

# disque blanc du haut
penup()
goto(0, 70)
pendown()
fillcolor("white")
begin_fill() 
circle(20, 360)
end_fill() 

done()

# ------------------------------------------------------------
# Exercice 4


# Carré noir avec croix blanche

# carré noir
begin_fill()
for _ in range(4):
    forward(100)
    left(90)
end_fill()

goto(50,50)

# Croix
width(15)
color("white")
for _ in range(4):
    forward(20)
    backward(20)
    left(90)
end_fill()

done()

# Point d'interrogation

width(15)
left(90)
circle(-50,180)
circle(-50,60)
circle(50,60)
penup()
forward(50)
pendown()
forward(1)

hideturtle()
done()

# Triangle bord epais

# Triangle epais
width(5)
for _ in range(3):
    forward(100)
    left(120)

# Traits fins
left(30)
width(1)
penup()
forward(58)
left(60)
pendown()
for _ in range(3):
    left(120)
    forward(2.24*25)
    backward(2.24*25)
    
done()


# ------------------------------------------------------------
# Exercice 5 

def rectangle(x_size, y_size):
    for _ in range(2):
        forward(x_size)
        left(90)
        forward(y_size)
        left(90)

# rectangle bleu
color("blue")
begin_fill()
rectangle(50, 100)
end_fill()

forward(100)

# rectangle rouge
color("red")
begin_fill()
rectangle(50, 100)
end_fill()
forward(50)

# Contour
backward(150)

color("black")
rectangle(150, 100)

hideturtle()
done()

# ------------------------------------------------------------
# Exercice 6
# En utilisant les listes pour les couleurs (pas encore vue)

colors = ["violet", "indigo", "blue", "green", "yellow", "orange", "red"]

width(20)
for i in range(7):
    setheading(90)
    color(colors[i])
    pendown()
    circle(20 + 20*i, 180)
    penup()
    goto(20 + 20*i, 0)
    
hideturtle()
done()


