最新要闻
- 刘强东:没离开过
- 百公里最多节油1升 五菱推出超级省油模式:星辰混动率先用上
- 环球热消息:GS5还是PS5?国外网友晒奇葩“山寨”商品
- 环球热头条丨当大厂程序员已开始用AI写代码 人类会被AIGC淘汰吗?
- 【环球新视野】2023年旗舰焊门员!Redmi K60 Pro卖2999不可能了
- 《阿凡达:水之道》全球票房破8亿美元:口碑仍下滑 20亿美元才能回本
- 【播资讯】5.3分口碑扑街的好莱坞大烂片《真人快打》:要拍续集了
- 今日报丨库存严重还是别的?特斯拉上海工厂被曝已停产 官方正式回应不完全准确
- 【全球时快讯】比燃油车更污染!丰田CEO吐槽新能源车愚蠢后:用户最想要的是混动
- 天天观点:Epic喜加一!《死亡搁浅》免费送:立省88元
- 天天即时看!100小时!全球首架C919今日验证飞行:最快2023年春商业运营
- 世界看点:谁能想到?人类历史上第一次抵抗AI:居然会发生在艺术圈
- 全球信息:我国多省雨雪上线!北方局地降温超8℃
- 全球今热点:功耗只有65W!14核心i5-13500偷跑:解锁到154W太生猛了
- 【环球热闻】实拍日本多地暴雪:1.6米高积雪掩埋车辆、14人死亡
- Redmi Buds 4青春版耳机亮相:单耳轻至3.9g 活力4色
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【脚本项目源码】Python制作提升成功率90%的表白神器
前言
今天子川就给大家带来就是的利用Python制作表白神器,让这个寒冷的冬天变得格外温馨,到了年底依然能热情拥抱,也见证了两人情意如昔;记得发给自己的心仪对象,废话不多说直接开整~
开发工具
Python版本:3.6
相关模块:
(资料图片)
random模块
pygame模块
cfg模块
sys模块
tkinter模块
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
文中图片素材实战教程,评论留言获取。.
代码实现
import sysimport cfgimport randomimport pygamefrom tkinter import Tk, messageboxclass Button(pygame.sprite.Sprite):def __init__(self, x, y, width, height, text, fontpath, fontsize, fontcolor, bgcolors, edgecolor, edgesize=1, is_want_to_be_selected=True, screensize=None, **kwargs):pygame.sprite.Sprite.__init__(self)self.rect = pygame.Rect(x, y, width, height)self.text = textself.font = pygame.font.Font(fontpath, fontsize)self.fontcolor = fontcolorself.bgcolors = bgcolorsself.edgecolor = edgecolorself.edgesize = edgesizeself.is_want_tobe_selected = is_want_to_be_selectedself.screensize = screensize#自动根据各种情况将按钮绑定到屏幕def draw(self, screen, mouse_pos):# 鼠标在按钮范围内if self.rect.collidepoint(mouse_pos):# --不想被选中if not self.is_want_tobe_selected:while self.rect.collidepoint(mouse_pos):self.rect.left, self.rect.top = random.randint(0, self.screensize[0]-self.rect.width), random.randint(0, self.screensize[1]-self.rect.height)pygame.draw.rect(screen, self.bgcolors[0], self.rect, 0)pygame.draw.rect(screen, self.edgecolor, self.rect, self.edgesize)# 鼠标不在按钮范围内else:pygame.draw.rect(screen, self.bgcolors[1], self.rect, 0)pygame.draw.rect(screen, self.edgecolor, self.rect, self.edgesize)text_render = self.font.render(self.text, True, self.fontcolor)fontsize = self.font.size(self.text)screen.blit(text_render, (self.rect.x+(self.rect.width-fontsize[0])/2, self.rect.y+(self.rect.height-fontsize[1])/2))#在指定位置显示文字"def showText(screen, text, position, fontpath, fontsize, fontcolor, is_bold=False):font = pygame.font.Font(fontpath, fontsize)font.set_bold(is_bold)text_render = font.render(text, True, fontcolor)screen.blit(text_render, position)
剩余代码
"""主函数"""def main():# 初始化pygame.init()screen = pygame.display.set_mode(cfg.SCREENSIZE, 0, 32)pygame.display.set_icon(pygame.image.load(cfg.ICON_IMAGE_PATH))pygame.display.set_caption("来自一位喜欢你的小哥哥")# 背景音乐pygame.mixer.music.load(cfg.BGM_PATH)pygame.mixer.music.play(-1, 30.0)# biu爱心那个背景图片bg_image = pygame.image.load(cfg.BG_IMAGE_PATH)bg_image = pygame.transform.smoothscale(bg_image, (150, 150))# 实例化两个按钮button_yes = Button(x=20, y=cfg.SCREENSIZE[1]-70, width=120, height=35, text="好呀", fontpath=cfg.FONT_PATH, fontsize=15, fontcolor=cfg.BLACK, edgecolor=cfg.SKYBLUE, edgesize=2, bgcolors=[cfg.DARKGRAY, cfg.GAINSBORO], is_want_to_be_selected=True, screensize=cfg.SCREENSIZE)button_no = Button(x=cfg.SCREENSIZE[0]-140, y=cfg.SCREENSIZE[1]-70, width=120, height=35, text="算了吧", fontpath=cfg.FONT_PATH, fontsize=15, fontcolor=cfg.BLACK, edgecolor=cfg.DARKGRAY, edgesize=1, bgcolors=[cfg.DARKGRAY, cfg.GAINSBORO], is_want_to_be_selected=False, screensize=cfg.SCREENSIZE)# 是否点击了好呀按钮is_agree = False# 主循环clock = pygame.time.Clock()while True:# --背景图片screen.fill(cfg.WHITE)screen.blit(bg_image, (cfg.SCREENSIZE[0]-bg_image.get_height(), 0))# --鼠标事件捕获for event in pygame.event.get():if event.type == pygame.QUIT:# ----没有点击好呀按钮之前不许退出程序if is_agree:pygame.quit()sys.exit()elif event.type == pygame.MOUSEBUTTONDOWN and event.button:if button_yes.rect.collidepoint(pygame.mouse.get_pos()):button_yes.is_selected = Trueroot = Tk()root.withdraw()messagebox.showinfo("", "❤❤❤么么哒❤❤❤")root.destroy()is_agree = True# --显示文字showText(screen=screen, text="小姐姐, 我观察你很久了", position=(40, 50), fontpath=cfg.FONT_PATH, fontsize=25, fontcolor=cfg.BLACK, is_bold=False)showText(screen=screen, text="做我女朋友好不好?", position=(40, 100), fontpath=cfg.FONT_PATH, fontsize=25, fontcolor=cfg.BLACK, is_bold=True)# --显示按钮button_yes.draw(screen, pygame.mouse.get_pos())button_no.draw(screen, pygame.mouse.get_pos())# --刷新pygame.display.update()clock.tick(60)#runif __name__ == "__main__":main()
效果展示
最后
今天的分享到这里就结束了 ,感兴趣的朋友也可以去试试哈
对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/
【脚本项目源码】Python制作提升成功率90%的表白神器
刘强东:没离开过
百公里最多节油1升 五菱推出超级省油模式:星辰混动率先用上
环球热消息:GS5还是PS5?国外网友晒奇葩“山寨”商品
环球热头条丨当大厂程序员已开始用AI写代码 人类会被AIGC淘汰吗?
【环球新视野】2023年旗舰焊门员!Redmi K60 Pro卖2999不可能了
《阿凡达:水之道》全球票房破8亿美元:口碑仍下滑 20亿美元才能回本
【播资讯】5.3分口碑扑街的好莱坞大烂片《真人快打》:要拍续集了
今日报丨库存严重还是别的?特斯拉上海工厂被曝已停产 官方正式回应不完全准确
【全球时快讯】比燃油车更污染!丰田CEO吐槽新能源车愚蠢后:用户最想要的是混动
天天观点:Epic喜加一!《死亡搁浅》免费送:立省88元
天天即时看!100小时!全球首架C919今日验证飞行:最快2023年春商业运营
【天天时快讯】常见sql攻击学习
全球视讯!在同一台主机启动多个FreeSWITCH实例
世界看点:谁能想到?人类历史上第一次抵抗AI:居然会发生在艺术圈
焦点日报:Java开发学习(四十七)----MyBatisPlus删除语句之多记录操作
全球消息!【踩坑】Debian编译安装Podman和Prometheus-podman-exporter
全球信息:我国多省雨雪上线!北方局地降温超8℃
第三章 --------------------XAML的属性和事件
AcWing.7 混合背包问题
每日快讯!统一异常处理——BlockException
环球快资讯丨Codeforces 983 D Arkady and Rectangles 题解
全球今热点:功耗只有65W!14核心i5-13500偷跑:解锁到154W太生猛了
全球视点!教你用JavaScript实现调皮的字母
【新视野】PHP Composer 虚拟依赖包 - 实现按需载入钉钉对应功能模块的 php sdk
全球新动态:Safari浏览器对SVG中的
标签支持不友好,渲染容易错位 【环球热闻】实拍日本多地暴雪:1.6米高积雪掩埋车辆、14人死亡
Redmi Buds 4青春版耳机亮相:单耳轻至3.9g 活力4色
环球快资讯:《阿凡达2》中的“海怪”:原来真的存在于地球!
AcWing241. 楼兰图腾
天天速递!CentOS7配置静态IP
天天快消息!男生考研分到高中母校被班主任监考:网友一句话扎心
天天信息:山东小伙用1个月微缩30倍农村老屋:惟妙惟肖
MAUI新生6.1-Shell导航视觉层次结构
每日播报!2022年优化最差游戏榜单出炉:《巫师3》次世代版上榜
世界通讯!能跑虚幻5特效!Centerpiece机械键盘自带CPU+GPU
环球滚动:康辉被调侃为“天选打工人”:连上六天班、领带惹眼
世界百事通!Redmi K60首款素皮机身揭秘:参照跑车内饰 拟真缝线工艺
上海今起对快递外卖每人每天补贴60元 元旦春节补贴150元
全球观焦点:15.5小时!阿里云史上最长大规模中断:官方公告四大问题
不吃饭光吃补充剂 真的可以避免营养缺乏吗?
历时9个月 时速350高铁成功“穿海入城”
别再说RTX 4090功耗比A卡高了:4K 120帧仅需150W
简讯:权威结果出炉:今年画质最好的游戏有答案了
炉石关服前夕:网易同类卡牌游戏《秘境对决》宣布恢复运营
今日最新!洛谷 P5721 【入门3】循环结构
【pygame游戏】用Python实现一个蔡徐坤大战篮球的小游戏,可还行?【附源码】
环球热议:大货车雪地滑坡 山东小伙神操作“拔草相助”!后续令网友感动
超长寿命TLC闪存 金邦2TB PCIe 4.0硬盘679元:5GB/s速度
热门:再不努力就要归零 2nm工艺成日本半导体最后的机会
教你用JavaScript实现搜索展开
天天新资讯:李斌:创业的没有几个真的是骗子 要多鼓励
AMD 8年真身接连被破 Intel 13代酷睿“开挂“:超频无敌了
【焦点热闻】索尼被质疑虚假宣传:上市两年后 PS5仍不支持8K
中国千年酒文化传承 酒祖杜康白酒大促:礼盒装110两瓶
今日聚焦!李斌再回应蔚来数据泄露:会承担所有责任 哪怕破产也不妥协
环球微动态丨「杂题乱写」AtCoderDP26 题
(二)elasticsearch 源码目录
【新视野】碳纤维纹理后盖!Redmi K60回归硬核设计:刀锋战士理念
速看:无惧严寒!网易严选牛奶绒床品四件套:159元起
新的全国铁路列车运行图实行:石家庄至北京将实现一小时通达
新版以太坊Ethereum库ethersV5.0配合后端Golang1.18实时链接区块链钱包(Metamask/Okc)以及验签操作
环球关注:高速上飞来钢管插进驾驶室:差点害死驾驶员
热消息:联想:小红点会在ThinkPad笔记本上永远存在
天天头条:正式发布前 盒装RTX 4070 Ti线下偷跑:售价感人
天天热资讯!保时捷为Taycan推出全新充电器:充电速度提升一倍 改装费用上万
环球通讯!Epic喜加一!免费送大作《地铁》:下款将是《死亡搁浅》
每日头条!2023考研报告发布:“逆向考研”成亮点!附报告源文
世界快播:锐龙7000系列三款非X型号曝光:价格感受下
囧!日本老师暴打初二男生 因学“左手定则”时比中指
老人故意推倒摩托车损坏被抓:车主回应希望判决不手软 惯犯了
焦点速递!Sentinel的规则
天天热议:一加11下周官宣:安卓性能天花板
MAUI新生5.3-Layout布局类控件难点
国产OS统信UOS家庭版22.0明年1月发布:免费用1年 可与Windows共存
全靠移民硬撑?美国人口增长率仍贴近历史低位
视点!18岁女生因焦虑2个月减25斤:最终瘦成95斤
天天消息!男子无聊送外卖发现2小时挣150:开豪车也干
天天精选!Kubernetes监控手册03-宿主监控实操
今日观点!一路用到安卓17?OPPO将提供4年ColorOS重大更新
环球即时看!同价位罕见!雷军:Redmi K60系列这三款全都上2K直屏
微资讯!“联盟号”发生泄漏:俄罗斯或派遣救援飞船接回机组人员
世界播报:cmake-4
Redmi可穿戴新品公布:手表、耳机全都有
行业最快!红魔8 Pro系列搭载520Hz游戏体感肩键:毫秒级触控响应
《阿凡达2:水之道》国内票房突破6亿:卡梅隆光环褪色 回本太难
每日焦点!终结起火、爆炸困扰!红旗全固态电芯试制完成:10Ah级大容量
27款笔记软件的介绍
全球视点!ts10_使用webpack打包ts文件3
环球今日报丨C#封装GRPC类库及调用简单实例
百事通!Spring IOC官方文档学习笔记(四)之依赖项(下)
【天天报资讯】Web 标准 & W3C 规范
今日热闻!研究人员在柬埔寨发现超级蚊子:对杀虫剂免疫
焦点关注:C++基础3
焦点滚动:惧怕《阿凡达2》 输不起?郭帆回应《流浪地球2》撤档 春节见
播报:Redmi K60全系标配2K柔性屏 专家:国产技术已破局超越
环球即时看!以小博大外小内大,Db数据库SQL优化之小数据驱动大数据
全球快资讯丨最高799元 迪士尼再发布涨价公告:开业以来已涨4次
质感一绝!一加11证件照公布:双曲面屏、流动天阶设计
速递!共计100小时:全球首架C919自12月26日起验证飞行