嘿嘿,长假最后一天!摸鱼一把,我用Python做一个美女消消乐!

用代码编二次元女人物 你好,我可以用代码来帮助你编写二次元女人物的图像。 首先,你需要准备一些图片素材,例如女人的脸部特征和服装。然后,你可以使用图像处理库(例如 Python 的 Pillow 库)将这些图片合并在一起,并使用代码控制它们的位置和大小。 例如,你可以使用 Pillow 库的 Image.paste() 方法将脸部图像粘贴到背景图像上,并指定坐标和图像大小。 例如: from PIL import Im... 阅读详情

大家好,我是菜鸟哥!

3天长假,一晃就过去了,马上又要回厂搬砖喽!今天菜鸟哥给大家带来一个游戏福利,趁着还没有上班,摸鱼一把。手把手的制作一款美女消消乐的小游戏。话不多说,我们先一起来看看游戏运行的效果吧!

(耐心等6秒之后才是亮点)

程序讲解

游戏固然好玩,但是看懂程序,并能根据自己的喜好来魔改程序更加重要。接下来,菜鸟哥就从整体到局部出发,分模块化的来拆解程序,挑出程序中重要的点来分析,让大家搞清楚游戏背后的程序架构,也方便小伙伴根据自己的喜好来修改源码。

主程序

首先,我们来看一下程序的主程序内容,该部分程序位于main.py的文件中。

865f7cd3824a9a6d4ed079f12f2524fd.png

程序中,第1行到第16行是一些通用的内容加载,包括了背景音乐,以及消消乐中各位美女的图片内容。

程序中的第18行是非常关键的引入了Game类,也就是游戏的主要内容。

在第19行到49行中,在while循环中执行Game游戏,如果游戏结束,则会弹出我们的游戏成绩展示界面。并会提示用户按不同的按键进行接下来的操作。成绩展示界面如下图所示。

4f6e1bd1d2dbebaa07c56c659960139a.png

如果用户选择重新开始游戏,则游戏会重新开始。用户按下‘Q',则退出游戏。

主游戏程序

主程序介绍完毕后,接下来就是进入到我们刚才提到的Game类中,理解好Game类,对于我们理解整个游戏起到了至关重要的作用。Game类位于util.py文件中。

bbdc31bf7bcb6c116e204daaca7c2608.png

上图的程序中,是Game类的核心程序。

程序的第2行到18行描述的行为就是我们在界面上点击图片所发生的事情。girl_selected_xy和girl_selected_xy2分别保存的是点击图片的网格位置。如下图所示:

d095ab1bf30765fae7f46f0ba4cb0d27.png

我们的游戏界面中,网格就是棋盘当中的一个个的小格子,每个格子都有自己特定的坐标。上图中的两个格子的坐标就分别为[3,4](第四列,第五行),[4,3](第五列,第四行)。而我们的图片好比是一张张棋子,放置在网格当中,只不过我们的棋子大小刚好遮住网格。注意,我们的每个“棋子”也是一个类,我们放在后面进行介绍。

第14行代码中,通过swap_girl函数将我们选中的两张图片进行了位置上的调换。

19-26行代码,描述的是在图片自动下落的过程中,自动生成的三连图片,此时,调用is_matched函数来判断是否有三连图片。然后调用函数remove_match_girl来去除掉三连的图片。is_matched函数如下图所示。

55d65b95fb6640973c4cb2792a51c0a1.png

整个过程用图片来进行解释如下图所示:

515a8d567175a6174d9c0645ec003556.png

在Game类的核心程序中,第27-43行程序描述的则是我们调换两张图片的过程,当调换图片后,发现界面中没有三连时,则将调换的图片重新换回去,表明这样的调换不合理。

如果调换后有三连图片,则调用remove_match_girl函数,来执行去除图片并新添加图片的操作。

在remove_match_girl函数中,调用了generate_new_girl,来实现去除三连图片,并新生成三张随机的图片。generate_new_girl函数如下图所示。

52251ecee7057ec5e32020cd1e4a3a42.png

上图的程序中,我们不需要将去除三连的图片弄的非常明白,我们只需要大致明白generate_new_girl函数的作用即可。

值得注意的是,在第16行和第35行的程序中,通过调用girlSprite类来生成了我们的“girl”对象。

还记得上面提到的“棋子”吗?没错,我们的girlSprite类就是棋子。

f46234215c2c39add2193c49c7b1fd46.png

