# This program uses the module turtle to draw "turtle graphics"
# For an introduction and examples, read
# https://runestone.academy/runestone/static/thinkcspy/PythonTurtle/toctree.html
# For a summary of the available methods:
# https://runestone.academy/runestone/books/published/thinkcspy/PythonTurtle/SummaryofTurtleMethods.html

import turtle               # allows us to use the turtles library

# Make turtle t draw a square with the given side length
def square(t, side):
    for n in range(4):
        t.forward(side)
        t.left(90)

# Make turtle t draw a spiral.
# The first side should have length = start, the second start+incr, etc.,
# until the length reaches length=end (exclusive).
def spiral(t, start, end, incr):
    if start < end:
        while start <= end:
            t.forward(start)
            t.left(90)
            start += incr
    else:
        while start >= end:
            t.forward(start)
            t.left(90)
            start += incr
    

def main():
    print("This program opens a window with a graphical user interface.")
    wn = turtle.Screen()        # creates a graphics window
    alex = turtle.Turtle()      # create a turtle named alex

    alex.forward(150)           # tell alex to move forward by 150 units
    alex.right(90)               # turn by 90 degrees
    alex.forward(75)            # complete the second side

    beth = turtle.Turtle()      # another turtle
    beth.shape("turtle")        # with another shape
    beth.color("blue")          # and color
    beth.up()                   # pen up
    beth.goto(-200, -100)       # move to given point
    beth.down()                 # pen down
    square(beth, 100)           # draw a square

    # This should draw a spiral
    alex.up()
    alex.goto(-200, 200)
    alex.setheading(0)
    alex.down()
    spiral(alex, 10, 200, 10)
    alex.up()
    alex.goto(100, 100)
    alex.setheading(0)
    alex.down()
    spiral(alex, 200, 0, -5)

    turtle.exitonclick()        # wait for a button click, then close window
    print("The window was closed. Bye!")


if __name__ == "__main__":
    main()