太好玩了,我用Python写了个火影忍者版的连连看 !

在 Python 中使用 Turtle 绘制火影忍者 火影忍者是一个流行的动漫角色,它是最受欢迎的动漫之一,下面的代码将向您展示如何使用 python Turtle 绘制火影忍者。 阅读详情

暑假马上就要结束了,在暑假即将走向尾声的时候,小编特地为大家准备了一款小游戏——连连看。希望通过这一款小游戏为大家放松身心,迎接新学年的到来。

连连看想必大家都玩过,相同的图片,可以连在一起消掉,但前提是图片连接的路径要是直线,或者是“L”形(连接线有一个拐弯)或者是类似于“U”形(连接线有两个拐弯)。那么程序是如何实现的呢,先看一下整个的设计思路:

 

 

 

 

 

 

Python资源共享群:626017123

01.

游戏的界面设计

 

1).首先是对于整体界面的设计,如下图所示:

 

 

 

 

 

大家运行程序后,会首先弹出选择框,是否从第一关开始,选择第一关后,点击游戏便可以开始游戏。我们设计了一个菜单,点击游戏/开始游戏即可!

02.

把火影忍者的人物放画布

 

接下来就是将游戏人物放到画布上去,这里我们选择了我最喜欢的火影忍者的头像,哈哈!

1).首先程序规定了每一个种类图片

图片所能出现的次数为4次,然后如果我们想实现一个8x8大小的图片地图,那么就一共有8x8/4=16种类型的图片可以出现。我们将每一种类型图片编码为一个数字,例如上图中鸣人的编号为0,小樱的编号为1。然后在对应到图片上去,所以就会得到16(种类)x4(每个种类的图片数量)=64个图片,如下图所示:

 

 

 

 

 

2).然后,我们将上述的图片打乱

按照画布上的位置分别放置图片,就得到了连连看的图片界面。

 

 

 

 

 

3).部分代码如下图所示

 

 

 

 

 

该函数是对画布图片进行一个初始化:

  • 首先,是将每一个类别的小图片都添加self.num张,形成一个self.picsKind * self.num大小的一维数组;
  • 然后,将小图片的索引顺序进行打乱;
  • 最后,是将小图片的索引转化为一个二维数组,也就是呈现给大家的一个正方形的界面。

 

 

 

 

 

 

这里是将我们存放到self.pics里面的图片,通过函数self. get_left_top_point函数来获得其对应的坐标,并按照此坐标将图片放置到画布的相应位置。

其中有一点应用的很是巧妙,就是利用索引来作为判断是否是一类图片的标志(后面有代码示例的),接下来就是进行图片的消除,如下图所示。

 

 

 

 

 

03.

核心算法解释

 

敲黑板划重点来了,只有符合上述三种情况的图片我们才能够消除,那么程序如何判断二者是否符合被消除的条件呢?

  • 我们以直线连接为例。上图中可以直线连接的两个佐助横纵坐标分别为(2,3)和(3,3),那么我们就判断他们x坐标(直线连接,横纵坐标肯定有一个相等,就不用判断相等的坐标了);
  • 如果他们中间没有其他的图片,那么他们就可以被连接然后消掉,否则就不可以;

 

例如(4,4)和(4,6)的小樱之间有一个其他人的存在,他们就不能被连接,其他的情况也是类似判断,部分代码如下图所示:

 

 

 

 

 

上面的3中连接方法(直连,L型连接和U型连接)。当我们判断二者可以连接后,利用tkinter的画布中的delete函数,便可以将图片删掉。部分程序如下所示:

 

 

 

 

 

当我们将所有的图片都消掉后,程序便会弹出提示框,祝贺我们闯关成功。下面,小编就为大家带来视频展示,看看小编的功力如何。

用python写一个火影忍者连连看 有没有喜欢看火影忍者的小伙伴,我个比较喜欢鸣人,小樱,佐助,雏田,鼬等一些人物。 这次就跟大家弄一个他们的连连看吧! 首先先定义这次我们需要的模块 import os, random import tkinter as tk import tkinter.messagebox from PIL import Image, ImageTk 定义游戏的尺寸 class MainWindow(): __gameTitle = "连连看游戏" __windowWidth = 700 __windowHeig 阅读详情

