import random
import os
from util import getTurtleAndScreen
# Koch Snowflake
# CAC, 3/29/2023

def drawKSnowflake(turtle,length,level):
    drawKLine(turtle,length,level)
    turtle.right(120)
    drawKLine(turtle,length,level)
    turtle.right(120)
    drawKLine(turtle,length,level)

def drawKLine(turtle,length,level):
    if level==1:
        turtle.forward(length)
    else:
        l = length/3
        drawKLine(turtle,l,level-1)
        turtle.left(60)
        drawKLine(turtle,l,level-1)
        turtle.right(120)
        drawKLine(turtle,l,level-1)
        turtle.left(60)
        drawKLine(turtle,l,level-1)

def Draw():
    levels = random.randint(1,7)
    title = "Koch Snowflake "+str(levels)
    width = 600
    height = 600
    L = 500
    filename = os.path.basename(__file__)[0:-3]
    turtle, screen = getTurtleAndScreen(title,width,height,filename,moveWorld=True)

    screen.bgcolor("black")
    turtle.color("white")
    turtle.pensize(2)

    # Get everything setup.
    turtle.penup()
    turtle.goto(50,150)
    turtle.setheading(60)
    turtle.pendown()
    drawKSnowflake(turtle,L,levels)

    turtle.penup()

    screen.mainloop()
# ----------------------------------------------------------------
if __name__ == '__main__':
   Draw()
