美文网首页
Python表白爱情树

Python表白爱情树

作者: 側耳听偑 | 来源:发表于2020-11-24 21:15 被阅读0次

    Python表白爱情树

    from turtle import *
    from random import *
    from math import *
    import turtle
    import time
    
    def tree(n, l):
        pd() # 下笔
        # 阴影效果
        t = cos(radians(heading() + 45)) / 8 + 0.25
        pencolor(t, t, t)
        pensize(n / 3)
        forward(l) # 画树枝
    
    
        if n > 0:
            b = random() * 15 + 10 # 右分支偏转角度
            c = random() * 15 + 10 # 左分支偏转角度
            d = l * (random() * 0.25 + 0.7) # 下一个分支的长度
            # 右转一定角度,画右分支
            right(b)
            tree(n - 1, d)
            # 左转一定角度,画左分支
            left(b + c)
            tree(n - 1, d)
    
            # 转回来
            right(c)
        else:
            # 画叶子
            right(90)
            n = cos(radians(heading() - 45)) / 4 + 0.5
            pencolor(n, n*0.8, n*0.8)
            circle(3)
            left(90)
    
            # 添加0.3倍的飘落叶子
            if(random() > 0.7):
                pu()
                # 飘落
                t = heading()
                an = -40 + random()*40
                setheading(an)
                dis = int(800*random()*0.5 + 400*random()*0.3 + 200*random()*0.2)
                forward(dis)
                setheading(t)
    
    
                # 画叶子
                pd()
                right(90)
                n = cos(radians(heading() - 45)) / 4 + 0.5
                pencolor(n*0.5+0.5, 0.4+n*0.4, 0.4+n*0.4)
                circle(2)
                left(90)
                pu()
    
                #返回
                t = heading()
                setheading(an)
                backward(dis)
                setheading(t)
    
        pu()
        backward(l)# 退回
    
    bgcolor(0.5, 0.5, 0.5) # 背景色
    ht() # 隐藏turtle
    speed(0) # 速度,1-10渐进,0最快
    tracer(0, 0)
    pu() # 抬笔
    backward(100)
    left(90) # 左转90度
    pu() # 抬笔
    backward(300) # 后退300
    tree(12, 100) # 递归7层
    
    def move_pen_position(x, y):
        turtle.hideturtle()  # 隐藏画笔(先)
        turtle.up()  # 提笔
        turtle.goto(x, y)  # 移动画笔到指定起始坐标(窗口中心为0,0)
        turtle.down()  # 下笔
        turtle.showturtle()  # 显示画笔
    
    signature = '我爱你\n就像风走了八百里不问归期'
    name = '❤'
    
    turtle.screensize(800, 600)
    
    turtle.color('red', 'pink')
    time.sleep(2)
    move_pen_position(220, -180)
    turtle.hideturtle()  # 隐藏画笔
    turtle.write(signature, font=('Arial', 20), align="center")
    move_pen_position(220, -220)
    turtle.hideturtle()  # 隐藏画笔
    turtle.color('black', 'pink')
    turtle.write(name, font=('Arial', 20), align="center")
    turtle.done()
    
    done()
    

    相关文章

      网友评论

          本文标题:Python表白爱情树

          本文链接:https://www.haomeiwen.com/subject/lymwiktx.html