Python表白系列02-绘制表白树脚本

2022-06-28  本文已影响0人  Tony_Pm

序言

人生有四然,分别是来是偶然,去是必然,尽其当然,顺其自然。

实战

安装模块: pip install turtle

爱心表白树脚本,直接运行就可以。后面有展示的效果,记得点赞👍+ 关注呀!感谢!
import turtle
import random

def love(x,y):
    lv=turtle.Turtle()

    lv.hideturtle()

    lv.up()

    lv.goto(x,y)#定位到(x,y)

    def curvemove():#画圆弧
        for i in range(20):
            lv.right(10)
            lv.forward(2)
    lv.color('red','pink')

    lv.speed(10000000)

    lv.pensize(1)

    #开始画爱心lalala

    lv.down()

    lv.begin_fill()

    lv.left(140)

    lv.forward(22)

    curvemove()

    lv.left(120)

    curvemove()

    lv.forward(22)

    lv.write("❥",font=("Arial",12,"normal"),align="center")#写上表白的人的名字

    lv.left(140)#画完复位

    lv.end_fill()

def tree(branchLen,t):
    if branchLen > 5:#剩余树枝太少要结束递归
        if branchLen<20:

            t.color("green")

            t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))

            t.down()

            t.forward(branchLen)

            love(t.xcor(),t.ycor())#传输现在turtle的坐标

            t.up()

            t.backward(branchLen)

            t.color("brown")

            return

        t.pensize(random.uniform((branchLen+5)/4-2,(branchLen+6)/4+5))

        t.down()

        t.forward(branchLen)

        # 以下递归

        ang=random.uniform(15,45)

        t.right(ang)

        tree(branchLen-random.uniform(12,16),t)#随机决定减小长度

        t.left(2*ang)

        tree(branchLen-random.uniform(12,16),t)#随机决定减小长度

        t.right(ang)

        t.up()

        t.backward(branchLen)

myWin = turtle.Screen()

t = turtle.Turtle()

t.hideturtle()

t.speed(1000)

t.left(90)

t.up()

t.backward(200)

t.down()

t.color("brown")

t.pensize(32)

t.forward(60)

tree(100,t)

myWin.exitonclick()

效果展示

image.png

如果本文对你学习有所帮助-可以点赞👍+ 关注!将持续更新更多新的文章。

上一篇 下一篇

猜你喜欢

热点阅读