QQ游戏对对碰教程
互联网 发布时间:2009-04-27 02:04:16 作者:佚名
我要评论
这些日子,QQ游戏是风光了一阵.俄罗斯方块,连连看,对对碰这些游戏的层出不穷,其实这一类外挂的原理大体都是一样的,下面我就以QQ游戏对对碰外挂作为例子阐述一下QQ的制作原理,
观察QQ游戏对对
ype And boxs(i, j).type = boxs(i - 3, j).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i - 1, j).x, boxs(i - 1, j).y
Exit Function
End If
Next j
Next i
'_ 情况
For i = 2 To 7
For j = 0 To 6
If boxs(i, j).type = boxs(i - 1, j 1).type And boxs(i, j).type = boxs(i - 2, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j 1).x, boxs(i, j 1).y
Exit Function
End If
Next j
Next i
' _ 情况
For i = 2 To 7
For j = 1 To 7
If boxs(i, j).type = boxs(i - 1, j - 1).type And boxs(i, j).type = boxs(i - 2, j - 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j - 1).x, boxs(i, j - 1).y
Exit Function
End If
Next j
Next i
'_-- 情况
For i = 1 To 7
For j = 0 To 5
If boxs(i, j).type = boxs(i - 1, j 2).type And boxs(i, j).type = boxs(i - 1, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i - 1, j).x, boxs(i - 1, j).y
Exit Function
End If
Next j
Next i
'-_ _ 情况
For i = 0 To 6
For j = 0 To 5
If boxs(i, j).type = boxs(i 1, j 2).type And boxs(i, j).type = boxs(i 1, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i 1, j).x, boxs(i 1, j).y
Exit Function
End If
Next j
Next i
' -_- 情况
For i = 1 To 7
For j = 1 To 6
If boxs(i, j).type = boxs(i - 1, j - 1).type And boxs(i, j).type = boxs(i - 1, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i - 1, j).x, boxs(i - 1, j).y
Exit Function
End If
Next j
Next i
' _-_ 情况
For i = 0 To 6
For j = 1 To 6
If boxs(i, j).type = boxs(i 1, j - 1).type And boxs(i, j).type = boxs(i 1, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i 1, j).x, boxs(i 1, j).y
Exit Function
End If
Next j
Next i
' < 情况
For i = 1 To 6
For j = 1 To 7
If boxs(i, j).type = boxs(i 1, j - 1).type And boxs(i, j).type = boxs(i - 1, j - 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j - 1).x, boxs(i, j - 1).y
Exit Function
End If
Next j
Next i
'> 情况
For i = 1 To 6
For j = 0 To 6
If boxs(i, j).type = boxs(i 1, j 1).type And boxs(i, j).type = boxs(i - 1, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j 1).x, boxs(i, j 1).y
Exit Function
End If
Next j
Next i
'--_ 情况
For i = 1 To 7
For j = 2 To 7
If boxs(i, j).type = boxs(i - 1, j - 2).type And boxs(i, j).type = boxs(i - 1, j - 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i - 1, j).x, boxs(i - 1, j).y
Exit Function
End If
Next j
Next i
'-- - 情况
For i = 0 To 7
For j = 3 To 7
If boxs(i, j).type = boxs(i, j - 2).type And boxs(i, j).type = boxs(i, j - 3).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j - 1).x, boxs(i, j - 1).y
Exit Function
End If
Next j
Next i
'_ _- 情况
For i = 0 To 6
For j = 2 To 7
If boxs(i, j).type = boxs(i 1, j - 2).type And boxs(i, j).type = boxs(i 1, j - 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i 1, j).x, boxs(i 1, j).y
Exit Function
End If
Next j
Next i
'- -- 情况
For i = 0 To 7
For j = 0 To 4
If boxs(i, j).type = boxs(i, j 2).type And boxs(i, j).type = boxs(i, j 3).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j 1).x, boxs(i, j 1).y
Exit Function
End If
Next j
Next i
End Function
这里的鼠标模拟用了鼠标事件.你也可以用sendmessage来实现.
'**********过程名:DelayTime******************
'作者:Cyril
'书写日期:2004.10.23
'编辑日期:2002.10.23
'目的:模拟鼠标单击
'方法:mouseClick(ByVal x As Long, ByVal y As Long)
'说明:x -- 方块相对游戏窗口的X; y -- 方块相对游戏窗口的Y;
'返回值:无
'应用于:MainMod模块
'********************************************
Public Sub mouseClick(ByVal x As Long, ByVal y As Long)
Dim po As POINTAPI 'po点击前鼠标位置
Dim kX As Long '方块的绝对X坐标
Dim kY As Long '方块的绝对Y坐标
Dim winRECT As RECT '游戏窗口的RECT
'获得游戏窗口的RECT
GetWindowRect g_WindowHwnd, winRECT
'绝对坐标 = 游戏窗口左上角坐标 游戏中的相对坐标
kX = winRECT.Left x
kY = winRECT.Top y
'获得鼠标点击前位置
GetCursorPos po
'模拟鼠标移动
mouse_event MOUSEEVENTF_MOVE Or MOUSEEVENTF_ABSOLUTE, kX * 65535 / 1024, kY * 65535 / 768, 0&, 0&
'模拟鼠标按下弹起
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP Or MOUSEEVENTF_ABSOLUTE, 0, 0, 0&, 0&
'点击后返回原先位置
SetCursorPos po.x, po.y
End Sub
'**********过程名:DelayTime******************
'作者:Cyril
'书写日期:2004.10.23
'编辑日期:2002.10.23
'目的:取游戏中某点颜色
'方法:getColor(ByVal newX As Long, ByVal newY As Long) As Long
'说明:newX -- 要取颜色的点的X; newY -- 要取颜色的点的Y;(X,Y均相对于游戏窗口)
'返回值:Long
'应用于:MainMod模块
'********************************************
Public Function getColor(ByVal newX As Long, ByVal newY As Long) As Long
Dim windowDC As Long
'获取游戏场景
windowDC = GetDC(g_WindowHwnd)
'取场景中 (newX,newY)坐标的颜色
getColor&n
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i - 1, j).x, boxs(i - 1, j).y
Exit Function
End If
Next j
Next i
'_ 情况
For i = 2 To 7
For j = 0 To 6
If boxs(i, j).type = boxs(i - 1, j 1).type And boxs(i, j).type = boxs(i - 2, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j 1).x, boxs(i, j 1).y
Exit Function
End If
Next j
Next i
' _ 情况
For i = 2 To 7
For j = 1 To 7
If boxs(i, j).type = boxs(i - 1, j - 1).type And boxs(i, j).type = boxs(i - 2, j - 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j - 1).x, boxs(i, j - 1).y
Exit Function
End If
Next j
Next i
'_-- 情况
For i = 1 To 7
For j = 0 To 5
If boxs(i, j).type = boxs(i - 1, j 2).type And boxs(i, j).type = boxs(i - 1, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i - 1, j).x, boxs(i - 1, j).y
Exit Function
End If
Next j
Next i
'-_ _ 情况
For i = 0 To 6
For j = 0 To 5
If boxs(i, j).type = boxs(i 1, j 2).type And boxs(i, j).type = boxs(i 1, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i 1, j).x, boxs(i 1, j).y
Exit Function
End If
Next j
Next i
' -_- 情况
For i = 1 To 7
For j = 1 To 6
If boxs(i, j).type = boxs(i - 1, j - 1).type And boxs(i, j).type = boxs(i - 1, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i - 1, j).x, boxs(i - 1, j).y
Exit Function
End If
Next j
Next i
' _-_ 情况
For i = 0 To 6
For j = 1 To 6
If boxs(i, j).type = boxs(i 1, j - 1).type And boxs(i, j).type = boxs(i 1, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i 1, j).x, boxs(i 1, j).y
Exit Function
End If
Next j
Next i
' < 情况
For i = 1 To 6
For j = 1 To 7
If boxs(i, j).type = boxs(i 1, j - 1).type And boxs(i, j).type = boxs(i - 1, j - 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j - 1).x, boxs(i, j - 1).y
Exit Function
End If
Next j
Next i
'> 情况
For i = 1 To 6
For j = 0 To 6
If boxs(i, j).type = boxs(i 1, j 1).type And boxs(i, j).type = boxs(i - 1, j 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j 1).x, boxs(i, j 1).y
Exit Function
End If
Next j
Next i
'--_ 情况
For i = 1 To 7
For j = 2 To 7
If boxs(i, j).type = boxs(i - 1, j - 2).type And boxs(i, j).type = boxs(i - 1, j - 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i - 1, j).x, boxs(i - 1, j).y
Exit Function
End If
Next j
Next i
'-- - 情况
For i = 0 To 7
For j = 3 To 7
If boxs(i, j).type = boxs(i, j - 2).type And boxs(i, j).type = boxs(i, j - 3).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j - 1).x, boxs(i, j - 1).y
Exit Function
End If
Next j
Next i
'_ _- 情况
For i = 0 To 6
For j = 2 To 7
If boxs(i, j).type = boxs(i 1, j - 2).type And boxs(i, j).type = boxs(i 1, j - 1).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i 1, j).x, boxs(i 1, j).y
Exit Function
End If
Next j
Next i
'- -- 情况
For i = 0 To 7
For j = 0 To 4
If boxs(i, j).type = boxs(i, j 2).type And boxs(i, j).type = boxs(i, j 3).type Then
mouseClick boxs(i, j).x, boxs(i, j).y
mouseClick boxs(i, j 1).x, boxs(i, j 1).y
Exit Function
End If
Next j
Next i
End Function
这里的鼠标模拟用了鼠标事件.你也可以用sendmessage来实现.
'**********过程名:DelayTime******************
'作者:Cyril
'书写日期:2004.10.23
'编辑日期:2002.10.23
'目的:模拟鼠标单击
'方法:mouseClick(ByVal x As Long, ByVal y As Long)
'说明:x -- 方块相对游戏窗口的X; y -- 方块相对游戏窗口的Y;
'返回值:无
'应用于:MainMod模块
'********************************************
Public Sub mouseClick(ByVal x As Long, ByVal y As Long)
Dim po As POINTAPI 'po点击前鼠标位置
Dim kX As Long '方块的绝对X坐标
Dim kY As Long '方块的绝对Y坐标
Dim winRECT As RECT '游戏窗口的RECT
'获得游戏窗口的RECT
GetWindowRect g_WindowHwnd, winRECT
'绝对坐标 = 游戏窗口左上角坐标 游戏中的相对坐标
kX = winRECT.Left x
kY = winRECT.Top y
'获得鼠标点击前位置
GetCursorPos po
'模拟鼠标移动
mouse_event MOUSEEVENTF_MOVE Or MOUSEEVENTF_ABSOLUTE, kX * 65535 / 1024, kY * 65535 / 768, 0&, 0&
'模拟鼠标按下弹起
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP Or MOUSEEVENTF_ABSOLUTE, 0, 0, 0&, 0&
'点击后返回原先位置
SetCursorPos po.x, po.y
End Sub
'**********过程名:DelayTime******************
'作者:Cyril
'书写日期:2004.10.23
'编辑日期:2002.10.23
'目的:取游戏中某点颜色
'方法:getColor(ByVal newX As Long, ByVal newY As Long) As Long
'说明:newX -- 要取颜色的点的X; newY -- 要取颜色的点的Y;(X,Y均相对于游戏窗口)
'返回值:Long
'应用于:MainMod模块
'********************************************
Public Function getColor(ByVal newX As Long, ByVal newY As Long) As Long
Dim windowDC As Long
'获取游戏场景
windowDC = GetDC(g_WindowHwnd)
'取场景中 (newX,newY)坐标的颜色
getColor&n
相关文章
通常情况下,只有群主才具备设置管理员和解散群聊的权限,该怎么设置qq群管理员呢?详细请看下文介绍2025-01-30
电脑qq聊天框变成一侧显示怎么切换回来? 电脑qq聊天变成两边的技巧
电脑qq聊天框变成一侧显示怎么切换回来?qq聊天框正常聊天内容是一左一右显示的,该怎么解决这个问题呢?下面我们就来看看电脑qq聊天变成两边的技巧2023-11-07
QQ作为年轻人社交软件,在这里大家如果喜欢发布说说应该都比较好奇如何去设置说说定时发布,下面小编带来了详细操作步骤,一起来学习一下吧2023-01-06
QQ作为年轻人使用的社交软件,在这里大家想要知道在过去一年中,我们和谁的交流最多可以查看年度报告,下面就跟着小编来看看2022年的年度报告在哪里查看吧2022-12-22
腾讯QQ是腾讯公司开发的一款基于Internet的即时通信(IM)软件,腾讯QQ最新版支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功2022-12-20
腾讯QQ支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与多种通讯终端相连,下面就跟着小编来学习如何导入文件到腾2022-12-20
QQ乐在沟通数十年,聊天欢乐9亿人,下载QQ最新版,随时随地收发好友和群消息,一触即达,在这里大家知怎么去下载腾讯问卷吗?一起来看看下面的教程吧2022-12-20
在QQ上和亲朋好友聊天,如果我们当前不再QQ页面,我们可以设置消息预览的方式,让我们不用打开QQ就能了解到消息内容,下面来看看设置的具体步骤吧2022-12-20
QQ群可以汇集一群志同道合、有共同兴趣爱好或者目标的小伙伴在一起交流讨论,在这里大家还可以使用抽签工具,下面小编带来了使用抽签工具的方法,一起来看看吧2022-12-13
12月9日,QQ上线了一个全新的榜单功能,通过这个新功能查看到自己的等级在全球排名多少,那么该如何进行排名的查看呢?跟着小编带来的教程学习一下吧2022-12-12











最新评论