话不多说,最近在弄安卓逆向,这次是以前写的,发出来分享一下,感兴趣的可以看看,我这边是有用,如果你们那边可能没用的话,估计是因为 模拟鼠标点击的那个 x,y 坐标值出现偏差了,我电脑15.6寸的,我也不太懂,之前我把这个发给朋友,他电脑上没效果,但是我这边可以秒杀的,你可以下个 spy++工具来获取自己电脑上游戏的x,y坐标,然后修改代码里的click(int nRow, int nCol)方法应该就可以了
下面是代码:
#include <stdio.h>
#include <windows.h>
/**
**********习惯**********
自动刷分辅助,打开连连看大厅即可
(要求:鼠标放在大厅的 快速开始游戏 按钮上面,原因未知,不放自动进不了房间)
1.自动进房间,自动准备
2.一局结束自动退房,再进新房间
**/
byte data[11][19];
const int ROWS = 11; //棋盘的行
const int COLS = 19; //棋盘的列
int count = 0; //总块数,即共有多少个方块,默认0
int round = 1; //当前默认是第1局
int time = 60; //秒杀倒计时
int random = 2; //默认重列次数为2
//以下方法只是判断能不能在两次拐弯之内把线连起来
//还没有判断2个点的数据是否相等
//1.判断 点x,y 是否为空白的,即没有障碍物,可以通过
bool isBlank(int x, int y) {
return data[x][y] == 0 ? true : false;
}
int min(int a, int b) {
return a > b? b : a;
}
int max(int a, int b) {
return a < b? b : a;
}
//2.水平的两点之间能否走通
bool horizon(int x1, int y1, int x2, int y2) {
//只允许两点在水平方向
if(x1 != x2)
return false;
int y_min = min(y1, y2);
int y_max = max(y1, y2);
for(int i=y_min+1; i<y_max; i++) {
if(!isBlank(x1, i))
return false;
}
return true;
}
//3.垂直的两点之间能否走通
bool vertical(int x1, int y1, int x2, int y2) {
//只允许两点在垂直方向
if(y1 != y2)
return false;
int x_min = min(x1, x2);
int x_max = max(x1, x2);
for(int i=x_min+1; i<x_max; i++) {
if(!isBlank(i, y1))
return false;
}
return true;
}
//4.拐一次弯能连起来的,既画两条线能连起来
// 可以拆分成:两个点拐一次弯能否走通 = (水平 + 垂直) || (垂直 + 水平)
bool turn_one(int x1, int y