从截图到一键清空:Auto-Lianliankan 用 Python 图像识别实现 QQ 连连看秒破

发布时间:2026/10/5 23:59:24

从截图到一键清空:Auto-Lianliankan 用 Python 图像识别实现 QQ 连连看秒破 从截图到一键清空Auto-Lianliankan 用 Python 图像识别实现 QQ 连连看秒破【免费下载链接】Auto-Lianliankan基于python图像识别实现的连连看外挂可实现QQ连连看秒破项目地址: https://gitcode.com/gh_mirrors/au/Auto-Lianliankan你有没有过这样的时刻在连连看里盯着满屏方块拼命寻找最后几对匹配倒计时却冷酷地归零功亏一篑Auto-Lianliankan 就是为这种崩溃瞬间而生的——一个基于 Python 图像识别实现的连连看外挂它负责替你睁大眼睛找方块也负责替你果断点下鼠标目标只有一个QQ 连连看秒破整盘一键清空。先把战果摆出来三张截图里的秒破现场在讲任何原理之前我想先让你看看它到底能做到什么程度。下面这三张截图是作者把配置文件里的TIME_INTERVAL点击间隔直接调成0后跑出来的效果场面相当震撼棋盘上铺满白色爆炸特效右上角赫然写着连击 37/37剩余方块0——注意是 0。也就是说一整盘方块都被配对消除了全程没有人动过鼠标。第二张截图里连击 39/39再次刷满屏黄色爆炸特效呈对称状铺开。这恰恰说明程序并不是在瞎点它每次选中的都是当前可连通的正确配对否则不可能打出如此整齐的连击。最后这张更有意思棋盘中央炸出螺旋状闪电特效连击数飙到47/47。把这三张图连起来看你大概能想象出那个画面游戏开局脚本启动几十秒后整盘方块消失全程你只需要端着茶杯在旁边看戏。这就是 Auto-Lianliankan 的日常战绩。它不是魔法而是一条七步通关流水线很多人第一次看到这种自动秒破的效果第一反应是开挂了用了什么黑科技。其实拆开看Auto-Lianliankan 做的事情特别朴素一共就七步像一条小工厂流水线定位窗体——用 Windows API 找到游戏窗口把它顶到最前面截屏——把整个屏幕抓下来交给 OpenCV 读取切片——按照方块的宽高把棋盘区域切成一块一块的小图归类——把长得一样的图案归成一类记一个编号转矩阵——把所有方块从图片翻译成数字矩阵找对——在数字矩阵上跑连连看算法找出可连通的配对点击——模拟鼠标左键依次点掉这一对然后循环。这套流程在入口文件run.py里写得明明白白主流程只有十几行if __name__ __main__: game_pos getGameWindowPosition() # 1. 定位游戏窗体 screen_image getScreenImage() # 2. 截取整块屏幕 all_square_list getAllSquare(screen_image, game_pos) # 3. 切片成小方块 types getAllSquareTypes(all_square_list) # 4. 按图案归类 result np.transpose(getAllSquareRecord(all_square_list, types)) # 5. 转成数字矩阵 autoRemove(result, game_pos) # 6. 循环找对并模拟点击你会发现整个过程里根本没有作弊两个字——没有去读游戏内存没有去改游戏数据它只是把你眼睛能看到的画面换成了计算机能理解的信息然后再替你执行你本来就会做的操作。就像你请了一位蒙着眼但手很稳的代练他看不见游戏却比谁都清楚该点哪里。把图片翻译成数字OpenCV 图像识别的三个关键动作既然要让计算机认识图片那第一步就是解决翻译问题。Auto-Lianliankan 的图像识别核心就是三个动作。动作一切片 内缩去干扰。程序根据配置文件里的MARGIN_LEFT、MARGIN_HEIGHT定位棋盘左上角再按SQUARE_WIDTH × SQUARE_HEIGHT的尺寸用 numpy 数组切片把棋盘切成一个个小方块。有趣的是作者还特意做了内缩处理——用小方块内部的SUB_LT_X / SUB_LT_Y / SUB_RB_X / SUB_RB_Y四个坐标把边缘裁掉一圈因为空白区域的切图边缘往往不一致裁掉外缘能避免干扰。动作二图案归类。每一块小图都要和已记录的类型库比对相同图案归为同一类型。你可能会问为什么空白也算一种类型因为程序把empty.png当作0 号类型单独塞进数组——空白是连连看算法里的通路必须单独标记。动作三数字矩阵。每个方块最后都变成一个数字编号整个棋盘就成了一串二维数组比如11×6的棋盘就是一个11×6的数字矩阵。到这里图片的世界彻底翻译成了计算机的世界。这里还有一个很值得品味的细节empty.png这张图的分辨率是21×25 像素正好等于切片内缩后的小图尺寸26-52130-525。也就是说如果你改了内缩坐标就必须同步替换一张对应大小的empty.png否则程序会直接报错。这种配置和资源强绑定的约束恰恰暴露了它作为学习项目的那种真实感——它不是包装精美的商业软件而是一个工程师手把手教你写出来的作业。能不能连藏在 matching.py 里的两拐角判定图像识别只是看清楚真正决定胜负的是matching.py里的连通算法。连连看的规则大家都很熟两个相同图案之间只能通过不超过两个拐角的空路径相连。这套判定逻辑被作者拆成了四个函数层层递进horizontalCheck/verticalCheck0 拐角也就是水平或垂直直线相连中间全是空白turnOnceCheck1 个拐角想象两个方块在一个 L 形的两端turnTwiceCheck2 个拐角路径像 Z 形或 U 形需要遍历整个棋盘找合适的拐点。入口函数canConnect把这些判断按顺序串起来任何一层通过就立刻放行def canConnect(x1, y1, x2, y2, r): if result[x1][y1] 0 or result[x2][y2] 0: # 空白方块直接排除 return False if result[x1][y1] ! result[x2][y2]: # 图案不同直接排除 return False if horizontalCheck(x1, y1, x2, y2): # 0 拐角水平直连 return True if verticalCheck(x1, y1, x2, y2): # 0 拐角垂直直连 return True if turnOnceCheck(x1, y1, x2, y2): # 1 个拐点L 形 return True if turnTwiceCheck(x1, y1, x2, y2): # 2 个拐点Z/U 形 return True return False这套逻辑本质上和你肉眼看图时想的事情一模一样——只不过你每看一对要花几秒而程序遍历全部方块找一对只需要不到一眨眼的功夫。更妙的是找对和点击是交替进行的每消掉一对棋盘数字矩阵就实时更新下一对的判定永远基于最新局面所以它几乎不会陷入消到最后没路走的死局。3 分钟跑起来环境准备、启动命令与第一盘胜利讲了一堆原理你肯定已经手痒了。别急上手其实非常快满打满算三步。第一步克隆仓库。在命令行执行git clone https://gitcode.com/gh_mirrors/au/Auto-Lianliankan第二步装依赖。项目环境要求不高Python 3.5 及以上再加上 OpenCV、pywin32Windows API 库、PIL屏幕截图库这几个常用包。如果你在 Windows 上安装 OpenCV 时踩坑run.py文件头部就贴心标注了当年验证过的版本号和下载地址照着来基本不会错。第三步跑起来。仓库里随附了一个连连看.rar解压打开里面的游戏等开局之后再运行python run.py然后你就可以放下鼠标了。程序会自动定位窗体找不到会每 5 秒重试一次、置顶窗口、截屏分析、找对消除直到整盘清空。有两个小提醒一是游戏窗口千万别拖出屏幕外程序抓不到屏幕以外的数据二是仓库里开源的配置是针对随附的连连看.rar那款游戏的如果你想把目标换成 QQ 连连看需要自己照着[config.py](https://link.gitcode.com/i/8102295ad1f3352840cde6c5bf0ffeea)的格式重新量一遍对应的偏移和尺寸。想更快更准这份配置调优小清单请收好Auto-Lianliankan 的全部手感几乎都藏在config.py那二十行配置里。我帮你整理成了一张表改哪个参数、有什么效果一目了然参数默认值作用WINDOW_TITLEPictureMatching3游戏窗口标题用于定位窗体TIME_INTERVAL0.5两次点击的间隔秒数越小越快MARGIN_LEFT/MARGIN_HEIGHT100 / 100棋盘相对窗体左上角的偏移H_NUM/V_NUM11 / 6棋盘横向、纵向的方块数量SQUARE_WIDTH/SQUARE_HEIGHT65 / 65单个方块的像素宽高SUB_LT_X/Y、SUB_RB_X/Y5 / 5 / 26 / 30切片内缩区域需与empty.png配套调优思路其实就两条线速度线和适配线。想体验演示级的刺激效果把TIME_INTERVAL压到 0就是文章开头那三张截图的状态日常求稳的话保持在 0.3~0.5 就够用了。换了游戏版本或窗口分辨率优先检查MARGIN_*和SQUARE_*因为这两个参数一错切片位置就全乱了。调整完别忘了跑一次看打印出来的数字矩阵是否和棋盘布局对得上。翻车现场急救常见问题排查清单既然是工具就不可能永远一次成功。我把最容易遇到的几个问题整理成了一份急救清单一直提示定位游戏窗体失败5 秒后重试...多半是窗口标题对不上检查WINDOW_TITLE是否与游戏标题栏完全一致同时记住要先开游戏、再跑脚本。方块识别错乱、连错对基本可以锁定是配置和游戏版本不匹配。先核对MARGIN、SQUARE、H_NUM、V_NUM是否准确再检查empty.png尺寸是否和切片内缩区域配套。鼠标在点但游戏没反应窗口被遮挡或者没被置顶了。别把游戏窗体拖到屏幕外也尽量别让其他窗口盖住它。运行偏慢试着把TIME_INTERVAL调小或者关掉几个后台程序给截屏和计算腾点资源。如果以上都不行最稳妥的办法是回去对照run.py每一步的print输出——作者很贴心地把每个阶段都打了日志从捕获屏幕截图到转置成数字矩阵你能清楚地看到程序卡在了哪一步。写在最后工具无罪边界在心说到这Auto-Lianliankan 的技术含量你已经心里有数了一段不到两百行的run.py一份二十行的config.py一个几十行就讲完连通判定的matching.py却组合出了秒破一整盘的效果。它最打动我的地方不是那个炫酷的战绩而是它把看图和点鼠标这件人人都会的事翻译成了一段计算机能执行的指令——这正是图像识别与自动化最迷人的入门范式。当然越是好用的工具越要守住使用的边界。这个项目开源的目的很明确就是交流与学习请仅用于个人学习研究不要用于商业用途不要在竞技环境中使用也请自觉遵守游戏与平台规则。技术本身是中性的让它发光还是添乱取决于使用它的人。如果你也想亲手体验一把鼠标自己会通关的乐趣或者想拿它当一个绝佳的图像识别学习案例现在就访问项目仓库把代码拉下来跑一局吧。相信看完这份奇迹是怎么发生的你收获的不仅是一次轻松通关更是一整套关于图像识别与自动化的完整思维模型。【免费下载链接】Auto-Lianliankan基于python图像识别实现的连连看外挂可实现QQ连连看秒破项目地址: https://gitcode.com/gh_mirrors/au/Auto-Lianliankan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/6 22:01:00

