Lmmso-Loser 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 122|回复: 0

python实现樱花

[复制链接]
  • TA的每日心情
    无聊
    昨天 18:58
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    177

    主题

    22

    回帖

    1541

    积分

    管理员

    积分
    1541
    发表于 2023-1-17 10:58:54 | 显示全部楼层 |阅读模式 来自 重庆
    python实现樱花
    代码如下:
    1. from turtle import *
    2. from random import *
    3. from math import *
    4. def tree(n, l):
    5.     pd ()  # 下笔
    6.     # 阴影效果
    7.     t = cos ( radians ( heading () + 45 ) ) / 8 + 0.25
    8.     pencolor ( t, t, t )
    9.     pensize ( n / 3 )
    10.     forward ( l )  # 画树枝
    11.     if n > 0:
    12.         b = random () * 15 + 10  # 右分支偏转角度
    13.         c = random () * 15 + 10  # 左分支偏转角度
    14.         d = l * (random () * 0.25 + 0.7)  # 下一个分支的长度
    15.         # 右转一定角度,画右分支
    16.         right ( b )
    17.         tree ( n - 1, d )
    18.         # 左转一定角度,画左分支
    19.         left ( b + c )
    20.         tree ( n - 1, d )
    21.         # 转回来
    22.         right ( c )
    23.     else:
    24.         # 画叶子
    25.         right ( 90 )
    26.         n = cos ( radians ( heading () - 45 ) ) / 4 + 0.5
    27.         ran = random ()
    28.         # 这里相比于原来随机添加了填充的圆圈,让樱花叶子看起来更多一点
    29.         if (ran > 0.7):
    30.             begin_fill ()
    31.             circle ( 3 )
    32.             fillcolor ( 'pink' )
    33.         # 把原来随机生成的叶子换成了统一的粉色
    34.         pencolor ( "pink" )
    35.         circle ( 3 )
    36.         if (ran > 0.7):
    37.             end_fill ()
    38.         left ( 90 )
    39.         # 添加0.3倍的飘落叶子
    40.         if (random () > 0.7):
    41.             pu ()
    42.             # 飘落
    43.             t = heading ()
    44.             an = -40 + random () * 40
    45.             setheading ( an )
    46.             dis = int ( 800 * random () * 0.5 + 400 * random () * 0.3 + 200 * random () * 0.2 )
    47.             forward ( dis )
    48.             setheading ( t )
    49.             # 画叶子
    50.             pd ()
    51.             right ( 90 )
    52.             n = cos ( radians ( heading () - 45 ) ) / 4 + 0.5
    53.             pencolor ( n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4 )
    54.             circle ( 2 )
    55.             left ( 90 )
    56.             pu ()
    57.             # 返回
    58.             t = heading ()
    59.             setheading ( an )
    60.             backward ( dis )
    61.             setheading ( t )
    62.     pu ()
    63.     backward ( l )  # 退回
    64. bgcolor ( 0.956, 0.9255, 0.9882 )  # 设置背景色(把灰色换成淡紫色)
    65. ht ()  # 隐藏turtle
    66. speed ( 0 )  # 速度 1-10渐进,0 最快
    67. tracer ( 0, 0 )
    68. pu ()  # 抬笔
    69. backward ( 50 )
    70. left ( 90 )  # 左转90度
    71. pu ()  # 抬笔
    72. backward ( 300 )  # 后退300
    73. tree ( 12, 100 )  # 递归7层
    74. done ()
    复制代码
    结果如下:


    免责声明:部分资源来源于如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
    Lmmso-Loser 论坛免责声明
    论坛总版规:
    https://bbs.lmmso.loserc.com/thread-2-1-1.html
    免责声明:
    Lmmso-Loser 论坛发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和网络工具及网络安全分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
    该会员没有填写今日想说内容.
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Loading...

    QQ| 举报中心| 小黑屋| Lmmso-Loser 官方论坛 ( 渝ICP备:2023000236号-1 ) 渝公网安备 XXXXXXXXXXXXXXX号

    GMT+8, 2023-2-9 19:57 , Processed in 0.137821 second(s), 31 queries .

    Powered by Lmmso-Loser Discuz! X3.5 Licensed

    Copyright © 2023-2025, Tencent Cloud.

    快速回复 返回顶部 返回列表