Python3,100行代码,写一段新年祝福视频,为新年喝彩。

发布时间:2023年12月19日

1、引言

小屌丝:鱼哥, 这2023年马上就结束了, 是不是要表示表示。
小鱼:我也在思考这个事情。
小屌丝:这还需要思考?
小鱼:那可不,毕竟马上新年了,我不能草率啊。
小屌丝:那你准备怎么表示,表示多少,去哪表示啊?
小鱼:在C站一篇博文。
小屌丝:…
小鱼:不然呢,我还要写几篇啊。
小屌丝:…
小鱼:这个咋样。
小屌丝:…
在这里插入图片描述

小鱼:这表情,不太乐意啊
小屌丝:我还以为你能给会员卡充满呢。
小鱼:这不是你的事情嘛。
小屌丝:…
在这里插入图片描述

小鱼:我想好了,写一个新年祝福视频。
小屌丝:… 这压力给到我了。
小鱼: 嘿嘿~

2、代码示例

2.1 思路

其实这篇的思路,跟这篇《Python3,10行代码,写一个气球运行小游戏,再也不无聊了。》的思路差不多。
这里就不在赘述,如果不太了解,那直接跳转到这一篇,查看即可。

2.2 介绍

2.2.1 画布

1、画布的高宽及颜色
turtle.screensize(canvwidth=None, canvheight=None, bg=None),

  • canvwidth=None:宽
  • canvheight=None:高
  • bg=None: 背景色

2、画布像素及位置
turtle.setup(width=0.5, height=0.75, startx=None, starty=None),

  • width=“整数”,像素 ;width=“小数”,占据电脑屏幕比例
  • height=“整数”,像素 ;height=“小数”,占据电脑屏幕比例
  • startx, starty :窗口坐标位置

2.2.2 用法

命令用法
turtle.forward(distance)向当前画笔?向移动distance像素长度
turtle.backward(distance)向当前画笔相反?向移动distance像素长度
turtle.right(degree)顺时针移动degree°
turtle.left(degree)逆时针移动degree°
turtle.pendown()移动时绘制图形,缺省时也为绘制
turtle.goto(x,y)将画笔移动到坐标为x,y的位置
turtle.penup()提起笔移动,不绘制图形,?于另起?个地?绘制
turtle.circle()画圆,半径为正(负),表?圆?在画笔的左边(右边)画圆
setx( )将当前x轴移动到指定位置
sety( )将当前y轴移动到指定位置
setheading(angle)设置当前朝向为angle?度
home()设置当前画笔位置为原点,朝向东。
dot( r )绘制?个指定直径和颜?的圆点

学习了turtle的基本用法,接下来,我们就要实践了。

2.3 实例

# -*- coding:utf-8 -*-
# @Time   : 2023-12-17
# @Author : Carl_DJ

'''
实现功能:
    使用turtle绘制五彩气球,并写上新年祝福语
'''


import turtle as tu
import random as ra
import math

#设置画板大小
tu.setup(0.5,0.5)
t = tu.Pen()
#设置气球颜色
colors = ['red','orange','yellow','blue','green','pink','lime']

class Balloon():
    #气球基本设置
    def __init__(self):
        self.r = ra.randint(12,21) #气球的半径
        self.x = ra.randint(-1000,1000) #气球横坐标
        self.y = ra.randint(-500,500) #气球纵坐标
        self.f = ra.uniform(-3.14,3.14) #气球左右移动呈正弦函数
        self.speed = ra.randint(5,10) #气球移动速度
        self.color =ra.choice(colors) #气球的颜色
        self.outline = 1  #气球外框大小

    #气球移动函数
    def Balloon_move(self):
        if self.y <= 500:     # 气球在画布中
            self.y += self.speed  #气球上下移动速度
            self.x += self.speed * math.sin(self.f)  #气球左右移动速度
            self.f += 0.1
    #画气球函数,turtle
    def Balloon_draw(self):
        t.penup()
        t.goto(self.x,self.y)
        t.pendown()
        t.color(self.color)
        t.left(45)
        t.begin_fill()
        t.fillcolor(self.color)
        for i in range(2):
            t.circle(self.r*2,90)
            t.circle(self.r,90)
        t.end_fill()
        t.hideturtle()
        t.circle(self.r,-45)
        t.right(90)
        t.circle(20,90)
#保存所有气球
Balloons = []
for i in range(100):
    Balloons.append(Balloon())
tu.bgcolor('black')
while True:    #气球开始漂浮
    tu.tracer(0)
    t.clear()
    for i in range(100):  #设置气球数量
        Balloons[i].Balloon_move()
        Balloons[i].Balloon_draw()
    # 写祝福语
    tu.penup()
    tu.goto(-250,20)
    tu.pendown()
    tu.color('orange')
    tu.write("新年快乐",font=("黑体",80,"italic"))  #italic :斜体
    # tu.write("祝你快乐每一天!", font=("黑体", 80, "italic"))  # "italic"表示斜体
    tu.hideturtle()
    tu.update()
tu.mainloop()

运行结果

新年祝福+气球

3、总结

看到这里,今天的分享差不多就该结束了。
2023年,也该告一段落了。
新的一年,我们依然要不忘初心,砥砺前行。

关于 turtle 的用法, 也可以参考小鱼的这篇博客

关于气球绘画,可以参考小鱼的这篇博客:

我是小鱼

  • CSDN 博客专家
  • 阿里云 专家博主
  • 51CTO博客专家
  • 51认证讲师等
  • 认证金牌面试官
  • 职场面试培训、职业规划师
  • 多个国内主流技术社区的认证专家博主
  • 多款主流产品(阿里云等)测评一、二等奖获得者

关注小鱼,带你学习更多更专业更前言的人工智能相关技术。

文章来源:https://blog.csdn.net/wuyoudeyuer/article/details/135044723
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。