相关推荐

使用Python写一个火影忍者连连看

有没有喜欢看火影忍者的小伙伴,我个比较喜欢鸣人,小樱,佐助,雏田,鼬等一些人物。这次就跟大家弄一个他们的连连看吧!

weixin_72934044的博客 1405

太好玩了,我用Python写了个火影忍者版的连连看

暑假马上就要结束了,在暑假即将走向尾声的时候,小编特地为大家准备了一款小游戏——连连看。希望通过这一款小游戏为大家放松身心,迎接新学年的到来。连连看想必大家都玩过,相同的...

cainiao_python的博客 2937

「趣味连连看经典版」童年经典火影忍者连连看,无需下载,在线可玩~

前言 关注我,一起玩游戏吧! 《趣味连连看经典版》还原童年经典连连看小游戏 任何年龄段都能玩的小游戏,休闲解压必备!如果你学Python学累了,玩一下这个游戏放松下吧! 一、效果展示 完整的项目源码素材等滴滴我即可免费啦~ 开始界面—— 点击游戏——新游戏开始: 消一消: 二、游戏的步骤 1)游戏规则 相同的人物即可消除很简单,有????手就行,消除是2个相同即可,一段距离是可以连接消除的。 2)素材 3)导入模块 import os, random..

xy258009的博客 3121

80行代码!用Python做一个哆来A梦分身

对于分身术,大家想必都或多或少的从《火影忍者》的动漫上看到过,炫酷的影分身场面,每每看到都觉得非常过瘾。今天,小编其实是蓝胖子的铁粉,满满的童年回忆啊!今天Python来实现一个简单的哆...

cainiao_python的博客 1092

基于Python+OpenCV图像识别的连连看辅助工具(深度学习+机器视觉)含全部工程源码及视频演示

1.项目基于 pywin32 获取游戏图像信息,通过 OpenCV 进行识别处理,实现相同图形的连通。 2.项目运行环境:Python 3.6 及以上配置,安装第三方库:pywin32、matplotlib、numpy、OpenCV、Pillow。 3.项目包括 4 个模块:获取句柄、图像划分、建立矩阵,矩阵求解。QQ 游戏连连看的游戏区图像水平方向有 19 列,竖直方向有 11 行。确定连连看图像的坐标进行划分建立矩阵,通过获取游戏窗口句柄来实现。获得游戏图像坐标,可准确地捕捉图像信息,将游戏图像进行区分处理。注意对游戏图像信息处理完毕后转化为数字矩阵,相同的图案转化成相同的数字,来帮助计算机进行运算执行。 4.准确率评估:经测试,经过处理后,能100%对齐所有的图像,且能在游戏运行过程中自动操作。含操作视频。

基于python中的pygame库实现的火影忍者小游戏.zip

项目已获导师指导并通过的高分期末大作业项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

python tkinter实现连连看游戏

需要自己添加图片素材呦 运行效果: 完整代码 ​ #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2017-10-02 15:19:24 # @Author : Salamander (1906747819@qq.com) # @Link : http://51lucy.com import os, random import tkinter as tk ...

marraybug的博客 435

【水文】calico-node 启动失败 Init:CrashLoopBackOff

Defaulted container "calico-node" out of: calico-node, upgrade-ipam (init), install-cni (init), mount-bpffs (init) Error from server (BadRequest): container "calico-node" in pod "calico-node-4j7td" is waiting to start: PodInitializing

大健的日常的博客 1万+

Just for fun——用Python的Tkinter写个连连看

UI 代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2017-10-02 15:19:24 # @Author : Salamander (*********@qq.com) # @Link : http://51lucy.com import...

weixin_34357887的博客 263

433M无线遥控器EV1527协议解码实战:从逻辑分析到代码优化

本文详细解析了433M无线遥控器EV1527协议的实战解码过程。从使用逻辑分析仪抓取波形、理解同步头与数据位编码原理开始,逐步深入代码实现。文章重点对比了原始定时器轮询法的痛点,并提出了基于“边沿捕获+时间戳”的优化方案,构建了高效、可移植且具备抗干扰能力的解码引擎,最后分享了跨平台移植的核心技巧。

