连连看匹配算法

查看 72|回复 7
作者:calm2023   
之前一直想写一个连连看的小工具,这样可以实现自动点击 ,找了一圈资料,发现 还是没有合适的,最后无奈,只能自己写。这个东西已经写了很久了,今天分享一下,毕竟花了很多时间。


QQ20241016-151056.png (137.11 KB, 下载次数: 0)
下载附件
2024-10-16 19:01 上传

手动去点,很慢。


微信截图_22222.png (102.09 KB, 下载次数: 0)
下载附件
2024-10-16 19:02 上传

所以就有想法弄一个自动去匹配的代码 ,所以就有下面的效果


QQ203333333333333333.png (293.6 KB, 下载次数: 0)
下载附件
2024-10-16 19:02 上传

-------------------------------------------------------------------------------------------------------------------------------------
实现过程  ,
第一步  就是识别图片,将每个图片  按小方块截图成图 ,
第二步  按小图片分类把 将图按顺序标记数字  
第三步  将数字保存成一个二维数组
第四步  就是核心了,二维数组的算法(就是哪些数字是相同且可以连接的)
第五步  根据算法返回的坐标去点击就能实现全自动了
[color=]import
os.path
[color=]import
cv2
[color=]import
numpy
[color=]as
np
[color=]import
pyautogui
[color=]import
win32api
[color=]import
win32gui
[color=]import
win32con
[color=]from
PIL
[color=]import
ImageGrab
[color=]import
time
[color=]import
random
[color=]import
requests
通过截图  生成二维数组
[[1 ,7 ,1 ,3 ,13 ,12 ,8 ,17 ,15 ,11 ,20 ,10 ,],
[2 ,8 ,11 ,16 ,5 ,8 ,6 ,21 ,5 ,12 ,14 ,16 ,],
[3 ,9 ,12 ,3 ,15 ,8 ,7 ,14 ,18 ,13 ,13 ,21 ,],
[4 ,6 ,9 ,2 ,9 ,7 ,14 ,19 ,11 ,20 ,21 ,1 ,],
[5 ,9 ,13 ,17 ,7 ,10 ,17 ,11 ,4 ,19 ,1 ,2 ,],
[6 ,10 ,14 ,18 ,19 ,16 ,3 ,18 ,12 ,21 ,17 ,4 ,],
[5 ,2 ,15 ,6 ,20 ,19 ,16 ,4 ,20 ,18 ,15 ,10 ,],
]
每一行用 下划线拆分
1,7,1,3,13,12,8,17,15,11,20,10_2,8,11,16,5,8,6,21,5,12,14,16_3,9,12,3,15,8,7,14,18,13,13,21_4,6,9,2,9,7,14,19,11,20,21,1_5,9,13,17,7,10,17,11,4,19,1,2_6,10,14,18,19,16,3,18,12,21,17,4_5,2,15,6,20,19,16,4,20,18,15,10
把上面的数据  转成字符串  赋给变量mapStr   ,最后再发送过去
url='aHR0cDovLzQzLjEzOS4yNDguNDA6ODg1MC9sbGs='response = requests.post(
[color=]url解码再放在这
,
[color=]data
={
[color=]'key'
:
[color=]'AKDSBETE'
,
[color=]'map'
: mapStr})
res=response.json()
请求成功后  会返回 data  ,data 里面的  都是 坐标信息 ,  4个信息 为一组,前两个是 第一个点,后面两是第二个点  
'0': [0, 3, 1, 4]    0  表示第一次点   
0,3  表示第一个点
1,4 表示第二个点
感兴趣的小伙伴可以去试试

下载次数, 算法

afti   

这个算法太强大了
yanlusu   

每个小方块截取9个点,对比9个点的数据,基本上就可以判断是否相同了。
N年前就玩过的。
1e3e   

你应该把服务器上的代码放出来呀,核心咋是调api呢
calm2023
OP
  

python本地ocr不可以吗?
calm2023
OP
  


yanlusu 发表于 2024-10-16 22:06
每个小方块截取9个点,对比9个点的数据,基本上就可以判断是否相同了。
N年前就玩过的。

哇,这个思路可以呀,学习了
milu1123   


1e3e 发表于 2024-10-22 09:08
python本地ocr不可以吗?

这是什么思路,没看明白,大佬请细说
calm2023
OP
  

python的  pywinauto  可以不???
您需要登录后才可以回帖 登录 | 立即注册

返回顶部