在girlSprite类中,我们要重点关注的是它的move类函数。通过递归循环,不断的调用move函数,便可以实现图片下落的动画效果。

总结:

学习Python的过程肯定是很枯燥的,但是如何把枯燥的编程学习变得有趣,让你不从入门到放弃,这个就是一个很有技巧的事情。整个的代码大概200多行,主要的逻辑其实在game的设计这一块,对消消乐游戏有兴趣的同学可以找我们拿源码,然后自己改一下,换成斗破苍穹版本的消消乐或者是海贼王,灌篮高手,机器猫版本的。

如果想通过趣味案例入门Python,提高功力进步神速,也欢迎加入我们的星球(星球的朱老师是在大厂主攻Python后端开发)。目前手把手教大家玩了几个趣味的案例,源码和教程都非常详细,后面还有很多项目准备上马。

  • 搭建博客

  • 部署股票机器人

  • 部署价格监控爬虫

7331da188c06de704195433617e69643.png

需要本篇源码的同学,可以找一下小助手获取。后天输入:小助手,找他领取,暗号:消消乐

最后欢迎大家在留言区吱一声,说说你三天长假都干了啥,点赞多的留言回头有奖励。

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,看200个Python案例!

初学python100例-案例32 男孩女孩小孩人数 少儿编程案例讲解 目录 python男孩女孩小孩 一、题目要求 二、输入输出 三、解题思路 1、程序分析 2、程序代码 3、运行结果 python男孩女孩小孩 一、题目要求 有30个人(有男人,女人和小孩组成),花了50元吃饭(其中男人每位3元;女人每位2元;小孩1元),问男人,女人和小孩各多少?有多少种可能,分别是多少 二、输入输出 输入样例: 无 输出样例: 一共有多少种可能: 160 他们分别是: 男人:xx,女人:xx,小孩:xx 男人:xx,女人:xx,小孩:xx 三、.. 阅读详情

相关推荐

健康消消乐JavaScript源码

健康消消乐JavaScript源码

python代码美女图标输出

def print_beauty():    print('                       .::::.                                  ')      print('                     .::::::::.                                ')     print('               ...

joeytan的博客 7363

银行数据仓库体系实践(3)--数据架构

狭义的数据仓库数据架构用来特指数据分布,广义的数据仓库数据架构还包括数据模型、数据标准和数据治理。即包含相对静态部分如元数据、业务对象数据模型、主数据、共享数据,也包含相对动态部分如数据流转、ETL、整合、访问应用和数据全生命周期管控治理。 数据架构层面通过数据分类、分层部署等手段,从非功能性视角将数据合理布局。通过整体架构管控和设计,支持业务操作类和管理分析类应用(系统),满足业...

acumen_leo的博客 7011

利用Python为女神制作一个专属网站

快跟随小编一起学习一下如何利用Python语言制作一个专属的网站送给女神吧!

weixin_45841831的博客 7527

保姆级教程:用Smaart7和你的USB声卡搞定现场音响系统调试(附频谱与延时测试避坑指南)

本文提供Smaart7与USB声卡协同工作的现场音响系统调试指南,涵盖硬件连接、频谱分析、延时校准等关键步骤。通过详细的操作流程和常见问题解决方案,帮助音响工程师快速掌握专业测量技术,确保演出音质达到最佳状态。

weixin_29290259的博客 426

理解ADC:为什么需要抗混叠滤波器?

本文介绍 ADC 的混叠现象,引出抗混叠滤波器,并介绍一种开关电容滤波器,它具有很小的增益过渡带。

疯狂的运放 5949

python居然还能画出这么精美的魔法少女,惊我一整年

大家早好、午好、晚好吖 ❤ ~对于上面漫小姐姐图,大家觉得好不好看呢这种极简的线条画出超具魅力的小姐姐图简直不要太击中小心脏接下来,我们就用python来实现一下,画出一个好看的少女~

weixin_62853513的博客 7302

unity打包流程整理-Windows/Mac/Linux平台

1.Platform(平台)功能: 选择目标构建的目标平台选项PC, Mac & Linux Standalone: 适用于 Windows、Mac 和 Linux 平台2.Target Platform(目标平台)功能: 选择具体的操作系统版本选项Windows: 针对 Windows 操作系统Mac: 针对 macOS 操作系统Linux: 针对 Linux 操作系统3.Architecture(架构)功能: 选择应用程序的目标处理器架构选项x86: 针对 32 位系统。

weixin_42333247的博客 5141

Python爬取妹子,哇!太多了,看不过来了,我一个G的硬盘要满了

淘女郎爬虫,可动态抓取淘女郎的信息和照片。 需要额外安装的第三方库 requests pip install requests pymongo pip install pymongo 模块功能 TaoLady.py: 负责发送POST请求和抓取个人信息和图片地址并保存到MongoDB中。 Download_Pic.py: 负责从MongoDB中抽取出淘女郎照片的网址,并下载。 原...

weixin_41334453的博客 3084

基于 Python + Flask + Echarts 的疫情监控系统

基于 Python + Flask + Echarts 的疫情监控系统

744

[deprecated]第九章:SVM机制: 9-2 Linux HMM原理与实现详解

Linux内核HMM(异构内存管理)子系统为异构计算平台提供统一内存管理机制,支持CPU与GPU等设备共享虚拟地址空间,实现零拷贝数据访问。其核心功能包括:1)统一虚拟地址空间,设备可直接访问CPU进程内存;2)实时页表同步与失效通知,确保地址空间一致性;3)支持设备端page fault处理;4)管理多种内存类型(系统内存、设备私有内存等)。HMM通过mmu_interval_notifier机制感知地址空间变化,提供标准API简化驱动开发,显著提升异构计算性能和数据传输效率。

