Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Дядя Саша on December 09, 2016, 12:36:31 AM

Title: IF_PICTURE_IN и несколько картинок
Post by: Дядя Саша on December 09, 2016, 12:36:31 AM
Доброго времени суток.

Есть некоторая область экрана размером 100*100, на которой произвольно появляется одна из картинок размером 15*15 пикселей. Всего таких картинок 5. При обнаружении такой картинки нужно кликнуть в произвольное место в пределах этой картинки.

Вопрос: могу ли я сделать это таким (или каким-либо подобным) образом:

Code: (clickermann) [Select]
SEARCH:
GETSCREEN
IF_PICTURE_IN(0,0,99,99,"PICTURE_1.BMP","PICTURE_2.BMP","PICTURE_3.BMP","PICTURE_4.BMP","PICTURE_5.BMP")
LCLICK($_RETURN1+RND(0,14),$_RETURN2+RND(0,14))
ELSE
GOTO(SEARCH)

Или же придётся делать это так:

Code: (clickermann) [Select]
SEARCH_1:
GETSCREEN
IF_PICTURE_IN(0,0,99,99,"PICTURE_1.BMP",)
LCLICK($_RETURN1+RND(0,14),$_RETURN2+RND(0,14))
ELSE
GOTO(SEARCH_2)

SEARCH_2:
GETSCREEN
IF_PICTURE_IN(0,0,99,99,"PICTURE_2.BMP",)
LCLICK($_RETURN1+RND(0,14),$_RETURN2+RND(0,14))
ELSE
GOTO(SEARCH_3)

SEARCH_3:
GETSCREEN
IF_PICTURE_IN(0,0,99,99,"PICTURE_3.BMP",)
LCLICK($_RETURN1+RND(0,14),$_RETURN2+RND(0,14))
ELSE
GOTO(SEARCH_4)

SEARCH_4:
GETSCREEN
IF_PICTURE_IN(0,0,99,99,"PICTURE_4.BMP",)
LCLICK($_RETURN1+RND(0,14),$_RETURN2+RND(0,14))
ELSE
GOTO(SEARCH_5)

SEARCH_5:
GETSCREEN
IF_PICTURE_IN(0,0,99,99,"PICTURE_5.BMP",)
LCLICK($_RETURN1+RND(0,14),$_RETURN2+RND(0,14))
ELSE
GOTO(SEARCH_1)

Заранее спасибо за ответ.
Title: Re: IF_PICTURE_IN и несколько картинок
Post by: Oraven on December 09, 2016, 06:22:06 AM
Можно вкладывать условия друг в друга, или можно написать цикл.
Code: (clickermann) [Select]
GETSCREEN
FOR($n=1,$n<6)
   IF_PICTURE_IN (0,0, 100,100, STRCONCAT("PICTURE_", $n, ".BMP"), -1, 100)
      LCLICK($_RETURN1+RND(0,14),$_RETURN2+RND(0,14))
      WAITMS(100)
      $n=9999
   END_IF
END_CYC

Если требуется искать пока не найдем то нужен еще один цикл
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   FOR($n=1,$n<6)
      IF_PICTURE_IN (0,0, 100,100, STRCONCAT("PICTURE_", $n, ".BMP"), -1, 100)
         LCLICK($_RETURN1+RND(0,14),$_RETURN2+RND(0,14))
         WAITMS(100)
         $check = 1
         $n=9999
      END_IF
   END_CYC
END_CYC
Title: Re: IF_PICTURE_IN и несколько картинок
Post by: Дядя Саша on December 13, 2016, 09:28:45 AM
Спасибо! Даже не ожидал такой оперативности!