Author Topic: Как реализовать поиск нескольких картинок?  (Read 1688 times)

0 Members and 1 Guest are viewing this topic.

kin2005

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Как реализовать работу скрипта с несколькими картинками? Допустим имеем картинки 1.bmp, 2.bmp,.... 5.bmp всего 5 картинок, нужно чтобы скрипт останавливался при нахождении любой из картинок в 1-3 экземплярах либо их комбинаций.

С одной работает прекрасно:
Code: [Select]
$a=0
$p=105

retry:
$a=$a+1
print("try: ",$a)
waitms(100)

LCLICK(497,647)

wait(3)

getscreen
colormode(8)
$var=0
$m=0

scanpicture($var, 328,378, 519,466, "1.bmp", -1,98)

while (arrsize($var) > 0)
   $y = arrpop($var)
   $x = arrpop($var)

   
   $m=$m+1
   
end_cyc

$m=$m-1
print("result: "$m)

if ($m < 1)
   goto(retry)
else
   halt
end_if

« Last Edit: January 06, 2017, 03:25:34 AM by kin2005 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
LCLICK(497,647)
wait(3)

GETSCREEN
COLORMODE(8)
SCANPICTURE($arr1, 328,378, 519,466,"1.bmp",-1,98)
SCANPICTURE($arr2, 328,378, 519,466,"2.bmp",-1,98)
SCANPICTURE($arr3, 328,378, 519,466,"3.bmp",-1,98)
SCANPICTURE($arr4, 328,378, 519,466,"4.bmp",-1,98)
SCANPICTURE($arr5, 328,378, 519,466,"5.bmp",-1,98)

$count = 0 // обнуляем счетчик

$c = ARRSIZE($arr1)/2 // определяем сколько найдено картинок
IF(($c > 0)&($c < 4)) // условие, если больше нуля и меньше четырех. То есть 1-3
   INC($count,$c) // прибавляем количество найденных картинок к нашему счетчику
END_IF

$c = ARRSIZE($arr2)/2 // так же для остальных картинок
IF(($c > 0)&($c < 4))
   INC($count,$c)
END_IF

$c = ARRSIZE($arr3)/2
IF(($c > 0)&($c < 4))
   INC($count,$c)
END_IF

$c = ARRSIZE($arr4)/2
IF(($c > 0)&($c < 4))
   INC($count,$c)
END_IF

$c = ARRSIZE($arr5)/2
IF(($c > 0)&($c < 4))
   INC($count,$c)
END_IF

LOGWRITE ("Всего найдено: ", $count)

IF($count > 0) // в итоге если счетчик стал больше нуля то стоп
   HALT
END_IF

UNDEFINE($arr1) // обнуляем массивы
UNDEFINE($arr2)
UNDEFINE($arr3)
UNDEFINE($arr4)
UNDEFINE($arr5)
« Last Edit: January 07, 2017, 09:33:46 AM by Oraven »

kin2005

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Блин как элементарно, спасибо, что расписали где и что, все работает!!! Благодарю! Куда спасибо положить? )
и кстати будет ли такое работать?
Code: [Select]
$c = ARRSIZE($arr1)+ARRSIZE($arr2)
IF(($c > 1)&($c < 4))
   INC($count,$c)
END_IF
или правильнее
Code: [Select]
$c = ARRSIZE($arr1)/2+ARRSIZE($arr2)/2
IF(($c > 1)&($c < 4))
   INC($count,$c)
END_IF
« Last Edit: January 08, 2017, 01:35:47 PM by kin2005 »