今天是一个半成品
# -*- coding: utf-8 -*-
# @Author : 南方人啦
# @Time : 2021-10-23 14:02
import turtle as t
import math
import random
t.setup(1000,1000,0,0)
# 跳跃函数
def jumpTo(x,y):
t.penup()
t.goto(x,y)
t.pendown()
def sTree(x,y,n,l):
jumpTo(x,y)
t.seth(90)
sakuraT(n,l)
def sakuraT(n,l):
t.pd()
# 阴影效果,改变树枝颜色,越往上颜色越淡
tt = math.cos(math.radians(t.heading() + 45)) / 8 + 0.25
t.pencolor(tt, tt, tt)
t.pensize(n*2)
t.forward(l)
if n>0:
b = random.random() * 15 + 10 # 右分支偏转角度
c = random.random() * 15 + 10 # 左分支偏转角度
d = l * (random.random() * 0.25 + 0.7) # 下一个分支的长度
t.right(b)
sakuraT(n-1,d)
t.left(b+c)
sakuraT(n-1,d)
t.right(c)
else:
t.right(90)
t.pencolor('DeepPink')
t.circle(3)
t.left(90)
t.pu()
t.backward(l)
t.speed(0)
t.bgcolor('Thistle') # 背景色
#通过调节下面这个,就可以控制长几棵树,树长在什么位置,以及树生长的时候大概在哪个生长空间
for i in range(1):
sTree(random.randint(0,0),random.randint(-200,-200),7,100)
pass
t.done()
'''for i in range(2):
sTree(random.randint(-300,300),random.randint(-300,-150),7,100)
pass
t.done()
'''
今天我现在运行的是一棵树,你可以通过改变代码最后一行来改变运行效果,比如多画几棵,选择不同的位置