Python:绘制雪花动态图

x33g5p2x  于2021-11-21 转载在 Python  
字(1.1k)|赞(0)|评价(0)|浏览(434)

绘制雪花动态图

1、设置函数绘制雪花图;
2、设置函数绘制雪地图;
3、调用两个函数方法。

要求:

  • 控制雪花数量,随机设置雪花颜色RGB,随机设置雪花边数与大小,雪花生成的位置随机飘落。
  • 控制雪地数量,雪地设置为白色,透明度不一样,雪地地址大小随机。
  • 背景为晚上黑色。
  1. import turtle as p
  2. import random
  3. # 创建雪花函数
  4. def snow(snow_count): # snow_count:雪花数量
  5. p.hideturtle() # 隐藏笔
  6. p.speed(600) # 笔速
  7. p.pensize(2)# 笔粗
  8. for i in range(snow_count): #设置颜色RGB
  9. r = random.random()
  10. g = random.random()
  11. b = random.random()
  12. p.pencolor(r, g, b) # 随机颜色
  13. p.pu() # 提笔
  14. p.goto(random.randint(-350, 350), random.randint(1, 270)) # goto笔前进
  15. p.pd() # 落笔
  16. dens = random.randint(6, 10) # 雪花的分叉数
  17. snowsize = random.randint(12, 16) # 单个雪花的大小
  18. for _ in range(dens):
  19. p.forward(snowsize) # 向当前画笔方向移动snowsize像素长度
  20. p.backward(snowsize) # 向当前画笔相反方向移动snowsize像素长度
  21. p.right(360 / dens) # 顺时针移动360 / dens度
  22. # 创建雪地函数
  23. def ground(ground_line_count): # 雪地个数
  24. p.hideturtle()
  25. p.speed(600)
  26. for i in range(ground_line_count):
  27. p.pensize(random.randint(5, 10))
  28. x = random.randint(-400, 350)
  29. y = random.randint(-280, -1)
  30. r = -y / 280
  31. g = -y / 280
  32. b = -y / 280
  33. p.pencolor(r, g, b) # 颜色为白色基调
  34. p.penup()
  35. p.goto(x, y) # 让画笔移动到 x,y位置
  36. p.pendown()
  37. p.forward(random.randint(40, 100)) # 眼当前画笔方向向前移动40~100距离
  38. def main():
  39. p.setup(800, 600, 0, 0)
  40. # p.tracer(False) # 隐藏绘图,直接显示绘画结果
  41. p.bgcolor("black") # 背景黑色
  42. snow(33) # 调用雪花函数
  43. ground(33)# 调用雪地函数
  44. main() # 调用主函数

相关文章