找回密码
 加入
搜索
查看: 6063|回复: 10

[求购] QQ连连看自动消除!

  [复制链接]
发表于 2011-10-31 13:08:07 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
QQ连连看自动消除!哪位大大提供点思路吧!

发表于 2011-10-31 20:39:23 | 显示全部楼层
下个其他语言的挂,来研究一下思路先!
发表于 2011-11-1 16:00:33 | 显示全部楼层
论坛里先艘一下,
给你个地址.
http://autoitx.com/forum.php?mod ... =%C1%AC%C1%AC%BF%B4
我也没弄懂原理
发表于 2011-11-16 13:51:58 | 显示全部楼层
有个找图的UDF,楼主试试看
发表于 2012-1-1 11:23:55 | 显示全部楼层
Func ddb_init()
        ;287,106
        ;287,118
        Local $maxi = 7, $maxy = 7
        $count = 0
        While $stopgame = 0

                Local $ddb_str = ""
                For $k = 1 To 1

                        Local $dianji = 0, $sc1 = 0, $sc2 = 0, $kk = 2
                        If PixelGetColor(388, 385) = 0xF8A0F0 Then
                                Sleep(3000)
                                MouseMove(388, 385, 0)
                                Sleep(100)
                                MouseClick("left")
                        EndIf
                        If PixelGetColor(451, 383) = 0xF8BC30 Then
                                ExitLoop
                        EndIf


                        If WinExists('对对碰角色版') Then

                                $pos = WinGetPos('对对碰角色版')
                                If $pos[0] <> 0 And $pos[1] <> 0 Then
                                        WinActivate('对对碰角色版')
                                        Sleep(300)
                                        WinMove('QQ游戏 - 对对碰角色版', "", 0, 0)
                                        Sleep(300)
                                EndIf
                        Else
                                MsgBox(0, "提示", "没有找到对对碰角色版,请打开后重新按F3  3秒后关闭", 1)
                                MsgBox(0, "提示", "没有找到对对碰角色版,请打开后重新按F3  2秒后关闭", 1)
                                MsgBox(0, "提示", "没有找到对对碰角色版,请打开后重新按F3  1秒后关闭", 1)
                                ExitLoop 2
                        EndIf
                        ;MouseMove(473, 72, 0)
                        ;Sleep(50)

                        For $i = 0 To 7
                                For $j = 0 To 7
                                        ;$gc = 63843629
                                        $ddb_data[$i][$j] = PixelChecksum(286 + 48 * $i - 2, 114 + 48 * $j - 2, 286 + 48 * $i + 2, 114 + 48 * $j + 2)
                                        ;$ddb_str = $ddb_str & "|" & $ddb_data[$i][$j]
                                Next
                        Next
                        ;$sc1 = PixelChecksum(275, 99, 641, 134)

                        ;     A---------
                        ;     A
                        ;  AA   A
                        For $i = 2 To $maxi - 1
                                For $j = 0 To $maxy - 2

                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 2] And $ddb_data[$i][$j] = $ddb_data[$i - 2][$j + 2] Then
                                                If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 2] Then
                                                        For $k = 1 To 3
                                                                MouseMove(287 + $i * 48, 118 + ($j + 2) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(287 + ($i + 1) * 48, 118 + ($j + 2) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                        Next
                                                        $dianji = 1
                                                        ToolTip("1")
                                                        ExitLoop 3
                                                EndIf
                                        EndIf
                                Next
                        Next
                        ;     A---------
                        ;     A
                        ;  AA
                        ;     A
                        For $i = 2 To $maxi
                                For $j = 0 To $maxy - 3

                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 2] And $ddb_data[$i][$j] = $ddb_data[$i - 2][$j + 2] Then
                                                If $ddb_data[$i][$j] = $ddb_data[$i][$j + 3] Then
                                                        For $k = 1 To 3
                                                                MouseMove(287 + $i * 48, 118 + ($j + 2) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(287 + ($i + 0) * 48, 118 + ($j + 3) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                        Next
                                                        $dianji = 1
                                                        ToolTip("1")
                                                        ExitLoop 3
                                                EndIf
                                        EndIf
                                Next
                        Next

                        ;   A---------
                        ;   A
                        ; A   AA
                        For $i = 1 To $maxi - 2
                                For $j = 0 To $maxy - 2

                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 2] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 2] Then
                                                If $ddb_data[$i][$j] = $ddb_data[$i + 2][$j + 2] Then
                                                        For $k = 1 To 3
                                                                MouseMove(287 + ($i - 1) * 48, 118 + ($j + 2) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(287 + ($i + 0) * 48, 118 + ($j + 2) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                        Next
                                                        $dianji = 1
                                                        ToolTip("1")
                                                        ExitLoop 3
                                                EndIf
                                        EndIf
                                Next
                        Next
                        ; A---------
                        ; A
                        ;   AA
                        ; A
                        For $i = 0 To $maxi - 2
                                For $j = 0 To $maxy - 3

                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 2] And $ddb_data[$i][$j] = $ddb_data[$i + 2][$j + 2] Then
                                                If $ddb_data[$i][$j] = $ddb_data[$i + 0][$j + 3] Then
                                                        For $k = 1 To 3
                                                                MouseMove(287 + ($i + 0) * 48, 118 + ($j + 2) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(287 + ($i + 0) * 48, 118 + ($j + 3) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                        Next
                                                        $dianji = 1
                                                        ToolTip("1")
                                                        ExitLoop 3
                                                EndIf
                                        EndIf
                                Next
                        Next
                        ; AAB
                        ; BBA
                        For $i = 0 To $maxi - 2
                                For $j = 0 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j] And $ddb_data[$i][$j] = $ddb_data[$i + 2][$j + 1] And $ddb_data[$i][$j] <> $ddb_data[$i + 2][$j] Then
                                                If $ddb_data[$i][$j + 1] = $ddb_data[$i + 1][$j + 1] And $ddb_data[$i][$j + 1] = $ddb_data[$i + 2][$j] Then
                                                        For $k = 1 To 3
                                                                MouseMove(287 + ($i + 2) * 48, 118 + ($j + 0) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(287 + ($i + 2) * 48, 118 + ($j + 1) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                        Next
                                                        $dianji = 1
                                                        ToolTip("1")
                                                        ExitLoop 3
                                                EndIf
                                        EndIf

                                Next
                        Next
                        ; ABA
                        ; BAB
                        For $i = 0 To $maxi - 2
                                For $j = 0 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 2][$j] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] And $ddb_data[$i][$j] <> $ddb_data[$i + 1][$j] Then
                                                If $ddb_data[$i][$j + 1] = $ddb_data[$i + 1][$j] And $ddb_data[$i][$j + 1] = $ddb_data[$i + 2][$j + 1] Then
                                                        For $k = 1 To 3
                                                                MouseMove(287 + ($i + 1) * 48, 118 + ($j + 0) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(287 + ($i + 1) * 48, 118 + ($j + 1) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                        Next
                                                        $dianji = 1
                                                        ToolTip("1")
                                                        ExitLoop 3
                                                EndIf
                                        EndIf

                                Next
                        Next
                        ; AB
                        ; AB
                        ; BA
                        For $i = 0 To $maxi - 1
                                For $j = 0 To $maxy - 2
                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 2] And $ddb_data[$i][$j] <> $ddb_data[$i][$j + 2] Then
                                                If $ddb_data[$i + 1][$j] = $ddb_data[$i + 1][$j + 1] And $ddb_data[$i + 1][$j] = $ddb_data[$i][$j + 2] Then
                                                        For $k = 1 To 3
                                                                MouseMove(287 + ($i + 0) * 48, 118 + ($j + 2) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(287 + ($i + 1) * 48, 118 + ($j + 2) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                        Next
                                                        $dianji = 1
                                                        ToolTip("1")
                                                        ExitLoop 3
                                                EndIf
                                        EndIf

                                Next
                        Next
                        ; AB
                        ; BA
                        ; AB
                        For $i = 0 To $maxi - 1
                                For $j = 0 To $maxy - 2
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i][$j + 2] And $ddb_data[$i][$j] <> $ddb_data[$i][$j + 1] Then
                                                If $ddb_data[$i + 1][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i + 1][$j] = $ddb_data[$i + 1][$j + 2] Then
                                                        For $k = 1 To 3
                                                                MouseMove(287 + ($i + 0) * 48, 118 + ($j + 1) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(287 + ($i + 1) * 48, 118 + ($j + 1) * 48, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                        Next
                                                        $dianji = 1
                                                        ToolTip("1")
                                                        ExitLoop 3
                                                EndIf
                                        EndIf

                                Next
                        Next
                        ;MsgBox(0,"",$ddb_str)
                        ;A-----------
                        ;A
                        ;*A
                        ;A
                        For $i = 0 To $maxi - 1
                                For $j = 0 To $maxy - 3

                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i][$j + 3] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 2] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j + 2) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j + 2) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("1")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ;A-----------
                        ;*A
                        ;A
                        ;A

                        ;$sc1 = PixelChecksum(275, 99, 641, 134)
                        For $i = 0 To $maxi - 1
                                For $j = 0 To $maxy - 3

                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 2] And $ddb_data[$i][$j] = $ddb_data[$i][$j + 3] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("2")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;AA*A
                        ;  A
                        For $i = 0 To $maxi - 3
                                For $j = 0 To $maxy - 1

                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j] And $ddb_data[$i][$j] = $ddb_data[$i + 3][$j] And $ddb_data[$i][$j] = $ddb_data[$i + 2][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i + 2) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 2) * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("3")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;A*AA
                        ; A
                        For $i = 0 To $maxi - 3
                                For $j = 0 To $maxy - 1

                                        If $ddb_data[$i][$j] = $ddb_data[$i + 2][$j] And $ddb_data[$i][$j] = $ddb_data[$i + 3][$j] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i + 1) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("4")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ;A-----------
                        ;A
                        ;*
                        ;A

                        ;$sc1 = PixelChecksum(275, 99, 641, 134)
                        For $i = 0 To $maxi
                                For $j = 0 To $maxy - 3

                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i][$j + 3] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j + 2) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + $i * 48, 118 + ($j + 3) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("5")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;A-----------
                        ;*
                        ;A
                        ;A
                        For $i = 0 To $maxi
                                For $j = 0 To $maxy - 3
                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 2] And $ddb_data[$i][$j] = $ddb_data[$i][$j + 3] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + $i * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("2")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;AA*A
                        For $i = 0 To $maxi - 3
                                For $j = 0 To $maxy
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j] And $ddb_data[$i][$j] = $ddb_data[$i + 3][$j] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i + 2) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 3) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("3")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;A*AA
                        For $i = 0 To $maxi - 3
                                For $j = 0 To $maxy
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 2][$j] And $ddb_data[$i][$j] = $ddb_data[$i + 3][$j] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i + 0) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("4")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;A-----------
                        ; A
                        ;A
                        For $i = 0 To $maxi - 1
                                For $j = 0 To $maxy - 2
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i][$j + 2] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("5")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;A
                        ; A-----------
                        ;A
                        For $i = 1 To $maxi
                                For $j = 1 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i - 1][$j - 1] And $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i - 1) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("6")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ;A-------------------
                        ;A
                        ;  A
                        For $i = 0 To $maxi - 1
                                For $j = 0 To $maxy - 2
                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 2] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j + 2) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j + 2) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("7")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ;  A-------------------
                        ;  A
                        ;A
                        For $i = 1 To $maxi
                                For $j = 0 To $maxy - 2
                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 2] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j + 2) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i - 1) * 48, 118 + ($j + 2) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("8")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;A-------------------
                        ;A
                        ;  A
                        For $i = 0 To $maxi - 1
                                For $j = 0 To $maxy - 2
                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 2] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j + 2) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j + 2) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("9")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;A
                        ;A-------------------
                        ;  A
                        For $i = 0 To $maxi - 1
                                For $j = 1 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i][$j - 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("10")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ;A---------
                        ; A
                        ; A
                        For $i = 0 To $maxi - 1
                                For $j = 0 To $maxy - 2
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 2] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("11")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;A
                        ; A---------
                        ; A
                        For $i = 1 To $maxi
                                For $j = 1 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i - 1][$j - 1] And $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i - 1) * 48, 118 + ($j - 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 0) * 48, 118 + ($j - 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("12")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ;  A-------------
                        ;A
                        ; A
                        For $i = 1 To $maxi
                                For $j = 0 To $maxy - 2
                                        If $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i][$j + 2] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i - 1) * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + $i * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("13")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ; A
                        ;A-------------
                        ; A
                        For $i = 0 To $maxi - 1
                                For $j = 1 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j - 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("14")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;  A-----------
                        ;A
                        ;A
                        For $i = 1 To $maxi
                                For $j = 0 To $maxy - 2
                                        If $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 2] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i - 1) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("15")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ;  A
                        ;A-----------
                        ;A
                        For $i = 0 To $maxi - 1
                                For $j = 1 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j - 1] And $ddb_data[$i][$j] = $ddb_data[$i][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j - 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j - 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("16")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ;A----------
                        ; AA
                        For $i = 0 To $maxi - 2
                                For $j = 0 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i + 2][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + $i * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("17")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;A
                        ; AA----------
                        For $i = 1 To $maxi - 1
                                For $j = 1 To $maxy
                                        If $ddb_data[$i][$j] = $ddb_data[$i - 1][$j - 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i - 1) * 48, 118 + ($j - 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i - 1) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("18")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ; AA----------
                        ;A
                        For $i = 1 To $maxi - 1
                                For $j = 0 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i - 1) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i - 1) * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("19")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ; AA
                        ;A----------
                        For $i = 0 To $maxi - 2
                                For $j = 1 To $maxy
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j - 1] And $ddb_data[$i][$j] = $ddb_data[$i + 2][$j - 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j - 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("20")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ;  A-----------
                        ;AA
                        For $i = 2 To $maxi
                                For $j = 0 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i - 2][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + $i * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("21")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;  A
                        ;AA-----------
                        For $i = 0 To $maxi - 2
                                For $j = 1 To $maxy
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j] And $ddb_data[$i][$j] = $ddb_data[$i + 2][$j - 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i + 2) * 48, 118 + ($j - 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 2) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("22")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;AA--------
                        ;  A
                        For $i = 0 To $maxi - 2
                                For $j = 0 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j] And $ddb_data[$i][$j] = $ddb_data[$i + 2][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i + 2) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 2) * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("23")

                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;AA
                        ;   A--------
                        For $i = 2 To $maxi
                                For $j = 1 To $maxy
                                        If $ddb_data[$i][$j] = $ddb_data[$i - 1][$j - 1] And $ddb_data[$i][$j] = $ddb_data[$i - 2][$j - 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + $i * 48, 118 + ($j - 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("24")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next

                        ;A  A--------
                        ;  A
                        For $i = 0 To $maxi - 2
                                For $j = 0 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i + 2][$j] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i + 1) * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("25")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;A  A
                        ;  A--------
                        For $i = 1 To $maxi - 1
                                For $j = 1 To $maxy
                                        If $ddb_data[$i][$j] = $ddb_data[$i - 1][$j - 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j - 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + ($j - 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("26")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;  A--------
                        ;A   A
                        For $i = 1 To $maxi - 1
                                For $j = 0 To $maxy - 1
                                        If $ddb_data[$i][$j] = $ddb_data[$i - 1][$j + 1] And $ddb_data[$i][$j] = $ddb_data[$i + 1][$j + 1] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + $i * 48, 118 + $j * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + $i * 48, 118 + ($j + 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("27")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                        ;  A
                        ;A   A--------
                        For $i = 0 To $maxi - 2
                                For $j = 1 To $maxy
                                        If $ddb_data[$i][$j] = $ddb_data[$i + 1][$j - 1] And $ddb_data[$i][$j] = $ddb_data[$i + 2][$j] Then
                                                For $k = 1 To $kk
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j - 1) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(287 + ($i + 1) * 48, 118 + ($j + 0) * 48, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                Next
                                                $dianji = 1
                                                ToolTip("28")
                                                ExitLoop 3
                                        EndIf
                                Next
                        Next
                Next
                ;Sleep(200)
                ;For $i=1 To 5
                ;$sc2 = PixelChecksum(275, 99, 641, 134)
                ;If $sc2<>$sc1 Then
                ;        $sc1=$sc2
                ;Else
                ;        ExitLoop
                ;EndIf
                ;Sleep(200)
                ;Next
                ;Sleep(100)
                $count = $count + 1
                ;ToolTip($count, 0, 0)
        WEnd
EndFunc   ;==>ddb_init
发表于 2012-1-1 11:24:33 | 显示全部楼层
不好意思,发错,这个是对对碰的
发表于 2012-1-1 11:26:23 | 显示全部楼层
连连看:

Func llk_init()
        ;28,198
        ;subx=31,suby=33
        ;路 3165296
        $count = 0

        MouseMove(0, 0, 0)
        Sleep(50)
        $llk_ok = 1
        For $i = 0 To 18
                For $j = 0 To 10
                        $gc = 63843629
                        $llk_data[$i][$j] = PixelChecksum(29 + 31 * $i - 3, 199 + 35 * $j - 3, 29 + 31 * $i + 3, 199 + 35 * $j + 3)
                        If $llk_data[$i][$j] <> $gc Then $llk_ok = 0

                Next
        Next
        $ys = Int(GUICtrlRead($llk_ys))
        While $llk_ok = 0 And $stopgame = 0
                If WinExists('QQ游戏 - 连连看角色版') Then

                        $pos = WinGetPos('QQ游戏 - 连连看角色版')
                        If $pos[0] <> 0 And $pos[1] <> 0 Then
                                WinActivate('QQ游戏 - 连连看角色版')
                                Sleep(300)
                                WinMove('QQ游戏 - 连连看角色版', "", 0, 0)
                                Sleep(300)
                        EndIf
                Else
                        MsgBox(0, "提示", "没有找到连连看角色版,请打开后重新按F3  3秒后关闭", 3)

                        ExitLoop
                EndIf

                If PixelGetColor(22, 576) <> 0xF8D000 Then
                        MsgBox(0, "提示", "还未开始,请开始后,重新按F3", 2)
                        ExitLoop
                EndIf

                If PixelChecksum(203, 316, 203, 316) = 3343850680 Then
                        MsgBox(0, "提示", "时间用完,请开始后,重新按F3", 2)
                        ExitLoop
                EndIf

                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                If $i < 18 Then
                                        If $llk_data[$i][$j] = $llk_data[$i + 1][$j] Then
                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                Sleep(100)
                                                MouseClick("left")
                                                Sleep(200)
                                                MouseMove(29 + 31 * ($i + 1), 199 + 35 * $j, 0)
                                                Sleep(100)
                                                MouseClick("left")
                                                Sleep($ys)
                                                $llk_data[$i][$j] = $gc
                                                $llk_data[$i + 1][$j] = $gc
                                                llk_ys()
                                                ExitLoop 2
                                        EndIf
                                EndIf
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $j < 10 Then
                                        If $llk_data[$i][$j] = $gc Then ContinueLoop
                                        If $llk_data[$i][$j] = $llk_data[$i][$j + 1] Then
                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                Sleep(100)
                                                MouseClick("left")
                                                Sleep(200)
                                                MouseMove(29 + 31 * $i, 199 + 35 * ($j + 1), 0)
                                                Sleep(100)
                                                MouseClick("left")
                                                Sleep($ys)
                                                $llk_data[$i][$j] = $gc
                                                $llk_data[$i][$j + 1] = $gc
                                                llk_ys()
                                                ExitLoop 2
                                        EndIf
                                EndIf
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;第一种情况
                                ;    A
                                ;    |
                                ;    |
                                ;    B
                                If $j < 10 Then
                                        For $k = $j + 1 To 10
                                                If $llk_data[$i][$k] = $gc Then ContinueLoop
                                                If $llk_data[$i][$k] = $llk_data[$i][$j] Then
                                                        MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(29 + 31 * $i, 199 + 35 * $k, 0)
                                                        Sleep(100)
                                                        MouseClick("left")

                                                        $llk_data[$i][$j] = $gc
                                                        $llk_data[$i][$k] = $gc
                                                        llk_ys()
                                                        Sleep($ys)
                                                        ExitLoop 3
                                                Else
                                                        ExitLoop 3
                                                EndIf
                                        Next
                                EndIf
                        Next
                Next

                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ; A---B
                                If $i < 18 Then
                                        For $k = $i + 1 To 18
                                                If $llk_data[$k][$j] = $gc Then ContinueLoop
                                                If $llk_data[$k][$j] = $llk_data[$i][$j] Then
                                                        MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(29 + 31 * $k, 199 + 35 * $j, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        $llk_data[$i][$j] = $gc
                                                        $llk_data[$k][$j] = $gc
                                                        llk_ys()
                                                        Sleep($ys)
                                                        ExitLoop 3
                                                Else
                                                        ExitLoop 3
                                                EndIf
                                        Next
                                EndIf
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;===============================
                                ;MsgBox(0,"ij",$i&"|"&$j)
                                ; A
                                ; |
                                ; -----B
                                For $m = $j + 1 To 10
                                        ;ToolTip($llk_data[$i][$m])
                                        ;Sleep(500)
                                        If $llk_data[$i][$m] <> $gc Then ExitLoop
                                        For $n = $i + 1 To 18

                                                If $llk_data[$i][$j] = $llk_data[$n][$m] Then
                                                        MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(29 + 31 * $n, 199 + 35 * $m, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        $llk_data[$i][$j] = $gc
                                                        $llk_data[$n][$m] = $gc
                                                        llk_ys()
                                                        Sleep($ys)
                                                        ExitLoop 4
                                                EndIf
                                                If $llk_data[$n][$m] <> $gc Then ExitLoop
                                        Next
                                Next
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;==================================
                                ;A-------
                                ;       |
                                ;       B
                                For $m = $i + 1 To 18
                                        If $llk_data[$m][$j] <> $gc Then ExitLoop
                                        For $n = $j + 1 To 10

                                                If $llk_data[$i][$j] = $llk_data[$m][$n] Then
                                                        MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(29 + 31 * $m, 199 + 35 * $n, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        $llk_data[$i][$j] = $gc
                                                        $llk_data[$m][$n] = $gc
                                                        llk_ys()
                                                        Sleep($ys)
                                                        ExitLoop 4
                                                EndIf
                                                If $llk_data[$m][$n] <> $gc Then ExitLoop
                                        Next
                                Next

                                ;*******************************************************
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;===============================
                                ;MsgBox(0,"ij",$i&"|"&$j)
                                ; -----B
                                ; |
                                ; A

                                For $m = $j - 1 To 1 Step -1
                                        ;ToolTip($llk_data[$i][$m])
                                        ;Sleep(500)
                                        If $llk_data[$i][$m] <> $gc Then ExitLoop
                                        For $n = $i + 1 To 18

                                                If $llk_data[$i][$j] = $llk_data[$n][$m] Then
                                                        MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(29 + 31 * $n, 199 + 35 * $m, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        $llk_data[$i][$j] = $gc
                                                        $llk_data[$n][$m] = $gc
                                                        llk_ys()
                                                        Sleep($ys)
                                                        ExitLoop 4
                                                EndIf
                                                If $llk_data[$n][$m] <> $gc Then ExitLoop
                                        Next
                                Next
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;==================================
                                ;       B
                                ;       |
                                ; A------
                                For $m = $i + 1 To 18
                                        If $llk_data[$m][$j] <> $gc Then ExitLoop
                                        For $n = $j - 1 To 1 Step -1

                                                If $llk_data[$i][$j] = $llk_data[$m][$n] Then
                                                        MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        Sleep(200)
                                                        MouseMove(29 + 31 * $m, 199 + 35 * $n, 0)
                                                        Sleep(100)
                                                        MouseClick("left")
                                                        $llk_data[$i][$j] = $gc
                                                        $llk_data[$m][$n] = $gc
                                                        llk_ys()
                                                        Sleep($ys)
                                                        ExitLoop 4
                                                EndIf
                                                If $llk_data[$m][$n] <> $gc Then ExitLoop
                                        Next
                                Next

                                ;*******************************************************
                        Next
                Next

                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;===============================
                                ;MsgBox(0,"ij",$i&"|"&$j)
                                ; A
                                ; |
                                ; |
                                ; -----
                                ;      |
                                ;      |
                                ;      B
                                For $m = $j + 1 To 9
                                        If $llk_data[$i][$m] <> $gc Then ExitLoop
                                        For $n = $i + 1 To 18
                                                If $llk_data[$n][$m] <> $gc Then ExitLoop
                                                For $p = $m + 1 To 10
                                                        If $llk_data[$i][$j] = $llk_data[$n][$p] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $n, 199 + 35 * $p, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$n][$p] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$n][$p] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;==================================
                                ;A----
                                ;     |
                                ;     |
                                ;     ---- B
                                For $m = $i + 1 To 17
                                        If $llk_data[$m][$j] <> $gc Then ExitLoop
                                        For $n = $j + 1 To 9
                                                If $llk_data[$m][$n] <> $gc Then ExitLoop
                                                For $p = $m + 1 To 18
                                                        If $llk_data[$i][$j] = $llk_data[$p][$n] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $p, 199 + 35 * $n, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$p][$n] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$p][$n] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next

                                ;*******************************************************
                        Next
                Next

                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;===============================
                                ;MsgBox(0,"ij",$i&"|"&$j)
                                ;     A
                                ;     |
                                ;     |
                                ; -----
                                ; |
                                ; |
                                ;  B
                                For $m = $j + 1 To 9
                                        If $llk_data[$i][$m] <> $gc Then ExitLoop
                                        For $n = $i - 1 To 1 Step -1
                                                If $llk_data[$n][$m] <> $gc Then ExitLoop
                                                For $p = $m + 1 To 10
                                                        If $llk_data[$i][$j] = $llk_data[$n][$p] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $n, 199 + 35 * $p, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$n][$p] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$n][$p] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;==================================
                                ;     -----A
                                ;     |
                                ;     |
                                ; B----
                                For $m = $i - 1 To 2 Step -1
                                        If $llk_data[$m][$j] <> $gc Then ExitLoop
                                        For $n = $j + 1 To 9
                                                If $llk_data[$m][$n] <> $gc Then ExitLoop
                                                For $p = $m - 1 To 1 Step -1
                                                        If $llk_data[$i][$j] = $llk_data[$p][$n] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $p, 199 + 35 * $n, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$p][$n] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$p][$n] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next

                                ;*******************************************************
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;===============================
                                ;MsgBox(0,"ij",$i&"|"&$j)
                                ; B
                                ; |
                                ; |
                                ; -----
                                ;      |
                                ;      |
                                ;      A
                                For $m = $j + 1 To 9
                                        If $llk_data[$i][$m] <> $gc Then ExitLoop
                                        For $n = $i - 1 To 1 Step -1
                                                If $llk_data[$n][$m] <> $gc Then ExitLoop
                                                For $p = $m + 1 To 10
                                                        If $llk_data[$i][$j] = $llk_data[$n][$p] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $n, 199 + 35 * $p, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$n][$p] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$n][$p] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next
                        Next
                Next

                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;==================================
                                ;B----
                                ;     |
                                ;     |
                                ;     ---- A
                                For $m = $i - 1 To 2 Step -1
                                        If $llk_data[$m][$j] <> $gc Then ExitLoop
                                        For $n = $j + 1 To 9
                                                If $llk_data[$m][$n] <> $gc Then ExitLoop
                                                For $p = $m - 1 To 1 Step -1
                                                        If $llk_data[$i][$j] = $llk_data[$p][$n] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $p, 199 + 35 * $n, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$p][$n] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$p][$n] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next

                                ;*******************************************************
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;===============================
                                ;MsgBox(0,"ij",$i&"|"&$j)
                                ;     B
                                ;     |
                                ;     |
                                ; -----
                                ; |
                                ; |
                                ; A
                                For $m = $j - 1 To 2 Step -1
                                        If $llk_data[$i][$m] <> $gc Then ExitLoop
                                        For $n = $i + 1 To 18
                                                If $llk_data[$n][$m] <> $gc Then ExitLoop
                                                For $p = $m - 1 To 1 Step -1
                                                        If $llk_data[$i][$j] = $llk_data[$n][$p] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $n, 199 + 35 * $p, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$n][$p] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$n][$p] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next
                        Next
                Next

                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;==================================
                                ;     -----B
                                ;     |
                                ;     |
                                ; A----
                                For $m = $i + 1 To 17
                                        If $llk_data[$m][$j] <> $gc Then ExitLoop
                                        For $n = $j - 1 To 1 Step -1
                                                If $llk_data[$m][$n] <> $gc Then ExitLoop
                                                For $p = $m + 1 To 18
                                                        If $llk_data[$i][$j] = $llk_data[$p][$n] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $p, 199 + 35 * $n, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$p][$n] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$p][$n] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next

                                ;*******************************************************
                        Next
                Next

                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;===============================
                                ;MsgBox(0,"ij",$i&"|"&$j)
                                ; A----
                                ;      |
                                ;      |
                                ; B----

                                For $m = $i + 1 To 18
                                        If $llk_data[$m][$j] <> $gc Then ExitLoop
                                        For $n = $j + 1 To 10
                                                If $llk_data[$m][$n] <> $gc Then ExitLoop
                                                For $p = $m - 1 To 1 Step -1
                                                        If $llk_data[$i][$j] = $llk_data[$p][$n] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $p, 199 + 35 * $n, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$p][$n] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$p][$n] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;==================================
                                ;  -----A
                                ; |
                                ; |
                                ;  -----B
                                For $m = $i - 1 To 1 Step -1
                                        If $llk_data[$m][$j] <> $gc Then ExitLoop
                                        For $n = $j + 1 To 10
                                                If $llk_data[$m][$n] <> $gc Then ExitLoop
                                                For $p = $m + 1 To 18
                                                        If $llk_data[$i][$j] = $llk_data[$p][$n] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $p, 199 + 35 * $n, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$p][$n] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$p][$n] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next

                                ;*******************************************************
                        Next
                Next

                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;===============================
                                ;MsgBox(0,"ij",$i&"|"&$j)
                                ;  ________
                                ; |       |
                                ; |       |
                                ; A       B

                                For $m = $j - 1 To 1 Step -1
                                        If $llk_data[$i][$m] <> $gc Then ExitLoop
                                        For $n = $i + 1 To 18
                                                If $llk_data[$n][$m] <> $gc Then ExitLoop
                                                For $p = $m + 1 To 10
                                                        If $llk_data[$i][$j] = $llk_data[$n][$p] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $n, 199 + 35 * $p, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$n][$p] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$n][$p] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next
                        Next
                Next
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] = $gc Then ContinueLoop
                                ;==================================
                                ; A       B
                                ; |       |
                                ; |       |
                                ;  -------
                                For $m = $j + 1 To 10
                                        If $llk_data[$i][$m] <> $gc Then ExitLoop
                                        For $n = $i + 1 To 18
                                                If $llk_data[$n][$m] <> $gc Then ExitLoop
                                                For $p = $m - 1 To 1 Step -1
                                                        If $llk_data[$i][$j] = $llk_data[$n][$p] Then
                                                                MouseMove(29 + 31 * $i, 199 + 35 * $j, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                Sleep(200)
                                                                MouseMove(29 + 31 * $n, 199 + 35 * $p, 0)
                                                                Sleep(100)
                                                                MouseClick("left")
                                                                $llk_data[$i][$j] = $gc
                                                                $llk_data[$n][$p] = $gc
                                                                llk_ys()
                                                                Sleep($ys)
                                                                ExitLoop 5
                                                        EndIf
                                                        If $llk_data[$n][$p] <> $gc Then ExitLoop
                                                Next
                                        Next
                                Next

                                ;*******************************************************
                        Next
                Next

                $llk_ok = 1
                For $i = 0 To 18
                        For $j = 0 To 10
                                If $llk_data[$i][$j] <> $gc Then $llk_ok = 0

                        Next
                Next

                If $llk_ok = 1 Then MsgBox(0, "", "都连好了,3秒钟后自动关闭关框", 5)
        WEnd
EndFunc   ;==>llk_init
Func llk_ys()
        $count = $count + 1
        ToolTip("完成数:" & $count, 0, 0)

        If $count > 30 Then
                $ys = Int(GUICtrlRead($llk_ys) / 4)
        Else
                If Mod($count, 20) = 0 Then
                        ToolTip("完成数:" & $count & " 等5秒,不要太快嘛", 0, 0)
                        Sleep(5000)
                        $ys = Int(GUICtrlRead($llk_ys) / 2)
                EndIf
        EndIf

EndFunc   ;==>llk_ys
发表于 2012-1-1 14:01:35 | 显示全部楼层
好长啊  
发表于 2012-1-17 21:10:41 | 显示全部楼层
好长啊  好长啊  好长啊
发表于 2012-1-30 19:47:51 | 显示全部楼层
还有更简单的,呵呵!!
发表于 2012-2-16 19:23:01 | 显示全部楼层
还有更简单的,呵呵!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-21 23:58 , Processed in 0.080804 second(s), 18 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表