这几天期末考,完全没有考试的心情,又无聊到玩起连连看,可惜输得太多,非常不爽,于是自己做个连连看外挂玩一下。网上有很多连连看的外挂可以下载,不过自己做一个来用,感觉自然不一样,毕竟还是学计算机的嘛~~这里简要记下做的过程,有兴趣自己写的朋友可以参考参考~~~
我是用MFC做的~开发环境:Xp sp2 、Visual Studio.NET 2003

一、QQ游戏连连看玩法。
 
玩法非常简单,用鼠标点击两个相同的格子,如果两个格子可以用一条“线”连起来,则这两个格子可以消去。关键是这条“线”最多只能有两个拐点!~

二、外挂的功能需求。
功能简单:一个按键,让游戏自动消去一对格子········

三、外挂原理。
1.获得游戏数据:
  首先,需要获得游戏的格子数据,才能进一步用算出哪两个格子可以消去。对于QQ游戏连连看,可以采用网上比较普遍的做法,读取屏幕像素点,根据像素点判断是什么格子(红球or蓝球or黑桃or······)。
  为了获得游戏的像素数据,必须先获得游戏窗口的指针,在程序中我注册了几个全局热键,我的机制是用户激活游戏窗口,按下外挂注册的全局热键(例如我的是F1键)。这个时候利用一个API获得窗口指针。
// CWnd*        m_pGameWindow; //游戏窗口
m_pGameWindow = GetForegroundWindow();//取出最“顶”的窗口
   接着就可以读取游戏窗口的像素值了,基本思想就是写一个循环
for(int i=0;i<11;i++)// 11行
{
    for(int j=0;j<19;j++)//19列  全世界都知道QQ的连连看方格是11行19列
        //具体读取像素操作
}
具体代码就不贴了~太多了。。最终的结果是将屏幕的格子数据保存到一个11X19的二维数组中,数组的坐标(i,j)就代表在游戏中第几行,几列。array[i][j]的值如果为0就代表该处为空没有格子,1、2、3····就代表不同的格子。像上面那张图片编码后应该就为:
1 0 0 2 3 0 0 4 5 0 0 6 7 0 0 8 3 0 0 第一行编码的结果 。。其它行的就不再贴了。
2.计算可消去的一对格子:
 
  我已经将游戏数据保存到了一个二维数组了。接下来就是如何计算一个哪两个格子可以消去.我的做法是将这个二维数组看成一个图,利用我针对连连看改进的宽度图搜索算法。
3.模拟鼠标点击消去格子:
当算法算出两个可消去的格子的数组坐标后,需要将其转换到实际的屏幕坐标,再进行鼠标模拟点击。
void CLLKCheatDlg::Imitate(int beginX,int beginY,int endX,int endY)
{
    //相对于游戏窗口的两个坐标
    CPoint begin = getPoint(beginX,beginY);
    CPoint end = getPoint(endX,endY);
    //转换到屏幕坐标
    m_pGameWindow->ClientToScreen(&begin);
    m_pGameWindow->ClientToScreen(&end);

//移动鼠标到第一个点
    ::SetCursorPos(begin.x,begin.y);

mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
    mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

::SetCursorPos(end.x,end.y);
    mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
    mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
}
//getPoint是我自己写的,用来计算逻辑坐标到游戏窗口坐标的转换。

四、测试
看看我使用该工具秒杀的截图吧。提供了一个按键,全部消去的功能。