图形/计算GPU的驱动与虚拟化技术分享园地 2549

Python表白代码合集:5种表白代码,找不到对象你来找我

‘’‘解析模板’‘’def parseTemplate(template_path):template = []with open(template_path, ‘r’) as f:for line in f.readlines():if line.startswith(‘#’):continuetemplate.append(line.strip(‘\n’).split(‘,’))return template‘’‘主函数’‘’def main(pictures_dir, template_path):t

3576

CAPL学习之路-关键字

在capl中,关键字具有特殊的含义和用途,因此,不得将关键字用作变量或函数的名称 声明数据类型的关键字 可以用不同的关键字,声明或引用不同类型的数据 byte 声明一个字节的变量 word 声明两个字节的变量 dword 声明四个字节的变量 int 声明两个字节的整数 long 声明四个字节的变量 qword 声明八个字节的变量 char 声明一个字符串 float 声明一个浮点数,8个字节 double 声明一个浮点数,8个字节 定义一个结构体或枚举类型 struct struct Data { .

jasonj333 6110

【python】美丽的代码,心动得效果,送给美丽得她~

嗨喽,大家好呀~这里是爱看美女的茜茜呐今天,3月7日啦~更是个特别得你日子,你想起来了嘛没错,今天就是女生节(明天就是妇女节啦,记得给老婆/母亲准备点小礼物噢~)。三七女生节,种下小小的愿望,收获大大的梦想。登上小小的舞台,成为大大的主角。甩开小小,拥抱大大的未来。女生节,祝你美丽快乐、人生精彩!进入主题:今天就就展示一些好看得代码给大家吧~

m0_72282564的博客 2420

058、时域降噪(Temporal Denoise):运动补偿与递归滤波在视频降噪中的应用

本文深入探讨了时域降噪(Temporal Denoise)技术在视频处理中的应用。作者通过车载环视项目案例,揭示了空域降噪的局限性,提出利用帧间信息进行降噪的核心思路。文章详细解析了递归滤波和运动补偿两大关键技术,指出递归滤波简单但易产生拖影,而运动补偿通过计算运动矢量解决此问题。作者还分享了多帧降噪方案的优势与算力挑战,并总结了噪声模型匹配、运动矢量一致性等实战调优经验。最后强调时域降噪需要与空域降噪平衡,指出调试工具的重要性,提出"在保证运动区域无鬼影的前提下追求信噪比"的实践原则,体现了算法复杂度与效

zzfmlxs的博客 93

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

知乎大神用Python爬取高颜值美女(Python爬虫+人脸检测+颜值检测)

1 数据源 知乎话题**『美女』**下所有问题中回答所出现的图片 2 抓取工具 Python 3,并使用第三方库 Requests、lxml、AipFace,代码共 100 + 行 3 必要环境 Mac / Linux / Windows (Linux 没测过,理论上可以。Windows 之前较多反应出现异常,后查是 windows 对本地文件名中的字符做了限制,已使用正则过滤) 无需登录知乎(...

人生苦短, 还不用Python? 5万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

如何用python画动漫人物,用python画一个美女

大家早好、午好、晚好吖 ❤ ~对于上面漫小姐姐图,大家觉得好不好看呢这种极简的线条画出超具魅力的小姐姐图简直不要太击中小心脏接下来,我们就用python来实现一下,画出一个好看的少女~

chatgpt001的博客 9353

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python列表:我的恋爱兵法,全靠它了!(Python列表恋爱终极秘籍)

列表的格式:[数据1, 数据2, 数据3]常用操作方法:index()len()append()pop()remove()好了,今天的Python列表“恋爱终极秘籍”就聊到这里,希望大家能够掌握列表的各种骚操作,早日脱单,走向人生巅峰!记住,编程就像谈恋爱,要保持激情,不断探索,才能找到真爱!本文纯属娱乐,请勿对号入座,更不要用于不正当用途!祝大家编程愉快,早日找到真爱,成为情场高手!你的支持是我最大的动力!

zhangjing_yyds的博客 1112

心动女生的筛选

count = 1lst = []lst1 = []while count <=10: name = input("请输入您心仪的女生(您还可以输入%s个):" % (11-count)) lst.append(name) count = count +1print("您当前心仪的女生有:")for i in lst: print("编号: %s,名字:%s" % (...

weixin_30784501的博客 119

深度学习tensorflow --- 男人变女人2

介绍 CycleGAN网络具有很强大的风格迁移功能。能够实现非常深层次的风格转换。比如男性图片女性化或者女性图片男性化。 先上效果图: 下面简单谈一谈实现原理。 网络结构 网络结构如图所示,通过两个循环使用的生成器来进行风格迁移。由此实现了非常神奇的效果。 下面结合代码来详细解释一下网络结构。训练生成对抗网络的深度学习框架为Pytorch。 1. 残差模块定义 class R...

my_share的专栏 1226

最浪漫的编程代码_七夕丨好钢用在刀刃上,编程用在表白上

又是一年一度的中国情人节小编为大家想了个新招俗话说:好钢用在刀刃上,编程用在表白上。如果你掌握一些编程语言,就可以不按照常规出牌,给女朋友来个惊喜好了。01Python人生苦短,使用Python。通过Python编程,照样可以画一个心形给自己所爱的女人。Python简直是一门非常可爱的语言,下面用一行代码实现爱心图。print(' '.join([''.join([('Love'[(x...

weixin_39746794的博客 2万+

跟着鬼哥学爬虫-9-python微信-4-我要自动看美女!

跟着鬼哥学爬虫-9-python微信-4-我要自动看美女!

听鬼哥说故事 7834

极简 Python:10 段代码,学会基础 python

本篇共包含 10 段简单的 Python,涉及常用语法和常用库(但毫无疑问删减了很多,比如没有字典)任何不懂的地方可直接留言~注:如果某个地方以 “#” 开始意思是:这是注释。

2401_85339817的博客 4887

2024年python编程从入门到实践,社招自我面试

age=18address = '上海市浦东新区'sex = '男'用单引号、双引号、多引号,都可以定义字符串,本质上是没有区别的,但是#1、需要考虑引号嵌套的配对问题" #内层有单引号,外层就需要用双引号#2、多引号可以写多行字符串msg = '''天下只有两种人。比如一串葡萄到手,一种人挑最好的先吃,另一种人把最好的留到最后吃。照例第一种人应该乐观,因为他每吃一颗都是吃剩的葡萄里最好的;第二种人应该悲观,因为他每吃一颗都是吃剩的葡萄里最坏的。

2401_84140485的博客 1301

逗女孩开心的python代码合集

这可以是一种可爱和个性化的向某人表达爱意的方式。当然,这只是一个非常基础的聊天机器人,如果你想编写一个更复杂的聊天机器人,你可能需要学习和使用一些更高级的技术,比如自然语言处理(NLP)和机器学习。这个脚本会不断接收用户的输入,如果用户输入“退出”,则退出循环;否则,它会从预定义的回答列表中随机选择一个回答输出。的字符串,其中包含一个浪漫的信息,可以在情人节发送给特别的人。这个代码会打印出一个浪漫的爱心信息,可以用来向特别的人表达你的爱。编写一个简单的聊天机器人给女朋友,我们可以使用Python的。

“我说再不熬夜了”的博客 3058
上一篇: 53个技巧!老司机熬夜总结Python 使用和高性能技巧大集合!
下一篇: 太好了!终于梳理清楚Python多线程与多进程!
菜鸟学Python
博客等级 码龄9年 8089粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值