python绘制灯笼
2023-03-20 14:54:36 时间
一年一度的元宵节刚刚过去,由于时间关系,在元宵节当天晚上11点多才完成本文灯笼的绘制。这两天又在忙着别的事情,所以现在才跟大家分享。
一、效果展示
在介绍代码之前,先来看下本文的实现效果。
二、代码展示
接下来展示绘制灯笼的全量源代码,如需带音乐版本的源代码和原始音乐,可到”阿黎逸阳的代码“公众号中回复”灯笼“获取。
import os
import pygame
import turtle as t
##画外轮廓
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'))
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
【Python】情人节表白烟花(带声音和文字)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)
相关文章
- Python中的函数与方法 以及Bound Method和Unbound Method
- 一文贯通python文件读取
- Python 中的异步编程:Asyncio
- 7个你现在就该学习Python的理由
- 提高Python运行效率的六个窍门
- Python数据科学:神经网络
- 一篇文章看懂大数据分析就业前景及职能定位
- R和Python中的文本挖掘:8个入门小贴士
- 告诉你为什么Python有点慢,但我却无所谓?
- 专注学习DevOps编程语言Top 5推荐
- Python发送邮件脚本
- Python多进程并行编程实践: mpi4py 的使用
- Python语言在未来的发展前景
- Python vs Ruby: 谁是最好的 web 开发语言?
- Python对Ruby:谁在Web开发领域更胜一筹?
- Python一行代码完成并行任务
- Python开发者2017应该关注的七个类库
- python爬虫入门基本知识
- 在终端中优雅地编写Python
- Python机器学习实战:信用卡欺诈检测