Turtle
023_Koch_Snowflake.py
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()
|