电脑硬件配置清单:从系统工具到专业软件,全面掌握设备信息

1. 为什么你需要一份完整的硬件配置清单?每次帮朋友看电脑问题,或者自己打算升级配件、安装新软件时,我总会先问一句:“你电脑什么配置?”得到的回答往往是“好像是i5的”、“显卡是英伟达的”、“内存8G吧”。这种模糊…

2026/10/4 15:41:50

基于Raspberry Pi Pico 2 W的边缘机器学习蜂箱智能监测系统实践

1. 从蜂箱到边缘:为什么我们需要一个智能监测方案养蜂,听起来像是一项田园牧歌般的活动,但任何一个有经验的养蜂人都会告诉你,这背后充满了挑战。蜂群健康、蜜源变化、病虫害威胁,每一个因素都直接影响着蜂群的存续和蜂…

2026/10/6 21:59:48

DeepSeek R1推理型大模型使用指南:从提问范式到生产落地

简介:本资源是一份面向AI初学者与进阶用户的DeepSeek R1实战指南,聚焦被多数人忽略的高阶使用技巧,解决“会用但用不深、提问不准、效果不佳”等典型痛点。PDF文档共1个文件,大小6.47MB,内容系统覆盖DeepSeek网页版与A…

2026/10/6 21:59:48

