Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import turtle as trtl
- import random as rand
- wn = trtl.Screen()
- list_of_colors = ["blue", "red", "yellow", "orange"]
- tree = trtl.Turtle()
- tree.penup()
- tree.hideturtle()
- tree.speed(0)
- tree.goto(0,200)
- # draw christmas tree
- # left side
- tree.pendown()
- tree.hideturtle()
- distance = 100
- tree.setheading(225)
- tree.fillcolor("green")
- tree.begin_fill()
- for num in range(4):
- tree.forward(distance)
- distance = distance + 50
- tree.setheading(0)
- tree.forward(50)
- tree.setheading(225)
- tree.setheading(0)
- tree.forward(650)
- tree.setheading(135)
- tree.pendown()
- distance = 250
- for num in range(3):
- tree.forward(distance)
- distance = distance - 50
- tree.setheading(0)
- tree.forward(50)
- tree.setheading(135)
- tree.forward(100)
- tree.end_fill()
- tree.penup()
- tree.goto(5,190)
- tree.pendown()
- tree.setheading(110)
- tree.pencolor("yellow")
- tree.fillcolor("yellow")
- tree.begin_fill()
- for num in range(5):
- tree.forward(120)
- tree.right(144)
- tree.end_fill()
- # vertices
- def randompoint(vertex1, vertex2, vertex3):
- randomnumber1, randomnumber2 = [rand.random() for num in range(2)]
- if randomnumber1 + randomnumber2 > 1:
- randomnumber1 = 1 - randomnumber1
- randomnumber2 = 1 - randomnumber2
- randomnumber3 = 1 - randomnumber1 - randomnumber2
- x = randomnumber1 * vertex1[0] + randomnumber2 * vertex2[0] + randomnumber3 * vertex3[0]
- y = randomnumber1 * vertex1[1] + randomnumber2 * vertex2[1] + randomnumber3 * vertex3[1]
- return x, y
- vertex1 = (5, 130)
- vertex2 = (-280, -290)
- vertex3 = (290, -290)
- random_point = randompoint(vertex1, vertex2, vertex3)
- def draw_ornament(x,y):
- ornament_color = rand.choice(list_of_colors)
- ornament_size = rand.randint(15,30)
- # new_xpos = rand.randint(-50,50)
- # new_ypos = rand.randint(-300,150)
- ornament.pencolor("black")
- ornament.fillcolor(ornament_color)
- ornament.begin_fill()
- ornament.circle(ornament_size)
- ornament.end_fill()
- ornament.penup()
- ornament.goto(x,y)
- ornament.pendown()
- def clear_words(x,y):
- text.clear()
- text = trtl.Turtle()
- text.hideturtle()
- fontsize = 20
- FONT = ('Arial', fontsize, 'normal')
- text.pencolor("black")
- text.penup()
- text.goto(-100,-50)
- text.pendown()
- text.write('Merry Christmas!', font=FONT)
- text.penup()
- text.goto(-150,-100)
- text.pendown()
- text.write('Click To Reveal Ornaments', font=FONT)
- def callback(x,y):
- global random_point
- randompoint(vertex1, vertex2, vertex3)
- draw_ornament(x,y)
- clear_words(x,y)
- ornament = trtl.Turtle()
- ornament.hideturtle()
- wn.onclick(callback)
- # draw ornaments
- ornament.speed(0)
- # wn.onclick(draw_ornament)
- wn = trtl.Screen()
- wn.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment