Python实现连连看12

4.2.5 获取图片连接方式

通过自定义函数getLinkType()获取图片的连接方式,代码如下所示。

def getLinkType(pre_row, pre_col, cur_row, cur_col):
    if pics_map[pre_row][pre_col] != pics_map[cur_row][cur_col]:
        return NONE_LINK
    if isNoCornerLink(pre_row, pre_col, cur_row, cur_col):
        return NO_CORNER_LINK
    if isOneCornerLink(pre_row, pre_col, cur_row, cur_col):
        return ONE_CORNER_LINK
    if isTwoCornerLink(pre_row, pre_col, cur_row, cur_col):
        return TWO_CORNER_LINKreturn NONE_LINK

其中,getLinkType()函数的前两个参数表示第一次选中图片的行号和列号,后两个参数表示第二次选中图片的行号和列号。第2-3行表示当选中的两张图片不同时,返回自定义常量NONE_LINK;之后分别调用自定义函数isNoCornerLink()、isOneCornerLink()和isTwoCornerLink()判断两张图片是否是直接连通、单拐点连通和双拐点连通;如果不是以上三种连通方式,则返回NONE_LINK。

4.2.6 根据连通状态处理图片

回到“4.2.2 取消图片的标识”中提到的clickCanvas()函数中。如果两次选中的不是同一张图片,则调用“4.2.5 获取图片连接方式”中提到的getLinkType()判断两张图片的连通状态,代码如下所示。

linktype = getLinkType(PRE_CLICK_ROW, PRE_CLICK_COL, click_row, click_col)

之后,根据linktype的值进行后续处理,代码如下所示。

    

if l

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/28929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式数据库_3.嵌入式数据库的主要功能及典型产品

