四款表白代码送给喜欢的那个她(他)-- 上

表白代码送给喜欢的那个她(他)

一:无法拒绝的表白流星雨

页面效果:
在这里插入图片描述

Python源码
import turtle as tu
import random as ra
import tkinter as tk
import math
def Meteors():
    tu.setup(1.0, 1.0)
    tu.screensize(1.0, 1.0)    #设置画布大小
    tu.bgcolor('black')  #设置画布颜色
    tu.title("流星雨")
    t = tu.Pen()
    t.hideturtle()              
    colors = ['yellow', 'lightpink', 'cyan', 'aqua']
    class Star():    #流星类
        def __init__(self):
            self.r = ra.randint(50,100)
            self.t = ra.randint(1,3)
            self.x = ra.randint(-2000,1000)   
            self.y = ra.randint(444, 999) 
            self.speed = ra.randint(5,10)     #流星移动速度
            self.color = ra.choice(colors)    #流星的颜色
            self.outline = 1                
        def star(self):                
            t.pensize(self.outline)    #流星的大小
            t.penup()                 
            t.goto(self.x,self.y)      #随机位置
            t.pendown()                
            t.color(self.color)
            t.begin_fill()
            t.fillcolor(self.color)
            t.setheading(-30)
            t.right(self.t)
            t.forward(self.r)
            t.left(self.t)
            t.circle(self.r*math.sin(math.radians(self.t)),180)
            t.left(self.t)
            t.forward(self.r)
            t.end_fill()
        def move(self):                   
            if self.y >= -500:           
                self.y -= self.speed    
                self.x += 2*self.speed  
            else:
                self.r = ra.randint(50,100)
                self.t = ra.randint(1,3)
                self.x = ra.randint(-2000,1000)
                self.y = 444
                self.speed = ra.randint(5,10)
                self.color = ra.choice(colors)
                self.outline = 1
    Stars = []            #用列表保存所有流星
    for i in range(100):
        Stars.append(Star())
    while True:           #开始绘制
        tu.tracer(0)
        t.clear()
        for i in range(100):
            Stars[i].move()
            Stars[i].star()
        tu.update()
    tu.mainloop()

def love():
    root = tk.Tk()
    root.title('❤')
    root.resizable(0, 0)
    root.wm_attributes("-toolwindow", 1)
    screenwidth = root.winfo_screenwidth()
    screenheight = root.winfo_screenheight()
    widths = 300
    heights = 100
    x = (screenwidth - widths) / 2
    y = (screenheight - heights) / 2
    root.geometry('%dx%d+%d+%d' % (widths, heights, x, y))  # 设置在屏幕中居中显示
    tk.Label(root, text='亲爱的,做我女朋友好吗?', width=37, font=('宋体', 12)).place(x=0, y=10)


    def OK():  # 同意按钮
        root.destroy()
        # 同意后显示相应的效果
        Meteors()

    def NO():  # 拒绝按钮,拒绝不会退出,必须同意才可以退出
        tk.messagebox.showwarning('❤', '再给你一次机会!')


    def closeWindow():
        tk.messagebox.showwarning('❤', '逃避是没有用的哦')


    tk.Button(root, text='好哦', width=5, height=1, command=OK).place(x=80, y=50)
    tk.Button(root, text='不要', width=5, height=1, command=NO).place(x=160, y=50)
    root.protocol('WM_DELETE_WINDOW', closeWindow)  # 绑定退出事件
    root.mainloop()

if __name__ == "__main__":
    love()

二:无法拒绝的文字表白

页面效果:
在这里插入图片描述

Python源码
import turtle as tu
import random as ra
import tkinter as tk
import math

def Main():
    tu.setup(1.0, 1.0)
    tu.screensize(1.0, 1.0)    #设置画布大小
    tu.bgcolor('black')  #设置画布颜色
    tu.title("❤")
    t = tu.Pen()
    t.ht()               
    words = ["我爱你",
            "I Love You!",
            "永远爱你",
            "七夕快乐",
            "一生一世一双人",
            "余生我陪你走",
            "陪你到来生",
            "三生有幸来日方长",
            "夜很长;幸有你",
            "爱你的全部",
            "顶峰相见",
            "等你下课",
            "往后余生",
            "Missing You!",
            "做我女朋友好么",
            "你已经在我的未来里了",
            "白头偕老",
            "我喜欢你",
            "好想好想你",
            "想你想你想你",
            "你是我的唯一"
             ]
    class Love():    #文案类
        def __init__(self):
            self.x = ra.randint(-1000,1000)   #文案的横坐标
            self.y = ra.randint(-500,500)     #文案的纵坐标
            self.f = ra.uniform(-3,3)   #文案左右移动
            self.speed = ra.uniform(2,5)     #文案移动速度
            self.word = ra.choice(words)  # 文案
            self.color = "#%02x%02x%02x" % (ra.randint(0,255),ra.randint(0,255),ra.randint(0,255))   #文案的颜色

        def draw(self):                #写每个文案
            t.penup()                  #提笔
            t.goto(self.x,self.y)      #随机位置
            t.pendown()                #落笔
            t.color(self.color)        #文案颜色
            t.write(self.word, align="center", font=("Comic Sans MS", 24, "bold"))
        def move(self):                    #文案移动函数
            if self.y <= 500:            #当文案还在画布中时
                self.y += self.speed     #设置上下移动速度
                self.x -= self.speed * math.sin(self.f)    #设置左右移动速度
            else:                        #当文案漂出了画布时,重新生成一个文案
                self.x = ra.randint(-1000,1000)
                self.y = -500
                self.f = ra.uniform(-3.14, 3.14)  # 文案左右移动呈正弦函数
                self.speed = ra.uniform(2, 5)  # 文案移动速度
                self.word = ra.choice(words)  # 文案
                self.color = "#%02x%02x%02x" % (ra.randint(0, 255), ra.randint(0, 255), ra.randint(0, 255))  # 文案的颜色


    class Ball():    #彩球类
        def __init__(self):
            self.r = ra.uniform(2,5)       #彩球的半径
            self.x = ra.randint(-1000,1000)   #彩球的横坐标
            self.y = ra.randint(-500,500)     #彩球的纵坐标
            self.speed = ra.uniform(2,10)     #彩球移动速度
            self.color = "#%02x%02x%02x" % (ra.randint(0,255),ra.randint(0,255),ra.randint(0,255))    #彩球的颜色
            self.outline = 10                #彩球的大小
        def draw(self):                #画每个彩球
            x=self.r                   #彩球的半径
            t.pensize(self.outline)    #彩球的大小
            t.penup()                  #提笔
            t.goto(self.x,self.y)      #随机位置
            t.pendown()                #落笔
            t.color(self.color)        #彩球颜色
            t.begin_fill()
            t.fillcolor(self.color)
            t.circle(x)

        def move(self):                    #彩球移动函数
            if self.y >= -500:            #当彩球还在画布中时
                self.y -= self.speed     #设置上下移动速度
            else:                        #当彩球漂出了画布时,重新生成一个彩球
                self.r = ra.uniform(2,3)
                self.x = ra.randint(-1000,1000)
                self.y = 500
                self.speed = ra.uniform(2,10)
                self.color = "#%02x%02x%02x" % (ra.randint(0,255),ra.randint(0,255),ra.randint(0,255))
                self.outline = 10

    Loves = []            #用列表保存所有文案
    for i in range(595):
        Loves.append(Love())
        Loves.append(Ball())
        Loves.append(Ball())
    while True:           #开始绘制
        tu.tracer(0)
        t.clear()
        for i in range(199):    #66个漂浮的文案
            Loves[i].move()
            Loves[i].draw()
        tu.update()
    tu.mainloop()

# 主函数
if __name__ == '__main__':
    root = tk.Tk()
    root.title('❤')
    root.resizable(0, 0)
    screenwidth = root.winfo_screenwidth()
    screenheight = root.winfo_screenheight()
    widths = 300
    heights = 100
    x = (screenwidth - widths) / 2
    y = (screenheight - heights) / 2 - 66
    root.geometry('%dx%d+%d+%d' % (widths, heights, x, y))  # 设置在屏幕中居中显示
    tk.Label(root, text='亲爱的,做我女朋友好吗?', width=37, font=('宋体', 12)).place(x=0, y=10)


    def OK():  # 同意按钮
        root.destroy()
        Main()  # 同意后显示满屏飘字表白代码
        
    def NO():  # 拒绝按钮,拒绝不会退出,必须同意才可以退出哦~
        tk.messagebox.showwarning('❤', '再给你一次机会!')

    def closeWindow():
        tk.messagebox.showwarning('❤', '逃避是没有用的哦')

    tk.Button(root, text='好哦', width=5, height=1, command=OK).place(x=80, y=50)
    tk.Button(root, text='不要', width=5, height=1, command=NO).place(x=160, y=50)
    root.protocol('WM_DELETE_WINDOW', closeWindow)  # 绑定退出事件
    root.mainloop()
  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

温轻舟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值