JSP+SQL Server 2000新闻管理系统毕设实战:环境搭建与增删改查

简介:这份资源是面向计算机专业学生与Java Web初学者的一份大学毕业论文配套文档,主题为基于JSP与SQL Server 2000的网站新闻管理系统设计与实现,可作为毕业设计选题参考或课程设计模板。压缩包内共1个doc文件,约461KB&#xff0c…

2026/10/6 21:59:48

AI Native研发落地手册:从CLAUDE.md到多Agent协作的SDLC重构实践

1. 从“人肉对齐”到“AI Native”:为什么你的团队需要这本落地手册 如果你最近半年一直在关注研发效能这个圈子,大概率已经被“AI Native”这个词反复冲刷过。但真正让我决定动手写这份完整开发落地手册的,不是又看到了哪篇趋势分析&#xf…

2026/10/6 21:54:48

AI视频成本拐点:智能体编排为何比模型本身更烧钱

1. 项目概述:一场被价格标签刺痛的AI视频生成现实最近在几个技术社区刷到一条标题特别扎眼的消息:“Twelve AI clay films for $184: The agents cost more than the video model”——直译过来就是“用184美元做了12部AI黏土动画短片,结果光…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 0:03:23

MR25H40CDF+STM32F031C6工业级高可靠数据存储方案

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的 PLC 控制柜里、在风电变流器的散热片背面、在矿井监测终端的金属外壳下,你经常能看到一块指甲盖大小的黑色芯片——它既不是 Flash,也不是…

2026/10/6 0:03:23

MRAM+STM32工业断电数据保全实战指南

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的PLC柜里、在野外无人值守的环境监测终端里、在高速运转的包装机控制板上,你经常能看到一块指甲盖大小的黑色芯片,旁边贴着“MR25H40CDF”丝…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