Желаемый алгоритм примерно такой.
Есть квадрат 9*9 ячеек. В первой ячейке лежит комбинатор, в остальных элементы которых нужно им соединять по 2 .
Расположение ячеек слева направо, сверху вниз, при соединении элементов, всё что справа от них сдвигается влево.
Пусть каждая ячейка будет в массиве, тогда прибавив 1 будет выбиратся следующая.
Получается что берётся первый элемент, второй и третий. Результат занимает второй слот. После берётся первый, третий и четвёртый и так до 81. Хотя и тут я накосячил у меня дальше 45 не идёт.
После каждой слепки нужно проверить статус и вернуть ячейку назад при неудаче.
Берём комбинатор из 1, элемент из 2 и 3 и жмём кнопку . Если через секунду в поле найден белый цвет или не найден красный, то продолжаем. Далее берём из 1 , 3 и 4.
Или берём из 1, 2 и 3 и нажав кнопку получаем красный цвет, то сдвигаем ячейку и берём ещё раз 1 , 2 и 3.
Этот кусок как я не пытался так и не получилось. Цвет находится правильный назад не сбвигается
Сейчас кусок кода примерно такой.
Есть квадрат 9*9 ячеек. В первой ячейке лежит комбинатор, в остальных элементы которых нужно им соединять по 2 .
Расположение ячеек слева направо, сверху вниз, при соединении элементов, всё что справа от них сдвигается влево.
Пусть каждая ячейка будет в массиве, тогда прибавив 1 будет выбиратся следующая.
Получается что берётся первый элемент, второй и третий. Результат занимает второй слот. После берётся первый, третий и четвёртый и так до 81. Хотя и тут я накосячил у меня дальше 45 не идёт.
После каждой слепки нужно проверить статус и вернуть ячейку назад при неудаче.
Берём комбинатор из 1, элемент из 2 и 3 и жмём кнопку . Если через секунду в поле найден белый цвет или не найден красный, то продолжаем. Далее берём из 1 , 3 и 4.
Или берём из 1, 2 и 3 и нажав кнопку получаем красный цвет, то сдвигаем ячейку и берём ещё раз 1 , 2 и 3.
Этот кусок как я не пытался так и не получилось. Цвет находится правильный назад не сбвигается
Сейчас кусок кода примерно такой.
Код:
Func petCraft1 ()
HotKeySet("{F7}"); отключаем горячую клавишу
Do
;Dim $hItm1=1
;Dim $vItm1=1
Dim $pItm=1 ; позиция
Dim $craft=1 ; 1 удачно , 0 неудачно
Dim $cend=0 ;
Dim $cStep=90 ; количество комбинаций 90=5
Dim $wstatus=0
Dim $rstatus=0
Dim $itmArrV[81] = [$itmSz*1, $itmSz*1, $itmSz*1, $itmSz*1, $itmSz*1, $itmSz*1, $itmSz*1, $itmSz*1, $itmSz*1, $itmSz*2, $itmSz*2, $itmSz*2, $itmSz*2, $itmSz*2, $itmSz*2, $itmSz*2, $itmSz*2, $itmSz*2, $itmSz*3, $itmSz*3, $itmSz*3, $itmSz*3, $itmSz*3, $itmSz*3, $itmSz*3, $itmSz*3, $itmSz*3, $itmSz*4, $itmSz*4, $itmSz*4, $itmSz*4, $itmSz*4, $itmSz*4, $itmSz*4, $itmSz*4, $itmSz*4, $itmSz*5, $itmSz*5, $itmSz*5, $itmSz*5, $itmSz*5, $itmSz*5, $itmSz*5, $itmSz*5, $itmSz*5, $itmSz*6, $itmSz*6, $itmSz*6, $itmSz*6, $itmSz*6, $itmSz*6, $itmSz*6, $itmSz*6, $itmSz*6, $itmSz*7, $itmSz*7, $itmSz*7, $itmSz*7, $itmSz*7, $itmSz*7, $itmSz*7, $itmSz*7, $itmSz*7, $itmSz*8, $itmSz*8, $itmSz*8, $itmSz*8, $itmSz*8, $itmSz*8, $itmSz*8, $itmSz*8, $itmSz*8, $itmSz*9, $itmSz*9, $itmSz*9, $itmSz*9, $itmSz*9, $itmSz*9, $itmSz*9, $itmSz*9, $itmSz*9]
Dim $itmArrH[81] = [$itmSz*1, $itmSz*2, $itmSz*3, $itmSz*4, $itmSz*5, $itmSz*6, $itmSz*7, $itmSz*8, $itmSz*9, $itmSz*1, $itmSz*2, $itmSz*3, $itmSz*4, $itmSz*5, $itmSz*6, $itmSz*7, $itmSz*8, $itmSz*9, $itmSz*1, $itmSz*2, $itmSz*3, $itmSz*4, $itmSz*5, $itmSz*6, $itmSz*7, $itmSz*8, $itmSz*9, $itmSz*1, $itmSz*2, $itmSz*3, $itmSz*4, $itmSz*5, $itmSz*6, $itmSz*7, $itmSz*8, $itmSz*9, $itmSz*1, $itmSz*2, $itmSz*3, $itmSz*4, $itmSz*5, $itmSz*6, $itmSz*7, $itmSz*8, $itmSz*9, $itmSz*1, $itmSz*2, $itmSz*3, $itmSz*4, $itmSz*5, $itmSz*6, $itmSz*7, $itmSz*8, $itmSz*9, $itmSz*1, $itmSz*2, $itmSz*3, $itmSz*4, $itmSz*5, $itmSz*6, $itmSz*7, $itmSz*8, $itmSz*9, $itmSz*1, $itmSz*2, $itmSz*3, $itmSz*4, $itmSz*5, $itmSz*6, $itmSz*7, $itmSz*8, $itmSz*9, $itmSz*1, $itmSz*2, $itmSz*3, $itmSz*4, $itmSz*5, $itmSz*6, $itmSz*7, $itmSz*8, $itmSz*9]
Do
Sleep(300)
MouseClick("left",278+$hshop+$itmArrH[1],9+$vshop+$itmArrV[1],2,0); положить комбинатор
Send("1")
Send("{ENTER}")
MouseClick("left",313+$hshop+$itmArrH[$pItm],9+$vshop+$itmArrV[$pItm],2,0);положить 1
$cStep=$cStep-1
$pItm=$pItm+1
MouseClick("left",313+$hshop+$itmArrH[$pItm],9+$vshop+$itmArrV[$pItm],2,0);положить 1
$cStep=$cStep-1
MouseClick("left",81+$hshop,638+$vshop,1,1); комбинация 90 664 e=9.1
Sleep(1270) ; пауза перед повтором
$status = PixelSearch (550+$hshop,600+$vshop,560+$hshop,613+$vshop,0XFAFBFB,10) ;белый
If Not @error Then $wstatus=1
$status = PixelSearch (550+$hshop,600+$vshop,560+$hshop,613+$vshop,0XA92A34,10) ;красный
If Not @error Then $rstatus=1
If $wstatus<$rstatus Then $pItm-=2
If $pItm<1 Then $pItm=1 ;костыль
Sleep(100)
If $cStep=0 Then $cend=1
Until $cend=1
Until Not _IsPressed('76')
HotKeySet("{F7}", "petCraft1");включаем ее
EndFunc
