qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现

achunge 光伏 67 0

CC++游戏辅助基础05之QQ连连看辅助的功能实现

数据我们已经获取到了,接下来 没有什么能阻止我们实现外挂了~

我们先在我们的游戏中,定义一个[11][19]的byte类型数组 用以存储数据

byte m_szGameData[11][19];

然后再写一个 ReadGameData() 函数 用以读取数据

bool CKyodaiPluginDlg::ReadGameData()

{

HWND hGameWnd = GetGameHwnd();

ZeroMemory(m_szGameData, 11 * 19);

if (!hGameWnd)

{

return false;

}

DWORD dwPid = false;

GetWindowThreadProcessId(hGameWnd, &dwPid);

HANDLE hGameProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid);

if (!hGameProcess)

{

MessageBox(L”打开进程失败”);

return false;

}

if (!ReadProcessMemory(hGameProcess, (LPVOID)0x00199F68, m_szGameData, sizeof(m_szGameData), NULL))

{

return false;

}

}

上面这段代码大家都很熟悉了,就不做讲解了(若想了解更多,请关注我的博客 http://www点dbgpro点com)

接下来就是要怎么消除的问题了,如下图,是否可以消除无非就是三种情况,两个在同一条线上,这也就一条线可以消除,要要门就是2条线段可以消除,最多只能有3条线

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第1张图片-蒙胧人生_雅思资讯

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第2张图片-蒙胧人生_雅思资讯

我们要判断x1,y1 x2,y能否消除 我们要先构建2个点x3y3,x4y4 如果 x1y1能到达x3y3(也就是说他们直接的数据都是0) 并且x3y3能到达x4y4 并且 x2y2能到达x4y4则 可以消除

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第3张图片-蒙胧人生_雅思资讯

//判断两个点之间是不是连通的

bool CLLK_WGDlg::LineIsNull(int nRow, int nCol, int nRow2, int nCol2)

{

if (nRow2 == nRow && nCol2 != nCol)

{

int nColMax = max(nCol2,nCol);

int nColMin = min(nCol2,nCol);

for (int y = nColMin; y <= nColMax;y++)

{

if (m_szGameData[nRow][y] != 0)

{

return false;

}

}

return true;

}

else if (nCol == nCol2 && nRow != nRow2)

{

int nRowMin = min(nRow,nRow2);

int nRowMax = max(nRow,nRow2);

for (int x = nRowMin; x <= nRowMax;x++)

{

if (m_szGameData[x][nCol] != 0)

{

return false;

}

}

return true;

}

else if (nRow2 == nRow && nCol2 == nCol) // 2点为同一点的情况

{

return true;

}

else

{

return false;

}

return true;

}

bool CLLK_WGDlg::IsClear(int nRow, int nCol, int nRow2, int nCol2)

{

//先把两个点的数据拿出来

byte data1 = m_szGameData[nRow][nCol];

byte data2 = m_szGameData[nRow2][nCol2];

//把两个点的数据置0 是为了两个贴在一起的能消除

m_szGameData[nRow][nCol] = 0;

m_szGameData[nRow2][nCol2] = 0;

int nTmpRow1 = nRow;

int nTmpRow2 = nRow2;

for (int nTmpCol = 0; nTmpCol < 19;nTmpCol++)

{

if (LineIsNull(nTmpRow1, nTmpCol, nTmpRow2, nTmpCol) && LineIsNull(nTmpRow1, nTmpCol, nRow, nCol) && LineIsNull(nTmpRow2, nTmpCol, nRow2, nCol2))

{

m_szGameData[nRow][nCol] = data1;

m_szGameData[nRow2][nCol2] = data2;

return true;

}

}

int nTmpCol1 = nCol;

int nTmpCol2 = nCol2;

for (int nTmpRow = 0; nTmpRow < 11;nTmpRow++)

{

if (LineIsNull(nTmpRow, nTmpCol1,nTmpRow, nTmpCol2) && LineIsNull(nTmpRow,nTmpCol1,nRow, nCol) && LineIsNull(nTmpRow,nTmpCol2, nRow2, nCol2))

{

m_szGameData[nRow][nCol] = data1;

m_szGameData[nRow2][nCol2] = data2;

return true;

}

}

m_szGameData[nRow][nCol] = data1;

m_szGameData[nRow2][nCol2] = data2;

return false;

}

我们再添加一个函数 ClearOne 用于消除一对

void CKyodaiPluginDlg::ClearOne()

{

ReadGameData();

for (int nRow = 0; nRow < 11; nRow++)

{

for (int nCol = 0; nCol < 19; nCol++)

{

if (m_szGameData[nRow][nCol] == 0)

{

continue;

}

for (int nRow2 = 0; nRow2 < 11; nRow2++)

{

for (int nCol2 = 0; nCol2 < 19; nCol2++)

{

if ((nRow2 != nRow || nCol2 != nCol) && m_szGameData[nRow][nCol] == m_szGameData[nRow2][nCol2] && IsClear(nRow, nCol, nRow2, nCol2))

{

SelectChess(nRow, nCol);

SelectChess(nRow2, nCol2);

return;

}

}

}

}

}

}

clearOne中 如果判断可以消除 则调用SelectChess

可以消的算法有了,我们双击单消按钮,然后添加代码如下

void CKyodaiPluginDlg::SelectChess(int nRow, int nCol)

{

HWND hGameWnd = GetGameHwnd();

if (hGameWnd)

{

int nPosXBase = 5;

int nPosYBase = 165;

int xPos = (nCol + 1) * 30 + nPosXBase;

int yPos = (nRow + 1) * 35 + nPosYBase;

::PostMessage(hGameWnd, WM_LBUTTONDOWN, 0, MAKELPARAM(xPos, yPos));

::PostMessage(hGameWnd, WM_LBUTTONUP, 0, MAKELPARAM(xPos, yPos));

}

}

上面代码中5,165是第一个图片的位置,30,35是每一格图片的大小

接着,我们在按钮消除一对的响应函数中 增加如下调用一下 ClearOne

//消除一对

void CKyodaiPluginDlg::OnBnClickedBtnremove()

{

ClearOne();

}

接着我们运行游戏 测试一下....本篇文章到此结束(若想了解更多,请关注我的博客 http://www点dbgpro点com)...QQ连连看写辅助系列未完待续...

QQ连连看写辅助系列每篇都有源代码,若想获取源代码请私信我。

200行Python实现的qq连连看辅助,用于学习,请不要拿去伤害玩家

欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第4张图片-蒙胧人生_雅思资讯

前言

Python 实现的qq连连看辅助, 仅用于学习, 请在练习模式下使用, 请不要拿去伤害玩家们...

基本环境配置

版本:Python3.6

系统:Windows

相关模块:

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第5张图片-蒙胧人生_雅思资讯

使用方法

开始游戏后运行就行了, 再次提示, 请在练习模式中使用, 否则可能会被其他玩家举报

代码实现

主要思路就是利用pywin32获取连连看游戏句柄, 获取游戏界面的图片, 对方块进行切割, 对每个方块取几个点的颜色进行比对, 均相同则认为是同一个方块,

然后模拟鼠标去消就行了, 代码的最后一行是每次点击的间隔

效果图

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第6张图片-蒙胧人生_雅思资讯 qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第7张图片-蒙胧人生_雅思资讯

实现代码

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第8张图片-蒙胧人生_雅思资讯

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小编的支持。

QQ 突然关停这功能,我人“傻”了

开始前,先问一下大家,手机上在用哪个版本的 QQ 呢?

前段时间,QQ 被爆自带虚幻引擎,安装包直接快 1 个 G 了,64G 手机表示瑟瑟发抖...

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第9张图片-蒙胧人生_雅思资讯

所以很多人果断选择卸载 QQ ,转用更精简容量更小的 QQ 办公简洁版——腾讯 TIM

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第10张图片-蒙胧人生_雅思资讯

毕竟闲聊有微信就够了, TIM 足够满足普通用户的日常办公使用需求。

然而随着腾讯年底的关停大潮,TIM 也没能幸免,最近又有一项重磅功能即将被下架。

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第11张图片-蒙胧人生_雅思资讯

根据腾讯的公告,TIM“云文件”功能于 2022 年 12 月 5 日停止服务,也就是今天已经没办法再使用云文件功能了。

不过云文件真有重要资料的人,估计早转出来了,而且大家常用的手机文件、腾讯文档和微云云盘功能不受本次调整影响。

所以,TIM 这次只受到了小削弱,还是能好好用的。

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第12张图片-蒙胧人生_雅思资讯

然而下一波调整真不知道什么时候要来,毕竟这段时间腾讯系的软件真的太多调整了,可能下一次就砍到自己的头上来。

就拿 12 月 1 日就停运的腾讯 WiFi 管家来说,我们之前也跟大家聊过1 亿用户的蹭网神器,死了!

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第13张图片-蒙胧人生_雅思资讯

作为当年人手一个的蹭网神器,虽然做法是 low 了点,但起码也为很多人解决过上网之急。

可这么重量级的应用,鹅厂说关就关,不带一点犹豫的。

你说网络资源发达了,大家不再需要蹭 WiFi,所以把管理软件砍掉可以理解。

可游戏起家的鹅厂,狠起来就连自己的游戏能力也要砍!

前几天,腾讯游戏管家 PC 端就发出公告,将在 2022 年 12 月 31 日停止服务。

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第14张图片-蒙胧人生_雅思资讯

作为鹅厂官方的游戏加速软件,地位肯定不低的啊,毕竟国服网络环境大家都懂。

来一手加速软件稳定网络,免得团战关键时刻掉线坑队友,这非常有必要配一个啊,可鹅厂毅然决然的把它砍掉...

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第15张图片-蒙胧人生_雅思资讯

除了把整个项目砍掉,鹅厂还致力于对现有软件的“削弱”,例如很多人电脑爱装的腾讯电脑管家 ,也悄咪咪的下架了一些功能。

今年 10 月份,内置在腾讯电脑管家里的 QQ 加速功能,就被鹅厂取消了。

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第16张图片-蒙胧人生_雅思资讯

这功能放在当年妥妥的绝杀,回想初中那会,全班都为 QQ 等级这事犯愁,怎么把 QQ 等级快速挂出个太阳,成为了当下最火的竞速游戏。

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第17张图片-蒙胧人生_雅思资讯

你的 QQ 等级越高,证明你的网上冲浪技巧越高级啊,也侧面展示了你的上网条件比别人更优越,压人一头的感觉不要太好!

虽然现在想起这事真的很不可思议,但人就是这么过来的,有需求就有市场,当年腾讯电脑管家就是看准这点,推出了 QQ 等级加速功能。

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第18张图片-蒙胧人生_雅思资讯

只要在电脑管家里挂半小时,就能获得 0.2 天 QQ 等级加速,接近 10 倍的挂机效率,是个人都知道用腾讯电脑管家挂机。

当年鹅厂也靠这招抢走了 360 的大块蛋糕,以至于现在很多人明明 QQ 都不用了,电脑却还是装着腾讯电脑管家。

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第19张图片-蒙胧人生_雅思资讯

除了这些,还有很多大家不熟悉,甚至没用过就被下架的功能,例如 QQ 保护、邮箱保护、Q 币保护、QQ 群信用星级功能、QQ 邮箱群邮件功能 等等,很多出发点跟想法很好的功能,都在今年内陆续下线了。

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第20张图片-蒙胧人生_雅思资讯

根据老狐搜集的不完全数据,2022 年内鹅厂至少砍掉了 26 款游戏项目,《QQ 堂》《QQ 连连看》《QQ 美女找茬》《全民斩仙》 ,这些上线超过 10 年的经典游戏,将成为历史,消失在我们的视野里。

鹅厂今年三季度营收 1401 亿元,同比下滑 2%,看似业绩下滑了,但实际净利润 399.4 亿元,同比增长 1% 。

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第21张图片-蒙胧人生_雅思资讯

所以,鹅厂确实在这波调整尝到了甜头,短期内开源做不到,那不如先开始节流,不赚钱没前景的全砍,赚钱的有潜力的加大力度整,效果正如财报显示,还是很显著的。

不过强如鹅厂都要开始省小钱了,那么我们这些小市民更不能随意乱花钱啊,要比大公司更精打细算的过日子才行。

所以以后买皮肤、充点券的时候,先给自己一个三连:这钱花得值吗?有平替吗?明天再买行不行?

qq连连看 CC++游戏辅助基础05之QQ连连看辅助的功能实现-第22张图片-蒙胧人生_雅思资讯

认真做到这一点,我相信大家一定会对生活有新的认知的,并且无时无刻对自己发问:这日子啥时候是个头啊....

参考资料:

好机友:刚刚,QQ突然关停这功能,网友炸了

编辑: 猪肉丸

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~