Jump to content

PixelSpiral Help


Recommended Posts

I translated it from vb.

Private Function FindColorSpiral(color, hdc, x, y, x1, y1, x2, y2 As Long) As POINTAPI
    Dim direction, length, i As Integer
    direction = 0: length = 1
    If color = GetPixel(hdc, x, y) Then GoTo Done
    Do
        For i = 1 To length
            Select Case direction
                Case 0: y = y - 1
                Case 1: x = x + 1
                Case 2: y = y + 1
                Case 3: x = x - 1
            End Select
            If color = GetPixel(hdc, x, y) Then GoTo Done
        Next i
        direction = (direction + 1) Mod 4
        If (direction Mod 2) = 0 Then length = length + 1
    Loop While Not ((x < x1) Or (y < y1) Or (x > x2) Or (y > y2))
    If (color <> GetPixel(hdc, x, y)) Then x = -1: y = -1
Done:
    FindColorSpiral.x = x
    FindColorSpiral.y = y
End Function

Func PixelSpiral($Color, $X, $Y, $X1, $Y1, $X2, $Y2)
    Local $rx, $ry, $dir = 0, $length = 1, $i
    Do
        For $i = 1 to $length
            Select
                Case $dir = 0
                    $y -= 1
                Case $dir = 1
                    $x += 1
                Case $dir = 2
                    $y += 1
                Case $dir = 3
                    $x -= 1
            EndSelect
            MouseMove($x, $y, 0)
            Sleep(2000)
        ;If $Color = PixelGetColor($x, $y) Then
        ;   Return ($x & ", " & $y)
        ;   ExitLoop 2
        ;EndIf
        Next
        $dir = Mod($dir + 1, 4)
        If Mod($dir, 2) = 0 Then $length += 1
    Until ($x > $x1) Or ($y > $y1) Or ($x < $x2) Or ($y < $y2)
    
    If $color <> PixelGetColor($x, $y) Then
        $x = -1
        $y = -1
    EndIf
    
    Return ($x & ", " & $y)
EndFunc

I try executing it with

PixelSpiral($cWhite, 500, 500, 0, 0, 600, 600)

and all I get is

>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Documents and Settings\Drew\My Documents\AutoIt\LSBOT\LSMod.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams 
+>16:06:50 Starting AutoIt3Wrapper v.1.10.1.14  Environment(Language:0409  Keyboard:00000409  OS:WIN_XP/Service Pack 2  CPU:X86  ANSI)
>Running AU3Check (1.54.14.0)  from:C:\Program Files\AutoIt3
+>16:06:50 AU3Check ended.rc:0
>Running:(3.3.0.0):C:\Program Files\AutoIt3\autoit3.exe "C:\Documents and Settings\Drew\My Documents\AutoIt\LSBOT\LSMod.au3"    
+>16:06:53 AutoIT3.exe ended.rc:0
+>16:06:54 AutoIt3Wrapper Finished
>Exit code: 0   Time: 3.748

No mouse movement or anything.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...