Trang Chủ   Vn+ TiVi   Fanpage Twitter  Fanpage FaceBook
Loading
                                         

Bản Tin Câu Lạc Bộ Pa Tin Im-Pod                                                                          
Diễn đàn Vn+
Tiêu Điểm

Tình Yêu - Giới Tính

1001 Bí Ẩn

Tổng hợp phần mềm

Ebook

Thủ Thuật IT

Thủ Thuật Blog

Video Clip

Lạ & Fun


You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

1Auto game kim cuơng của zing autoit Empty Auto game kim cuơng của zing autoit Mon Aug 22, 2011 9:57 pm

Trunks-Kun

Trunks-Kun
Administrator
Administrator
Phuơng pháp quét điểm ảnh. Sử dụng firefox ở chế độ full màng hình và độ phân giải 1280x800.

Code:
    HotKeySet("!x", "_Exit")
   
    Global $maze[8][8]
    Global $hwnd = WinGetHandle("[CLASS:MozillaUIWindowClass]")
    WinActivate($hwnd)
    $sx = 40
    $sy = 40
   
    Func Load()
        For $x=0 To 7
            For $y=0 To 7
                Local $mx = 470 + $x*$sx + $sx/2
                Local $my = 300 + $y*$sy + $sy/2
                $maze[$x][$y] = PixelGetColor ($mx, $my)
                ;MouseMove($mx, $my)
            Next
        Next
    EndFunc
   
    For $i=0 To 1000
        Local $best = 2, $xp = 0, $yp = 0, $option = -1
        Local $time = TimerInit()
        Load()
        For $y=0 To 7
            For $x=0 To 7
                Local $a = MoveLeft($x, $y)
                Local $c = MoveUp($x, $y)
   
                If $best < $a Then
                    $xp = $x
                    $yp = $y
                    $option = 0
                    $best = $a
                EndIf
   
                If $best < $c Then
                    $xp = $x
                    $yp = $y
                    $option = 2
                    $best = $c
                EndIf
            Next
        Next
        Local $mouse = MouseGetPos()
        Switch $option
            Case -1
                Sleep(500)
            Case 0
                MouseClick("left", 470 + $xp*$sx + $sx/2, 300 + $yp*$sy + $sy/2, 1, 1)
                MouseClick("left", 470 + ($xp-1)*$sx + $sx/2, 300 + $yp*$sy + $sy/2, 1, 1)
            Case 2
                MouseClick("left", 470 + $xp*$sx + $sx/2, 300 + $yp*$sy + $sy/2, 1, 1)
                MouseClick("left", 470 + $xp*$sx + $sx/2, 300 + ($yp-1)*$sy + $sy/2, 1, 1)
            Case Else
                ExitLoop
        EndSwitch
        MouseMove($mouse[0], $mouse[1], 1)
        ;ConsoleWrite($i &". Interval: " & TimerDiff($time) & @CRLF)
   
        Sleep(500)
    Next
   
    Func MoveLeft($x, $y)
        If $x>0 Then
            Return Move($x, $y, -1, 0)
        EndIf
        Return 0
    EndFunc
   
    Func MoveUp($x, $y)
        If $y>0 Then
            Return Move($x, $y, 0, -1)
        EndIf
        Return 0
    EndFunc
   
    Func Move($x, $y, $invx, $invy)
        $Mz = CoPY()
        $temp = $Mz[$x][$y]
        $Mz[$x][$y] = $Mz[$x+$invx][$y+$invy]
        $Mz[$x+$invx][$y+$invy] = $temp
        Return Evaluate($Mz)
    EndFunc
   
    Func CoPY()
        Local $coMz[8][8]
        For $i=0 To 7
            For $j=0 To 7
                $coMz[$i][$j] = $maze[$i][$j]
            Next
        Next
        Return $coMz
    EndFunc
   
    Func Evaluate(ByRef $Mz)
        Local $value = 0
        For $i=0 To 7
            Local $a = CountColumn($Mz, $i)
            Local $b = CountRow($Mz, $i)
            If $a == 3 Then $value = $value + $a
            If $b == 3 Then $value = $value + $b
            If $a > 3 or $b > 3 Then $value = $value + 1000
        Next
        Return $value
    EndFunc
   
    Func CountRow($Mz, $y)
        Local $max = 0, $count = 0, $last = $Mz[$y][0]
        For $i = 0 To 7
            ;ConsoleWrite (Hex($Mz[$y][$i]) & @TAB)
            If $last == $Mz[$y][$i] Then
                $count = $count + 1
            Else
                If $max < $count Then $max = $count
                $count = 1
                $last = $Mz[$y][$i]
            EndIf
        Next
        If $max < $count Then $max = $count
        Return $max
    EndFunc
   
    Func CountColumn($Mz, $x)
        Local $max = 0, $count = 0, $last = $Mz[0][$x]
        For $i = 0 To 7
            ;ConsoleWrite (Hex($Mz[$i][$x]) & @TAB)
            If $last == $Mz[$i][$x] Then
                $count = $count + 1
            Else
                If $max < $count Then $max = $count
                $count = 1
                $last = $Mz[$i][$x]
            EndIf
        Next
        If $max < $count Then $max = $count
        Return $max
    EndFunc
   
    Func Print($Mz = $maze)
        For $x=0 To 7
            For $y=0 To 7
                ConsoleWrite( Hex($Mz[$x][$y]) & @TAB)
            Next
            ConsoleWrite(@CRLF)
        Next
    EndFunc
   
    Func _Exit()
        MsgBox(0, "End", "Chuong trinh ket thuc. Hen gap lai")
        Exit 0
    EndFunc
   
    _Exit()

nguồn autoit.72ls.net

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Permissions in this forum:
Bạn không có quyền trả lời bài viết

 

Legend :  [ Vn-plus Founder ] [ Administrator ] [ Super Moderator ] [ Moderator ] [ Member ] [ VIP member ] [ banned ]



Free Auto Backlink Exchange ServiceFree Backlink Exchange For SeoVietnam BacklinksTravel BacklinksFree BacklinksText Backlink ExchangesText Back Link ExchangeFlorists LinksOverShopping Link ExchangeFree Automatic LinkWeb Link Exchange - Linkcsere

    Diễn Đàn Vn-Plus.Org | Thống kê | Liên hệ | Báo cáo lạm dụng  | Bạn muốn quảng cáo | Lên Đầu Trang

    Powered by: PHPBB2. Copyright © 2011  Diễn Đàn Mở VN+
    Contact: Vn-plus Founder . Yahoo: Nobita_xuka_ccy. Địa chỉ: Từ Tây - Yên Phú - Yên Mỹ - Hưng Yên
    BQT không chịu trách nhiệm bất cứ nội dung nào của thành viên đăng tải

Liên Kết Vớivn+

Free forum | Internet | Computers | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất