【Turtle库】灯笼

Turtle库灯笼绘制总结

Turtle库是Python中一个非常有趣且直观的绘图库,它允许用户通过编程的方式来绘制各种复杂的图形。在使用Turtle库绘制灯笼的过程中,我们不仅能够体验到编程的乐趣,还能够深入理解计算机图形学的基本原理。

通过绘制灯笼,我们学会了如何控制Turtle的移动、旋转以及颜色设置等基本操作。在绘制过程中,我们还需要考虑如何合理地分解灯笼的形状,以便通过Turtle的基本命令来实现。这锻炼了我们的逻辑思维和分解问题的能力。

此外,绘制灯笼还让我们对传统文化有了更深的了解。灯笼作为中国传统文化的重要元素,具有丰富的象征意义和文化内涵。通过编程绘制灯笼,我们不仅能够欣赏到其美丽的外形,还能够感受到其中蕴含的深厚文化底蕴。

import os
import pygame
import turtle as t 
 
#播放音乐
pygame.mixer.init()
pygame.mixer.music.load(r"C:\Users\13604\Desktop\code\天下.mp3") 
pygame.mixer.music.set_volume(0.5) 
pygame.mixer.music.play()
##画外轮廓
t.title('元宵节字谜灯笼')
t.setup(startx=0, starty = 0)
#画灯笼提线
t.penup()
t.goto(-50, 180)
t.pendown()
t.left(100)
t.pensize(2)
t.color('orangered')
t.circle(-15, 80)
t.right(140)
t.forward(20)
#画灯笼盖
t.penup()
t.goto(-57, 179)
t.pendown()
t.left(120)
t.pensize(1)
#t.pencolor('gold')
t.pencolor('#fedf08')
t.fillcolor('#fedf08')
#t.pencolor('orange')
t.begin_fill()
t.forward(14)
t.right(15)
t.forward(20)
t.right(165)
t.forward(52)
t.goto(-57, 179)
t.end_fill()
t.penup()
t.goto(-78, 174)
t.pendown()
t.left(135)
t.pencolor('#feb209')
t.fillcolor('#feb209')
t.begin_fill()
t.forward(5)
t.left(45)
t.forward(47)
t.goto(-22, 174)
t.end_fill()
#红色的柱子
t.penup()
t.goto(-70, 170)
t.pendown()
t.color('red')
t.begin_fill()
t.right(90)
t.forward(10)
t.left(90)
t.forward(40)
t.left(90)
t.forward(10)
t.end_fill()
def zz(x):
    t.penup()
    t.color('#feb209')
    t.pensize(1)
    t.begin_fill()
    t.goto(x, 160)
    t.forward(10)
    t.right(90)
    t.forward(3)
    t.right(90)
    t.forward(10)
    t.right(90)
    t.forward(3)
    t.end_fill()
    t.right(90)
zz(-64)  #第一根柱子
zz(-55)  #第二根柱子
zz(-45)  #第三根柱子
zz(-37)  #第四根柱子
#棕色的柱子
t.penup()
t.goto(-74, 160)
t.pendown()
t.color('#7f4e1e')
t.left(90)
t.begin_fill()
t.circle(2, 90)
t.forward(5)
t.left(90)
t.forward(52)
t.left(90)
t.forward(5)
t.circle(2, 90)
t.forward(50)
t.end_fill()
 
