使用Python的内置的turtle模块来绘制中秋节快乐场景

使用Python的内置的turtle模块来绘制中秋节快乐场景

中秋节,是中国民间的传统节日。每年农历八月十五庆祝。现在使用Python的内置的turtle模块来绘制中秋节快乐场景。先给出效果图:

再给出源码:

import turtle as t
import random as r

# 设置画布
t.setup(width=800, height=600)
t.bgcolor("navy")  # 设置背景色
t.title("中秋节快乐!")

# 函数:绘制月亮
def draw_moon(x, y, radius):
    t.penup()
    t.goto(x, y - radius)  # 移动到圆的底部
    t.pendown()
    t.color("lightyellow")
    t.begin_fill()
    t.circle(radius)  # 绘制圆
    t.end_fill()

# 函数:绘制星星
def draw_star(x, y, size):
    t.penup()
    t.goto(x, y)  # 移动到星星位置
    t.pendown()
    t.color("white")
    t.begin_fill()
    for _ in range(5):  # 绘制五角星
        t.forward(size)
        t.right(144)  # 转角144度
    t.end_fill()

# 绘制立体月饼
def draw_circle(x, y, radius, color):
    t.penup()
    t.goto(x, y - radius)
    t.pendown()
    t.color(color)
    t.begin_fill()
    t.circle(radius)
    t.end_fill()

def draw_3d_mooncake(x, y, radius):
    # 绘制阴影
    draw_circle(x + 8, y - 8, radius, "#D2B48C")
    
    # 绘制月饼主体
    for i in range(radius, 5, -3):
        color = (1 - i/radius, 0.7 - i/(radius*2), 0.4 - i/(radius*3))
        draw_circle(x, y, i, color)
    
    # 绘制月饼表面花纹
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.color("#8B4513")
    t.setheading(0)
    
    # 在中心写"月"字
    t.penup()
    t.goto(x, y - 9)  # 稍微向下调整以使字符居中
    t.color("#8B4513")  # 使用深褐色
    t.write("月", align="center", font=("Arial", 10, "bold"))

# 绘制月亮
draw_moon(200, 230, 50)

# 随机绘制星星
for _ in range(15):
    x = r.randint(-400, 400)  # 随机 x 坐标
    y = r.randint(0, 250)  # 随机 y 坐标
    draw_star(x, y, r.randint(10, 20))  # 随机星星大小

# 绘制立体月饼
#draw_mooncake(-200, -100)
# 绘制立体感月饼
draw_3d_mooncake(-200, -100, 30)
draw_3d_mooncake(-100, -100, 30)

# 绘制贺词
t.penup()
t.goto(0, -250)
t.color("white")
t.pendown()
t.write("祝大家中秋节快乐!", align="center", font=("Arial", 24, "bold"))

# 完成绘制
t.hideturtle()  # 隐藏海龟
t.done()  # 结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值