Welcome

首页 / 软件开发 / C++ / VC制作水晶连连看外挂

VC制作水晶连连看外挂2011-02-01 vckbase 吴益兵引言:

最近在朋友那搞了个连连看游戏来玩玩,觉得还不错,不过就是玩不过人家,记得以前在一本书上看到过连连看外挂的做法,还比较简单,自己还没忘,于是下定决心, 自己做一个,然后……。哈哈,看谁还打得过我。

好了,现在说下外挂的具体思路(我假设大家都知道连连看游戏的规则)。这个外挂无非就是要电脑来帮我门找到相同的图片并看他们是否连通。这里有两个问题,一个 就是怎么让电脑区别不同的图片呢?这里有个简单的办法,就是在每个图片中取5个点,然后 将这5个点的像素值相加做为这种图片的ID,这样一般不会出现重复的ID,如下图所示例:

这样第一个问题就解决了,第二个问题就是怎么判断它们是否连通,这个您研究下代码就OK拉。 好了现在我们假设第二个问题已经解决了,那么,我们只需要往连连看游戏的窗口的两个相同且连通的图片的地方发送两个鼠标单击的消息 就OK了或者在他们上面画两个圈提示以下。下面是程序运行是的样子:

看到没,两个相同的图片被外挂程序标记了颜色。或者你可以直接点击“自动消除”来自动消除两 个图片。

编程实现:

这里有个难点,就是该连连看的游戏的背景不是单色的,是一幅图片,那我们怎么区分 到底是背景还是前景的图片呢?我这里采用了个笨办法,就是用调试的办法去跟踪,把每个区域的 背景也生成了它们的ID,到时比较一下就是了。这里就是我跟踪得到的数据,我把它门写到了数组里 到时候用就是了。相关代码如下:

//这里边放的是背景的ID
int BackGround[]={83886075,83886060,59434490,82188285,83820266,65305594,83754472,
79584810,82141361,71323293,79582750,79584250,75889042,83818977,62589434,
83175162,83332551,83553749,83818467,73624378,81705626,82759346,82496174,
82100272,81070586,81468437,83754215,83885803,77729230,73148330,78524918,
77217286,83754215,68069635,83597193,80299161,81172078,83027654,83503432,
83686365,65042170,59778810,62410490,83356632,67567649,83523625,81967762,
74584570,83885803,78520804,79577810,83027658,83818467,82220538,61620986,
83820266,83687393,83555050,83818222,83886072};
m_pBackGround=new int[BK_COUNT];
for(int i=0;i< BK_COUNT;i++)
{
m_pBackGround[i]=BackGround[i];
}