#灯笼外壳
t.penup()
t.goto(-76, 153)
t.pendown()
t.begin_fill()
t.color('orangered')
t.circle(30, 90)
t.forward(70)
t.circle(30,90)
t.forward(52)
t.circle(30, 90)
t.forward(70)
t.circle(30, 90)
t.end_fill()
#棕色的柱子
t.penup()
t.goto(-74, 23)
t.pendown()
t.color('#7f4e1e')
#t.left(90)
t.begin_fill()
t.circle(2, 90)
t.forward(5)
t.left(90)
t.forward(52)
t.left(90)
t.forward(5)
t.circle(2, 90)
t.forward(50)
t.end_fill()
#黄色的线
t.penup()
t.goto(-50, 15)
t.pendown()
t.left(90)
t.color('yellow')
t.pensize(1)
t.forward(25)
#玫红色的球
t.right(90)
t.color('red')
t.begin_fill()
t.circle(8, 360)
t.end_fill()
#画流苏
t.penup()
t.goto(-50, -26)
t.pendown()
t.begin_fill()
t.color('orangered')
t.circle(9, 90)
t.forward(80)
t.left(90)
t.forward(18)
t.left(90)
t.forward(80)
t.circle(9, 90)
t.end_fill()
#画流苏中黄色的圈
t.penup()
t.goto(-59, -42)
t.left(90)
t.pendown()
t.begin_fill()
t.color('#fedf08')
t.forward(10)
t.left(90)
t.forward(18)
t.left(90)
t.forward(10)
t.left(90)
t.forward(18)
t.end_fill()
 
#中文
t.hideturtle()
t.penup()
t.goto(-72, 120)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('猜灯谜', font=('Comic Sans', 11, 'normal'))
t.penup()
t.goto(-87, 91)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('白糖梅子真稀奇', font=('Times New Roman', 10, 'normal'))
t.penup()
t.goto(-87, 65)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('元宵佳节必品尝', font=('Times New Roman', 10, 'normal'))
t.penup()
t.goto(-84, 40)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('(打 一 成 语)', font=('Times New Roman', 10, 'normal'))
t.delay(50)
def write_1():
    #元
    t.penup()
    t.goto(90, 150)
    t.pendown()
    t.pensize(8)
    t.pencolor('red')
    #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
    t.write('天', font=('Times New Roman', 18, 'normal'))
    #宵
    t.penup()
    t.goto(90, 120)
    t.pendown()
    t.pensize(8)
    t.pencolor('red')
    #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
    t.write('下', font=('Times New Roman', 18, 'normal'))
    #节
    t.penup()
    t.goto(90, 90)
    t.pendown()
    t.pensize(8)
    t.pencolor('red')
    #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
    t.write('太', font=('Times New Roman', 18, 'normal'))
    #快
    t.penup()
    t.goto(90, 60)
    t.pendown()
    t.pensize(8)
    t.pencolor('red')
    #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
    t.write('平', font=('Times New Roman', 18, 'normal'))
    #乐
    t.penup()
    t.goto(90, 30)
    t.pendown()
    t.pensize(8)
    t.pencolor('red')
    #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
    t.write('升', font=('Times New Roman', 18, 'normal'))
def write_2():
    #元
    t.penup()
    t.goto(150, 150)
    t.pendown()
    t.pensize(8)
    t.pencolor('red')
    #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
    t.write('同', font=('Times New Roman', 18, 'normal'))
    #宵
    t.penup()
    t.goto(150, 120)
    t.pendown()
    t.pensize(8)
    t.pencolor('red')
    #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
    t.write('猜', font=('Times New Roman', 18, 'normal'))
    #节
    t.penup()
    t.goto(150, 90)
    t.pendown()
    t.pensize(8)
    t.pencolor('red')
    #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
    t.write('元', font=('Times New Roman', 18, 'normal'))
    #快
    t.penup()
    t.goto(150, 60)
    t.pendown()
    t.pensize(8)
    t.pencolor('red')
    #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
    t.write('宵', font=('Times New Roman', 18, 'normal'))
    #乐
    t.penup()
    t.goto(150, 30)
    t.pendown()
    t.pensize(8)
    t.pencolor('red')
    #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
    t.write('谜', font=('Times New Roman', 18, 'normal'))
write_1()
write_1()
write_1()
write_2()
write_2()
write_2()
t.penup()
t.goto(-280, -200)
t.pendown()
t.pensize(8)
t.pencolor('red')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('Happy Lantern Festival !', font=('Times New Roman', 15, 'normal'))

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zouia Gail(修行中)

你的鼓励是对我创作的最大支持

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

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

打赏作者

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

抵扣说明:

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

余额充值