Работает поиск букв на экране , найденные координаты букв добавляются в массив, никак не получается достать из массива случайную букву и ткнуть мышкой по ее координатам
Код:
Func S_M_N()
Local $AC=0xA0C6A0 ; Искомый цвет пикселя точки А
Local $x1=826 ; границы области поиска
Local $x2=868
Local $y1=665
Local $y2=748
Local $sh=20 ; вириация цвета
;Local $time=3000; 1 секунда - время проверки
Local $SBx=23 ; буква S координаты точки В относительно полученных координат А
Local $SBy=0
Local $SCx=0 ; буква S координаты точки С относительно полученных координат А
Local $SCy=6
Local $MBx=19 ; буква M координаты точки В относительно полученных координат А
Local $MBy=0
Local $MCx=0 ; буква M координаты точки С относительно полученных координат А
Local $MCy=7
Local $NBx=17 ; буква N координаты точки В относительно полученных координат А
Local $NBy=0
Local $NCx=0 ; буква N координаты точки С относительно полученных координат А
Local $NCy=7
Local $CC=0xA0C6A0 ; Искомый цвет пикселя точки C
Local $per=0 ; счетчик найденных букв
;Local $perx
;Local $pery
;Local $Arrayx
;Local $Arrayy
Local $Array[5][5] ; массив найденных результатов (координаты X , Y найденных букв), максимум 5 букв.
;S
For $xa = $x1 To $x2
For $ya = $y1 To $y2
$a=PixelSearch( $xa, $ya, $xa, $ya, $AC, $sh )
If @error=0 Then
$b=PixelSearch( $a[0]+$SBx, $a[1], $a[0]+$SBx, $a[1], $AC, $sh )
If @error=0 Then
$c=PixelSearch( $b[0], $b[1]+$SCy, $b[0], $b[1]+$SCy, $CC, $sh )
If @error=0 Then
ProgressOn("","","Буква S найдена",1024,0,1)
MouseMove($c[0], $c[1], 10)
$Array[$per][$per]=$c[0] & $c[1]
ConsoleWrite($Array[$per][$per] & @LF)
$per=$per+1
ElseIf @error=1 Then
EndIf
ElseIf @error=1 Then
EndIf
ElseIf @error=1 Then
EndIf
Next
Next
;M
For $xa = $x1 To $x2
For $ya = $y1 To $y2
$a=PixelSearch( $xa, $ya, $xa, $ya, $AC, $sh )
If @error=0 Then
$b=PixelSearch( $a[0]+$MBx, $a[1], $a[0]+$MBx, $a[1], $AC, $sh )
If @error=0 Then
$c=PixelSearch( $b[0], $b[1]+$MCy, $b[0], $b[1]+$MCy, $CC, $sh )
If @error=0 Then
ProgressOn("","","Буква M найдена",1024,0,1)
MouseMove($c[0], $c[1], 10)
$Array[$per][$per]=$c[0] & $c[1]
ConsoleWrite($Array[$per][$per] & @LF)
$per=$per+1
ElseIf @error=1 Then
EndIf
ElseIf @error=1 Then
EndIf
ElseIf @error=1 Then
EndIf
Next
Next
;N
For $xa = $x1 To $x2
For $ya = $y1 To $y2
$a=PixelSearch( $xa, $ya, $xa, $ya, $AC, $sh )
If @error=0 Then
$b=PixelSearch( $a[0]+$NBx, $a[1], $a[0]+$NBx, $a[1], $AC, $sh )
If @error=0 Then
$c=PixelSearch( $b[0], $b[1]+$NCy, $b[0], $b[1]+$NCy, $CC, $sh )
If @error=0 Then
ProgressOn("","","Буква N найдена",1024,0,1)
MouseMove($c[0], $c[1], 10)
$Array[$per][$per]=$c[0] & $c[1]
ConsoleWrite($Array[$per][$per] & @LF)
$per=$per+1
ElseIf @error=1 Then
EndIf
ElseIf @error=1 Then
EndIf
ElseIf @error=1 Then
EndIf
Next
Next
;Local $w= Random ($Array[0][0],$Array[$per][$per],1)
;ConsoleWrite($w & @LF)
;MouseMove ($w[0], $w[1], 10)
ProgressOn("","","Случайная из найденных букв",1024,0,1)
EndFunc