1. 程式人生 > 程式設計 >python3實現用turtle模組畫一棵隨機櫻花樹

python3實現用turtle模組畫一棵隨機櫻花樹

廢話不多說了,直接上程式碼吧!

#!/usr/bin/env python
# coding=utf-8
# 畫一棵櫻花
 
 
import turtle
import random
from turtle import *
from time import sleep
 
 
# 畫櫻花的軀幹(60,t)
def tree(branchLen,t):
  sleep(0.0005)
  if branchLen >3:
    if 8<= branchLen <=12:
      if random.randint(0,2) == 0:
        t.color('snow') # 白
      else:
        t.color('lightcoral') # 淡珊瑚色
      t.pensize(branchLen / 3)
    elif branchLen <8:
      if random.randint(0,1) == 0:
        t.color('snow')
      else:
        t.color('lightcoral') # 淡珊瑚色
      t.pensize(branchLen / 2)
    else:
      t.color('sienna') # 赭(zhě)色
      t.pensize(branchLen / 10) # 6
    t.forward(branchLen)
    a = 1.5 * random.random()
    t.right(20*a)
    b = 1.5 * random.random()
    tree(branchLen-10*b,t)
    t.left(40*a)
    tree(branchLen-10*b,t)
    t.right(20*a)
    t.up()
    t.backward(branchLen)
    t.down()
 
# 掉落的花瓣
def petal(m,t):
  for i in range(m):
    a = 200 - 400 * random.random()
    b = 10 - 20 * random.random()
    t.up()
    t.forward(b)
    t.left(90)
    t.forward(a)
    t.down()
    t.color('lightcoral') # 淡珊瑚色
    t.circle(1)
    t.up()
    t.backward(a)
    t.right(90)
    t.backward(b)
 
def main():
  # 繪圖區域
  t = turtle.Turtle()
  # 畫布大小
  w = turtle.Screen()
  t.hideturtle() # 隱藏畫筆
  getscreen().tracer(5,0)
  w.screensize(bg='wheat') # wheat小麥
  t.left(90)
  t.up()
  t.backward(150)
  t.down()
  t.color('sienna')
 
  # 畫櫻花的軀幹
  tree(60,t)
  # 掉落的花瓣
  petal(200,t)
  w.exitonclick()
 
main()

以上這篇python3實現用turtle模組畫一棵隨機櫻花樹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。