自制 QQ游戏 连连看 外挂 ~~相关推荐

  1. 连连看外挂消去算法分析

    很久之前发布了一个小外挂,是我自己捣鼓出来的QQ游戏连连看外挂. 见:http://www.cnblogs.com/G_Weber/archive/2009/06/02/1494871.html 在做 ...

  2. 【Python游戏外挂】满级小孩进新手村,实现连连看外挂秒杀

    前言: 哈喽~在连连看中满级大佬进新手村是一个什么样的体验? 连连看小游戏,新手必看之正确打开方式[高燃慎入]全是技巧 没有感情 [Python制作游戏外挂]满级大佬进新手村,连连看你看清楚了没? 需 ...

  3. [转载]关于QQ游戏外挂mouse_event不起作用的原因,及我的对对碰外挂程序.

    资源名称 关于QQ游戏外挂mouse_event不起作用的原因,及我的对对碰外挂程序. 作者: dongfa 适用语言: .NET 文件大小 2161 运行平台: Windows XP 上传者: sh ...

  4. 200行Python实现效果逆天的连连看外挂

    本文内容转自我本人的知乎回答:你看过/写过哪些有意思的代码? - 三级狗的回答 - 知乎 https://www.zhihu.com/question/275611095/answer/4079841 ...

  5. QQ游戏外挂制作教程 (对对碰)

    这些日子,QQ游戏外挂是风光了一阵.俄罗斯方块,连连看,对对碰这些游戏的外挂层出不穷.其实这一类外挂的原理大体都是一样的.下面我就以QQ游戏对对碰外挂作为例子阐述一下QQ外挂的制作原理.       ...

  6. 美味连连-QQ游戏辅助-简单实用的QQ游戏美味连连辅助(非外挂)

    这是2013年最好玩的悠闲游戏"美味连连"的辅助软件, 个人认为是目前最好用的QQ游戏"美味连连"辅助软件! 本程序由我原来写的"QQ连连看辅助&qu ...

  7. QQ游戏美女找茬外挂

    前段时间看到别人玩QQ游戏,美女来找茬,突然之间想到自己可以做个小外挂,自动比较两幅图,把不同之处标出来.软件自动化测试和开发简单的游戏外挂很相似.都是控制UI,然后模拟键盘和鼠标操作 思路: 1. ...

  8. 《QQ游戏外挂制作教程》一文的补遗

    前段时间发的这篇文章<QQ游戏外挂制作教程(对对碰)>主要阐述了目前QQ游戏外挂一般的工作原理. 近日收到一些网友的邮件,询问如何其中的一些细节.主要是关于对对游戏中的一些点的坐标,颜色的 ...

  9. 教你用VC6做QQ对对碰外挂程序

    前段时间跟以前的同事玩QQ游戏对对碰,结果输的好惨,后来在网上看到了有对对碰的外挂,但还需要注册,就考虑既然别人可以写出来,我为什么就不能写出来呢?于是花了一个下午的时间仔细研究了一下,把外挂写了出来 ...

最新文章

  1. 下午花一小时整理的JVM运行时方法区
  2. UI Bootstrap
  3. ASP.net实现邮件发送
  4. python异常之ModuleNotFoundError: No module named ‘test01inner02‘
  5. js生成[n,m]的随机数
  6. java实现插入排序算法 附单元测试源码
  7. python列表迭代器_关于Python中迭代器的作用
  8. 【HDU - 5883】The Best Path(判断欧拉回路)
  9. 使用Windows 自带防火墙拦截勒索病毒
  10. 情人节民宿预定量同比增200% 北京建国门最火
  11. Android 如何抓取开机Log
  12. android 修复工具,牛学长安卓手机修复工具(安卓手机修复助手)V2.4.0.11 免费版
  13. 光缆接头盒故障原因分析
  14. PPT 插入表格出现格式如何清除
  15. 疯狂原始人手游怎么用电脑玩 疯狂原始人手游PC电脑版教程
  16. vue-meta 设置页面 <meta>
  17. Element UI学习记录之布局
  18. python安装jupyterlab_Jupyter/JupyterLab安装使用
  19. [源码分析] 从FlatMap用法到Flink的内部实现
  20. 小萝莉五子棋(高能绕行)

热门文章

  1. 信息学奥赛一本通 1979:【18NOIP普及组】龙虎斗 | 洛谷 P5016 [NOIP2018 普及组] 龙虎斗
  2. 信息学奥赛一本通 1003:对齐输出 | OpenJudge NOI 1.1 03
  3. 魔板(信息学奥赛一本通-T1449)
  4. Odd Sum Segments(CF-1196B)
  5. 数塔(HDU-2084)
  6. 3 WM配置-主数据-定义仓库编号的控制参数
  7. 34 MM配置-采购-采购订单-定义凭证类型
  8. php7数据库备份还原,基于thinkphp的数据库在线备份还原
  9. java ldap 父_java – DirContext:Active Directory Ldap请求:获取具有父组的用户组
  10. pycharm在创建py文件时如何自动注释