weixin_29168813的博客 927

上网第二课:办了百兆宽带,为什么测速只有一半?

最慢的那一环。

qq_36765170的博客 110

python连连看_太好玩了,我用Python写了个火影忍者版的连连看 !

暑假马上就要结束了,在暑假即将走向尾声的时候,小编特地为大家准备了一款小游戏——连连看。希望通过这一款小游戏为大家放松身心,迎接新学年的到来。连连看想必大家都玩过,相同的图片,可以连在一起消掉,但前提是图片连接的路径要是直线,或者是“L”形(连接线有一个拐弯)或者是类似于“U”形(连接线有两个拐弯)。那么程序是如何实现的呢,先看一下整个的设计思路:Python资源共享群:62601712301.游...

weixin_39689622的博客 299

十三、FLUENT蒸发/冷凝模型实战:从沸腾模拟到常温蒸发的UDF进阶

本文深入探讨FLUENT蒸发/冷凝模型的应用实践,从沸腾模拟到常温蒸发的UDF进阶。通过分析相变模型的核心逻辑、关键陷阱及UDF动态饱和温度场的实现,帮助工程师准确模拟不同场景下的蒸发/冷凝过程。结合太阳能蒸馏器等工程案例,提供优化方案和常见问题解决方案,显著提升模拟精度与效率。

weixin_42548893的博客 571

python连连看_太好玩了,我用Python写了个火影忍者版的连连看

暑假马上就要结束了,在暑假即将走向尾声的时候,小编特地为大家准备了一款小游戏——连连看。希望通过这一款小游戏为大家放松身心,迎接新学年的到来。连连看想必大家都玩过,相同的图片,可以连在一起消掉,但前提是图片连接的路径要是直线,或者是“L”形(连接线有一个拐弯)或者是类似于“U”形(连接线有两个拐弯)。那么程序是如何实现的呢,先看一下整个的设计思路:游戏的界面设计1).首先是对于整体界面的设计,如下...

weixin_39524439的博客 160

YOLOv8改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合

可扩展的高效物体检测BiFPN(加权双向特征金字塔网络)

Limiiiing的博客 1082

使用Python爬虫抓取政府网站政务信息:公告、通知的自动化抓取与分析

通过结合Requests、BeautifulSoup、Selenium等技术,你能够高效地抓取政府网站的数据,并通过MySQL存储与Pandas分析这些数据。通过自动化手段抓取这些信息,不仅可以提高数据收集的效率,还能够实时获取最新的政务动态,为政策研究、舆情分析等提供宝贵数据。我们将通过Python的Requests、BeautifulSoup、Selenium等工具,结合最新的技术实现一个完整的爬虫系统,帮助你轻松抓取并分析政务信息。通过爬虫,我们可以自动化地从指定网站上抓取公告、新闻、通知等信息。

2201_76125261的博客 1907

用python画写轮眼代码,写轮眼c语言代码

z=0&tn=baiduimagedetail&word=%BF%A8%BF%A8%CE%F7%D0%B4%C2%D6%D1%DB&in=11883&cl=2&cm=1&sc=0&lm=-1&pn=6&rn=1&di=1825117740&ln=2000&fr=&ic=0&s=0&se=1我新注册的账号传不了图,只得如此原理和之前的三勾玉一样宇智波斑的比较简单,不解释佐助的嘛……这种写轮眼和普通写轮眼的形状有所区别,一般的写轮眼是三个分开的勾玉,而万花筒写轮眼则有各种不同的形态,且可以使用特别的招式。

神器榜 3473

educoder中Hive综合应用案例 — 用户搜索日志分析

Hive综合应用案例 — 用户搜索日志分析

weixin_46026136的博客 4779

连连看写好了

花了好几天,终于把连连看写好了,也是我学MFC以来做的第一个游戏,从算法到程序,都想了好长时间,呵呵.该有的功能都有了,Eagle还要做个连连看的外挂,但是我游戏里已经有指南针的功能了,呵呵,会不会多此一举啊?不过学习过后,写网游的外挂倒是8错~为了突出个性,一共做了3个版本:柯南,海贼王,火影忍者,都是些熟悉的角色,玩起来也满有意思的.因为不是很好就不拿出来了,呵呵.      今天又更

