脚本:python实现动态爱心

文章目录

python实现dynamic heart

效果


代码

python 复制代码
import turtle as tu
import random as ra

tu.setup(0.5, 0.5)  # 设置画板大小(小数表示比例,整数表示大小)
tu.screensize(1.0, 1.0)  # 设置屏幕大小
tu.bgcolor('black')  # 设置画布背景颜色
t = tu.Pen()  # 设置画笔
t.ht()  # 隐藏画笔
# colors = ['pink', 'hotpink', 'deeppink', 'lightpink']  # 爱心的颜色列表,可以设置自己喜欢的颜色噢
colors = ['skyblue', 'lightblue', 'blue', 'royalblue'] # 蓝色系
python 复制代码
class Love():  # 爱心类
    def __init__(self, r):  # 初始化
        self.r = r  # 爱心的半径
        self.x = 0 # 爱心的横坐标
        self.y = 120  # 爱心的纵坐标
        self.color = ra.choice(colors)  # 爱心的颜色
        self.outline = 2 # 爱心的外框大小(可不要)

    def draw(self):  # 画爱心函数,就是用turtle画爱心
        t.pensize(self.outline)
        t.penup()
        t.color(self.color)
        t.goto(self.x, self.y)
        t.pendown()
        # t.begin_fill()
        # t.fillcolor('pink')
        t.setheading(120)
        t.circle(self.r, 195)
        t.fd(self.r * 2.4)
        t.lt(90)
        t.fd(self.r * 2.4)
        t.circle(self.r, 195)
        # t.end_fill()

    def change(self):  # 改变爱心的大小(爱心不断增大)
        if self.r <= 100:
            self.r += 1
        else:
            self.r = 1
            self.x = 0
            self.y = 120
            self.c = ra.choice(colors)
python 复制代码
Loves = []  # 爱心列表
for i in range(200):  # 循环增加爱心
    Loves.append(Love(i+1))
while True:  # 开始画爱心
    tu.tracer(0)
    t.clear()
    for i in range(99):
        Loves[i].draw()
        Loves[i].change()
    tu.update()
tu.mainloop()

因为作者不是研究前端的,这是最后一次写基于turtle的绘图。

Reference

动态图制作网页:https://www.matools.com/gif

gif录制软件:https://n802.com/file/16058819-310706385

相关推荐
在坚持一下我可没意见1 分钟前
Spring IoC 入门详解:Bean 注册、注解使用与 @ComponentScan 配置
java·开发语言·后端·spring·rpc·java-ee
十步杀一人_千里不留行3 分钟前
解释器模式:为 LLM 构建迷你 DSL 解释器,实现 Prompt 编排语言
python·prompt·解释器模式
加洛斯11 分钟前
前端小知识003:JS中 == 与 === 的区别
开发语言·前端·javascript
QT 小鲜肉11 分钟前
【Linux常用命令大全】在 Linux 系统下 Git + Vim编辑器常用指令完全指南(亲测有效)
linux·开发语言·c++·笔记·git·编辑器·vim
这儿有一堆花1 小时前
python视觉开发
开发语言·python
普通网友1 小时前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
Jonathan Star2 小时前
JavaScript 中,原型链的**最顶端(终极原型)只有一个——`Object.prototype`
开发语言·javascript·原型模式
普通网友2 小时前
C++中的组合模式
开发语言·c++·算法
q***61502 小时前
PHP进阶-在Ubuntu上搭建LAMP环境教程
开发语言·ubuntu·php
Dneccc2 小时前
Qt5配置MSVC2017
开发语言·qt