Guest User

Untitled

a guest
Jan 7th, 2024
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1.  
  2. import turtle as trtl
  3. import random as rand
  4. wn = trtl.Screen()
  5. list_of_colors = ["blue", "red", "yellow", "orange"]
  6. tree = trtl.Turtle()
  7. tree.penup()
  8. tree.hideturtle()
  9. tree.speed(0)
  10. tree.goto(0,200)
  11.  
  12. # draw christmas tree
  13.  
  14. # left side
  15. tree.pendown()
  16. tree.hideturtle()
  17.  
  18. distance = 100
  19. tree.setheading(225)
  20. tree.fillcolor("green")
  21. tree.begin_fill()
  22.  
  23. for num in range(4):
  24.  
  25. tree.forward(distance)
  26. distance = distance + 50
  27. tree.setheading(0)
  28. tree.forward(50)
  29. tree.setheading(225)
  30.  
  31. tree.setheading(0)
  32. tree.forward(650)
  33.  
  34.  
  35.  
  36. tree.setheading(135)
  37. tree.pendown()
  38.  
  39. distance = 250
  40.  
  41.  
  42. for num in range(3):
  43.  
  44. tree.forward(distance)
  45. distance = distance - 50
  46. tree.setheading(0)
  47. tree.forward(50)
  48. tree.setheading(135)
  49.  
  50. tree.forward(100)
  51.  
  52. tree.end_fill()
  53.  
  54.  
  55. tree.penup()
  56. tree.goto(5,190)
  57. tree.pendown()
  58. tree.setheading(110)
  59. tree.pencolor("yellow")
  60. tree.fillcolor("yellow")
  61. tree.begin_fill()
  62. for num in range(5):
  63.  
  64. tree.forward(120)
  65. tree.right(144)
  66.  
  67. tree.end_fill()
  68.  
  69. # vertices
  70. def randompoint(vertex1, vertex2, vertex3):
  71.  
  72. randomnumber1, randomnumber2 = [rand.random() for num in range(2)]
  73.  
  74. if randomnumber1 + randomnumber2 > 1:
  75. randomnumber1 = 1 - randomnumber1
  76. randomnumber2 = 1 - randomnumber2
  77.  
  78. randomnumber3 = 1 - randomnumber1 - randomnumber2
  79.  
  80. x = randomnumber1 * vertex1[0] + randomnumber2 * vertex2[0] + randomnumber3 * vertex3[0]
  81. y = randomnumber1 * vertex1[1] + randomnumber2 * vertex2[1] + randomnumber3 * vertex3[1]
  82.  
  83. return x, y
  84. vertex1 = (5, 130)
  85. vertex2 = (-280, -290)
  86. vertex3 = (290, -290)
  87. random_point = randompoint(vertex1, vertex2, vertex3)
  88.  
  89. def draw_ornament(x,y):
  90. ornament_color = rand.choice(list_of_colors)
  91. ornament_size = rand.randint(15,30)
  92. # new_xpos = rand.randint(-50,50)
  93. # new_ypos = rand.randint(-300,150)
  94. ornament.pencolor("black")
  95. ornament.fillcolor(ornament_color)
  96. ornament.begin_fill()
  97. ornament.circle(ornament_size)
  98. ornament.end_fill()
  99. ornament.penup()
  100. ornament.goto(x,y)
  101. ornament.pendown()
  102.  
  103.  
  104.  
  105.  
  106. def clear_words(x,y):
  107. text.clear()
  108.  
  109.  
  110. text = trtl.Turtle()
  111. text.hideturtle()
  112. fontsize = 20
  113. FONT = ('Arial', fontsize, 'normal')
  114. text.pencolor("black")
  115. text.penup()
  116. text.goto(-100,-50)
  117. text.pendown()
  118. text.write('Merry Christmas!', font=FONT)
  119. text.penup()
  120. text.goto(-150,-100)
  121. text.pendown()
  122. text.write('Click To Reveal Ornaments', font=FONT)
  123.  
  124. def callback(x,y):
  125. global random_point
  126. randompoint(vertex1, vertex2, vertex3)
  127. draw_ornament(x,y)
  128. clear_words(x,y)
  129.  
  130. ornament = trtl.Turtle()
  131. ornament.hideturtle()
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. wn.onclick(callback)
  140.  
  141.  
  142. # draw ornaments
  143.  
  144.  
  145.  
  146.  
  147.  
  148. ornament.speed(0)
  149.  
  150.  
  151.  
  152.  
  153. # wn.onclick(draw_ornament)
  154.  
  155.  
  156.  
  157.  
  158.  
  159. wn = trtl.Screen()
  160. wn.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment