找回密码
 会员注册
查看: 28|回复: 0

Python浪漫520表白代码

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71928
发表于 2024-9-8 16:15:09 | 显示全部楼层 |阅读模式
系列文章序号文章目录直达链接表白系列1无法拒绝的表白界面https://want595.blog.csdn.net/article/details/1347448942满屏飘字表白代码https://want595.blog.csdn.net/article/details/1350373883无限弹窗表白代码https://want595.blog.csdn.net/article/details/1347447114李峋同款可写字版跳动的爱心https://want595.blog.csdn.net/article/details/1347441915流星雨https://want595.blog.csdn.net/article/details/1347474086漂浮爱心https://want595.blog.csdn.net/article/details/1347449297爱心光波https://want595.blog.csdn.net/article/details/1347473658玫瑰花https://want595.blog.csdn.net/article/details/134747447节日系列1新春/跨年烟花秀(2022)https://want595.blog.csdn.net/article/details/128727394烟花秀(2023)https://want595.blog.csdn.net/article/details/135042880粒子烟花https://want595.blog.csdn.net/article/details/1360294202圣诞节圣诞礼物https://want595.blog.csdn.net/article/details/135336583圣诞树(2022)https://want595.blog.csdn.net/article/details/128428985绿色圣诞树(2023)https://want595.blog.csdn.net/article/details/135048607粉色圣诞树(2023)https://want595.blog.csdn.net/article/details/1350430423冬至大雪纷飞https://want595.blog.csdn.net/article/details/1288060174生日生日蛋糕https://want595.blog.csdn.net/article/details/1287397555儿童节五彩气球https://want595.blog.csdn.net/article/details/1287410436国庆节国庆祝福https://want595.blog.csdn.net/article/details/1287409237万圣节万圣礼物https://want595.blog.csdn.net/article/details/1287343958愚人节愚人代码https://want595.blog.csdn.net/article/details/1286969909中秋节浪漫星空https://want595.blog.csdn.net/article/details/12873728410植树节樱花树https://want595.blog.csdn.net/article/details/128700178动漫系列1名侦探柯南系列柯南https://want595.blog.csdn.net/article/details/1347776132喜羊羊与灰太狼系列喜羊羊https://want595.blog.csdn.net/article/details/134778583懒羊羊https://want595.blog.csdn.net/article/details/134847642灰太狼https://want595.blog.csdn.net/article/details/135335303小灰灰https://want595.blog.csdn.net/article/details/135335445小香香https://want595.blog.csdn.net/article/details/1350567833海绵宝宝系列海绵宝宝https://want595.blog.csdn.net/article/details/1348473644哆啦A梦系列哆啦A梦https://want595.blog.csdn.net/article/details/1350378845HelloKitty系列hellokittyhttps://want595.blog.csdn.net/article/details/1353377326Tom&Jerry系列Tom&Jerryhttps://want595.blog.csdn.net/article/details/1353377757草莓熊系列草莓熊https://want595.blog.csdn.net/article/details/1353378328皮卡丘系列迷你皮卡丘https://want595.blog.csdn.net/article/details/135337911高级皮卡丘https://want595.blog.csdn.net/article/details/135337937豪华皮卡丘https://want595.blog.csdn.net/article/details/135337947炫酷系列1  一闪一闪亮星星系列张万森下雪了https://want595.blog.csdn.net/article/details/135336915一闪一闪亮星星https://want595.blog.csdn.net/article/details/1353370492代码雨https://want595.blog.csdn.net/article/details/1350543413七彩花朵https://want595.blog.csdn.net/article/details/13505667043D星空https://want595.blog.csdn.net/article/details/1350565165金榜题名https://want595.blog.csdn.net/article/details/1350561506满天星https://want595.blog.csdn.net/article/details/135056305……目录系列文章前言表白界面跳动的爱心漂浮的爱心满屏表白代码尾声前言520是每年的5月20日,因数字“520”与“我爱你”发音相似而被许多年轻人用作表达爱意的节日。这个节日起源于中国互联网文化,逐渐传递到其他国家和地区。在这一天,情侣们通常会互送礼物、发表情、或者举行浪漫的活动来庆祝爱情。快来领取专属于程序员的浪漫吧!表白界面让人无法拒绝的表白界面!程序设计 importtkinterastkimporttkinter.messageboxroot=tk.Tk()root.title('❤')root.resizable(0,0)root.wm_attributes("-toolwindow",1)screenwidth=root.winfo_screenwidth()screenheight=root.winfo_screenheight()widths=300heights=100x=(screenwidth-widths)/2y=(screenheight-heights)/2root.geometry('%dx%d+%d+%d'%(widths,heights,x,y))#设置在屏幕中居中显示tk.Label(root,text='亲爱的,做我女朋友好吗?',width=37,font=('宋体',12)).place(x=0,y=10)defOK():#同意按钮root.destroy()#同意后显示漂浮爱心defNO():#拒绝按钮,拒绝不会退出,必须同意才可以退出哦~tk.messagebox.showwarning('❤','再给你一次机会!')defcloseWindow():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()程序分析 这段代码使用了Python的Tkinter库来创建GUI界面。在这个程序中,主要有几个组件,如下:tk.Tk():创建一个主窗口;root.title():设置窗口的,这里设置为’❤’;root.resizable(0,0):设置窗口大小不可调整,即禁止用户手动调整窗口大小;root.wm_attributes(“-toolwindow”,1):设置窗口为工具窗口,即没有最大化、最小化和关闭按钮;root.geometry():设置窗口的尺寸和位置,这里设置为在屏幕中居中显示;tk.Label():创建一个标签,用于显示提示信息,这里显示的是“亲爱的,做我女朋友好吗?”;tk.Button():创建两个按钮,分别用于同意和拒绝,分别绑定了OK()和NO()两个函数;root.protocol():绑定退出事件,如果用户尝试直接关闭窗口,会弹出警告窗口提醒逃避是没有用的哦;root.mainloop():程序主循环,保持窗口不关闭。总的来说,这是一个用Python的Tkinter库编写的表白程序,主要功能是显示一个窗口,问用户是否愿意成为自己的女朋友,提供了"好哦"和"不要"两个按钮让用户选择。如果用户选择同意,窗口会关闭,并且出现一个漂浮的爱心效果;如果用户选择不同意,会弹出警告窗口,提醒再给一次机会。同时,如果用户尝试直接关闭这个窗口,也会弹出警告窗口提醒逃避是没有用的哦。 跳动的爱心爆火的跳动的爱心!完整代码见:https://want595.blog.csdn.net/article/details/134744191主要的爱心类  classHeart:def__init__(self,generate_frame=20):self._points=set()#原始爱心坐标集合self._edge_diffusion_points=set()#边缘扩散效果点坐标集合self._center_diffusion_points=set()#中心扩散效果点坐标集合self.all_points={}#每帧动态点坐标self.build(2000)self.random_halo=1000self.generate_frame=generate_frameforframeinrange(generate_frame):self.calc(frame)defbuild(self,number):for_inrange(number):t=random.uniform(0,2*pi)x,y=heart_function(t)self._points.add((x,y))for_x,_yinlist(self._points):for_inrange(3):x,y=scatter_inside(_x,_y,0.05)self._edge_diffusion_points.add((x,y))point_list=list(self._points)for_inrange(4000):x,y=random.choice(point_list)x,y=scatter_inside(x,y,0.17)self._center_diffusion_points.add((x,y))@staticmethoddefcalc_position(x,y,ratio):force=1/(((x-heartx)**2+(y-hearty)**2)**0.520)#魔法参数dx=ratio*force*(x-heartx)+random.randint(-1,1)dy=ratio*force*(y-hearty)+random.randint(-1,1)returnx-dx,y-dydefcalc(self,generate_frame):ratio=10*curve(generate_frame/10*pi)#圆滑的周期的缩放比例halo_radius=int(4+6*(1+curve(generate_frame/10*pi)))halo_number=int(3000+4000*abs(curve(generate_frame/10*pi)**2))all_points=[]heart_halo_point=set()for_inrange(halo_number):t=random.uniform(0,2*pi)x,y=heart_function(t,shrink_ratio=11.6)x,y=shrink(x,y,halo_radius)if(x,y)notinheart_halo_point:heart_halo_point.add((x,y))x+=random.randint(-14,14)y+=random.randint(-14,14)size=random.choice((1,2,2))all_points.append((x,y,size))forx,yinself._points:x,y=self.calc_position(x,y,ratio)size=random.randint(1,3)all_points.append((x,y,size))forx,yinself._edge_diffusion_points:x,y=self.calc_position(x,y,ratio)size=random.randint(1,2)all_points.append((x,y,size))forx,yinself._center_diffusion_points:x,y=self.calc_position(x,y,ratio)size=random.randint(1,2)all_points.append((x,y,size))self.all_points[generate_frame]=all_pointsdefrender(self,render_canvas,render_frame):forx,y,sizeinself.all_points[render_frame%self.generate_frame]:render_canvas.create_rectangle(x,y,x+size,y+size,width=0,fill=heartcolor)'运行运行程序分析  这部分代码主要是用来产生一个爱心的形状,并将这个爱心以一种缓慢流动的方式展示在屏幕上。这里使用了一个叫Heart的类来实现这个功能。具体来说,这个类包含以下几个方法:1.__init__():在Heart类初始化时,产生了一些点来组成原始的爱心形状,并扩展出边缘和中心的爱心效果,最后存储在了_points、_edge_diffusion_points、_center_diffusion_points集合中,在__init__()中还使用了calc()方法,产生和存储了动态点坐标,作为后续展示的依据;2.build():这个方法根据传进来的个数number,随机产生一个坐标点,并计算出由这个坐标点产生的散点点,边缘效果点和中心效果点,并将这些点加入到对应的集合中;3.calc_position():这个方法用来计算动态效果的点的坐标,x和y是原始的爱心点坐标,ratio是一个缩放比例,用来控制点的运动速度和方向。具体实现方式是根据魔法参数(force)计算出坐标点偏移量(dx和dy),将原始坐标减去这个偏移量后得到新坐标;4.calc():这个方法根据传进来的帧号(generate_frame),计算每个点运动后的坐标,位置的大小和数量等参数,产生all_points集合,用于后续窗口展示;5.render():这个方法用于生成窗口显示的效果。根据传进来的画布render_canvas和帧号render_frame,获取动态点(all_points)并将每个点使用create_rectangle()方法在画布上呈现出来,构成了爱心的缓慢流动效果。总的来说,这部分代码实现了爱心动态效果的核心方法,通过呈现散点、边缘效果点和中心效果点,利用计算动态点的坐标,通过缓慢变化的方式构成了耐人寻味的爱心效果展示。漂浮的爱心当然啦,漂浮的爱心也很美!完整代码见:https://want595.blog.csdn.net/article/details/134744929主要的爱心类 classHeart():#每个爱心(爱心类)def__init__(self):self.r=ra.randint(10,15)#爱心的半径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#爱心的外框大小(可不要)defmove(self):#爱心移动函数ifself.y
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 19:28 , Processed in 0.965563 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表