1.嵌入式数据库的功能 嵌入式数据库的功能应与通用数据库功能相似,应覆盖数据库的核心功能。通常,嵌入式数据库有其自身的特殊需要,它应具备的功能包括以下4点: 足够高效的数据存储机制;数据安全控制(锁机…

终于用上了桌面版本的chatGPT

最近经过不断的探索,也算是用上了桌面版本的chatgGPT,想要用同学,可以关注一下,后面我会出一期教程的~

docker安装elasticsearch8和kibana,带ik分词器

全文目录,一步到位 1.前言简介1.1 专栏传送门 2. elasticsearch和kibana安装2.1 准备工作2.1.1 下载elasticsearch2.1.2 下载kibana镜像 2.2 创建并运行es容器2.2.1 创建es网络2.2.2 创建es容器2.2.3 放行端口2.2.4 访问查看结果> 步骤一: 点击高级, 然后继续访问> 步骤二…

力扣878.第N个神奇数字

力扣878.第N个神奇数字 二分答案 check():公共部分为最大公倍数的倍数 class Solution {const long MOD 1e9 7;public:int nthMagicalNumber(int n, int a, int b) {//lcm函数 求最大公倍数long lcm std::lcm(a,b);auto check [&](long long mid) -> …

KIVY AliasProperty 运用报错汇总

案例1: 在Kivy中,AliasProperty 允许你创建一个属性的别名,该别名可以基于其他属性计算得到。但是,与普通的Python属性不同,Kivy的Property类(包括AliasProperty)并没有直接提供定义getter和s…

Python 3.13 有什么新变化

Python 3.13 beta 是 Python 编译语言下一正式版本的预发布版本,包含多项针对语言、实现和标准库的改变。 针对实现的最大改变包括新的交互式解释器,以及对于去除全局解释器锁 (PEP 703) 和启用即时编译器 (PEP 744) 的实验性支持。 针对标准库的改变包括…

Tensorflow入门实战 T04-猴痘识别

本篇文章主要:tensorflow 运行环境:本地cpu 运行epoch:50 1、tensorflow官网 tensorflow的官网教程。初学者的 TensorFlow 2.0 教程 | TensorFlow Core 官网上有图像分类的相关详细描述还有代码示例。 2、完整代码展示 from tensorflo…

单调队列总结

单调队列的介绍 由于现在我也没接触过正经的单调队列的定义,因而引申为介绍, 单调队列,类似与单调栈,存储在单调队列里面的元素理应都是单调的,单调队列的基础使用deque(双端队列)去实现的&am…

【总线】AXI总线:FPGA设计中的通信骨干

目录 AXI4:高性能地址映射通信的基石 AXI4-Lite:轻量级但功能强大的通信接口 AXI4-Stream:高速流数据传输的利器 结语:AXI总线在FPGA设计中的重要性 大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计…

FlowUs息流开启知识管理的新纪元|FlowUs息流公开知识库

在信息爆炸的时代,如何高效地管理和利用知识成为了一个挑战。FlowUs知识库以其超巨的性价比,为用户带来了全新的解决方案。它不仅仅是一个存储信息的工具,更是一个能够激发创造力和提高生产力的平台。 性价比之选 FlowUs以其合理的价格&…

redis数据结构—哈希表

我在“redis存储结构”这篇文章中介绍了redis存储数据的方式——字典,redis的字典使用高效的hash table实现,这里详细介绍redis中哈希表的实现和工作原理 redis的哈希表结构 typedef struct dictht {//哈希表数组dictEntry **table;//哈希表大小unsign…

ChromeDriver新手教程:一步步指导Chrome 114到127版本的驱动安装

114之前版本下载链接在这里 ​​​​​​125以后版本下载链接在此,只有后面status是绿色对勾的才可以下载,驱动大版本一致就可以使用,不需版本号一模一样;下载所需版本只需点击对应的版本名称即可跳转到对应版本的下载位置。 以…

学习笔记——网络管理与运维——SNMP(基本配置)

四、SNMP基本配置 1、SNMP配置举例 整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度&#x…

windows系统把桌面的文件重定向到电脑的其他分区盘

当我们使用windows系统的电脑时,很喜欢把一些常用的文件放到桌面上。而桌面上的文件默认都是设定在C盘下的。时间长了,C盘容易爆红(空间不足)。下面我将介绍一种比较简单快捷的办法来解决这种问题--就是把桌面的文件重定向到电脑的其他分区盘。 首先我们…

[蓝桥杯真题]买二赠一

蓝桥杯真题;买二赠一,要求赠的一价格不能超过买的两者之间最小价格的二分之一 看到这个题的时候我信心满满的一顿操作猛如虎,全部写出来的时候内心想着,稳了!这次绝对稳了!然而。。。答案错误。。。 我只能去看了一下…

2024年春季学期《算法分析与设计》练习15

问题 A: 简单递归求和 题目描述 使用递归编写一个程序求如下表达式前n项的计算结果&#xff1a; (n<100) 1 - 3 5 - 7 9 - 11 ...... 输入n&#xff0c;输出表达式的计算结果。 输入 多组输入&#xff0c;每组输入一个n&#xff0c;n<100。 输出 输出表达式的计…

使用dev_dbg调试

首先内核要使能两个配置才可以使用。一般内核都是打开的。 CONFIG_DEBUG_FSy CONFIG_DYNAMIC_DEBUGy 当编译选项CONFIG_DYNAMIC_DEBUG打开的时候&#xff0c;在编译阶段&#xff0c;kernel会把所有使用dev_dbg()的信息记录在一个table中&#xff0c;这些信息我们可以从/sys/k…

android 一个manifest 可以有 多个 hal 吗 ?

是的&#xff0c;在Android系统中&#xff0c;一个manifest文件理论上可以声明多个HAL&#xff08;Hardware Abstraction Layer&#xff0c;硬件抽象层&#xff09;实现。这意味着&#xff0c;如果你的应用或模块需要与多种不同的硬件组件交互&#xff0c;你可以在同一个manife…

xftp无法删除目录

遇到很奇怪的事&#xff0c; 我通过xftp软件删除服务器上的一个文件夹&#xff0c;但是怎么都删除不掉&#xff0c;而且在xftp上看到的是存在两个同名的文件夹&#xff0c;真的是完全同名&#xff08;仅通过xftp上看&#xff09;。然后我觉得好奇怪&#xff0c;就在终端上使用l…

谷歌发布Infini-Transformer模型—无限注意力机制长度,超越极限

Transformer 是一种基于自注意力机制的深度学习模型&#xff0c;最初应用于自然语言处理领域&#xff0c;现已扩展到图像、音频等多个领域。与传统的循环神经网络 (RNN) 不同&#xff0c;Transformer 不依赖于顺序数据处理&#xff0c;能够并行计算&#xff0c;从而显著提高效率…