Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Ramzesia on February 04, 2021, 02:18:19 PM
-
Всем привет прошу помочь, не как не могу разобраться с массивами, как то они сложны для меня. Скрипт есть, нужно определить какая картинка найдена.
Есть 20 картинок, точнее скрины цыфр от 1 до 20, мне нужно что бы из данного скрипта в лог писало какая цифра нашлась.
FOR($Varr = 1, $Varr < 21)
GETSCREEN
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, STRCONCAT($Varr, ".bmp"), -1, 100)
$scan_size = ARRSIZE($ARR_SCAN)
FOR($ARR_NUM=0, $ARR_NUM < $scan_size, 2)
$X = $ARR_SCAN[$ARR_NUM]
$Y = $ARR_SCAN[$ARR_NUM+1]
LCLICK($X + 3, $Y + 3)
WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)
WAITMS(50)
END_CYC
LOGWRITE ($Varr)
-
Привет!
После SCANPICTURE вставь такую строку:
LOGWRITE(STRCONCAT("Картинка ", $Varr, ".bmp", " найдена ", ARRSIZE($ARR_SCAN)/2, " раз"))
-
Спасибо за ответ, я тут подумал, возможно мне нужно совсем не это, меня все же устроит вариант, записать номер в переменную. Опишу что конкретно мне нужно. Есть картинка точнее цифры от 1 до 20, я сделал нарезки всех 20 цифр, и нужно определить какая цифра на картинке и записать ее в переменную, для дальнейшего использования.
Нужно вот такое только в компактном виде, ниче не пришло в голову :(
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp")
$Lvl = 1
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp")
$Lvl = 2
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "3.bmp")
$Lvl = 3
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp")
$Lvl = 4
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "5.bmp")
$Lvl = 5
// И так 20 раз
END_IF
END_IF
END_IF
END_IF
END_IF
-
Так можно сделать?
$Lvl = 0
GETSCREEN
FOR($Var = 1, $Var < 21)
INC($Lvl)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT($Var, ".bmp"), -1, 100)
$Var = 777
END_IF
END_CYC
LOGWRITE ("Картинка №",$Lvl)
-
Да, или лучше выйти из цикла, чтобы ничего не искать, после того, как будет найдена одна из картинок.
GETSCREEN
FOR($Lvl = 1, $Lvl < 21)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT($Lvl, ".bmp"))
$result = $Lvl // запоминаем имя найденной картинки
$Lvl = 99 // завершаем цикл
END_IF
END_CYC
LOGWRITE ($result, ".bmp")
HALT
-
О спасибо), в моем примере тоже выход из цикла был, еще раз спасибо за оперативность)
-
в моем примере тоже выход из цикла был
да, точно, сорри, проглядел я, поспешил)