之前一直想写一个连连看的小工具,这样可以实现自动点击 ,找了一圈资料,发现 还是没有合适的,最后无奈,只能自己写。这个东西已经写了很久了,今天分享一下,毕竟花了很多时间。
手动去点,很慢。
所以就有想法弄一个自动去匹配的代码 ,所以就有下面的效果
-------------------------------------------------------------------------------------------------------------------------------------
实现过程 ,
第一步 就是识别图片,将每个图片 按小方块截图成图 ,
第二步 按小图片分类把 将图按顺序标记数字
第三步 将数字保存成一个二维数组
第四步 就是核心了,二维数组的算法(就是哪些数字是相同且可以连接的)
第五步 根据算法返回的坐标去点击就能实现全自动了
import os.path
import cv2
import numpy as np
import pyautogui
import win32api
import win32gui
import win32con
from PIL import ImageGrab
import time
import random
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(url解码再放在这, data={'key':'AKDSBETE','map': mapStr})
res=response.json()
请求成功后 会返回 data ,data 里面的 都是 坐标信息 , 4个信息 为一组,前两个是 第一个点,后面两是第二个点
'0': [0, 3, 1, 4] 0 表示第一次点
0,3 表示第一个点
1,4 表示第二个点
感兴趣的小伙伴可以去试试
|