Karl的专栏 1326

YOLOv11改进 | 损失函数改进篇 | 2024最新高质量的目标检测边界框回归损失Unified-IoU、FocalUIoU、FocalInvUIoU(设置动态epoch参数)

本文给大家带来的改进机制是最近新提出的高质量的目标检测边界框回归损失,其通过动态调整模型对不同质量预测框的关注,优化目标检测中的边界框回归精度。UIoU引入了FocalBox方法,通过缩放预测框与真实框分配权重,并采用了退火策略(引入动态参数epoch),逐渐将模型的注意力从低质量预测框转移到高质量预测框,平衡了训练速度与检测精度。其还有一定的解决样本不平衡问题,同时该损失函数可以和现有的任何边界框回归损失函数进行结合,例如ShapeIoU和其结合可以形成二次创新,它是一种类似于之前的Inner的机制.

Snu77的博客 4586

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

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

隔离太无聊!不如用Python实现愤怒的小鸟,看看能否通关!

大家好,我是菜鸟哥!最近上海的疫情还是很猛,每天新增1万多,很多同事,同学都是居家办公,居家隔离。这波疫情时间已经有一段时间了,大家都窝在家里也不好受。房子就那么大,不能出去,蔬菜也不多,亲戚在上海,每天凌晨5点多抢菜,真心不易。为了打发时间,只能煲煲剧,或者打打游戏。说到打游戏,菜鸟哥以前写过好几个Python玩游戏的文章:牛逼,两百行Python代码带你打造一款《天天...

cainiao_python的博客 6783

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

用python画万花筒写轮眼_万花筒写轮眼画法教程

很多喜欢动漫的朋友看过火影忍者,绘画吧觉得火影忍者里的写轮眼很酷,那么万花筒写轮眼怎么画?绘画吧学画画网给大家带来万花筒写轮眼画法教程,有兴趣的一起来学习今天的漫画教程吧。说起火影忍者中的眼睛那么强大的万花筒写轮眼应该是最酷炫的了。绘画吧中二病的时候都希望自己能有一双这样强大神奇的眼睛。虽然我们不能真的拥有写轮眼,但是我们可以用画画的方式来画一双写轮眼,下面一起来看万花筒写轮眼的画法。画万花筒写轮...

weixin_35426022的博客 7577

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

用python画写轮眼_创意scratch编程课:火影经典忍术,宇智波佐助的写轮眼!

在火影忍者中,写轮眼是非常经典的忍术。作为宇智波家族的传承忍术,宇智波佐助的写轮眼更为经典,随着佐助能力的提升,写轮眼会不断进化,最终进化成轮回眼。今天我们就用从网上找来的素材来制作一下这个写轮眼进化的过程!视频如下:首先我们从网络上找来三个素材,分别如下:写轮眼轮回眼佐助角色佐助的脚本很简单,游戏开始直接下移2层!角色写轮眼要在造型中,用橡皮檫将一个个写轮眼的状态擦出,每一个造型只保留一种,最终...

weixin_39611382的博客 5241

万花筒写轮眼画法_万花筒写轮眼怎么画?

大神是永远都存在的,相信大家一定都有看过热血的日漫火影忍者!那么其中各位忍者的写轮眼也是受到了很多的人的关注,有一部分的漫迷们都想要知道万花筒写轮眼是怎样画的,绘画吧今天就为大家搜罗了一位大神!来看看大神是怎样画万花筒写轮眼的吧!漫画《火影忍者》中的一种瞳术,六道仙人长子因陀罗的后裔宇智波一族的血继限界, [1]可以通过强烈情绪刺激开眼并不断进化,在经历亲近之人去世之后可进化为万花筒写轮眼。亲兄弟...

weixin_39839410的博客 1094
上一篇: 用Python告诉你:这些年,我们定过的的那些外卖 !
下一篇: Python+PyQt5实现“灭霸响指”命令 !
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值