Author Topic: Подскажите как правильно  (Read 1860 times)

0 Members and 2 Guests are viewing this topic.

keepsv

  • Освоившийся
  • **
  • Posts: 34
    • View Profile
Подскажите как правильно
« on: December 05, 2017, 08:55:51 PM »
Добрый вечер. Нужна помощь. Есть вот такая часть сценария.
Должен получиться такой алгоритм:
Ищем 1.bmp находим жмякаем, не находим-ищем 2.bmp находим жмякаем, не находим-ищем 1.bmp
Как?
Code: [Select]
SUB(nastrojki)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      COLORMODE(7)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 80)
         $check = 1
         WAITMS(600)
         LCLICK(1230,30) 
         WAITMS(300)
         LCLICK($_return1, $_return2+70)
         WAITMS(1000)
      ELSE
         WAITMS(100)
         COLORMODE(7)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 80)
         WAITMS(600)
         LCLICK($_return1, $_return2+70)
         WAITMS(1000)
        ELSE
??????????
      END_IF
   END_CYC
END_SUB

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Подскажите как правильно
« Reply #1 on: December 05, 2017, 09:03:13 PM »
так?
Code: (clickermann) [Select]
SUB(nastrojki)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      COLORMODE(7)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 80)
         $check = 1
         WAITMS(600)
         LCLICK(1230,30)
         WAITMS(300)
         LCLICK($_return1, $_return2+70)
         WAITMS(1000)
      ELSE
         WAITMS(100)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 80)
            $check = 1
            WAITMS(600)
            LCLICK($_return1, $_return2+70)
            WAITMS(1000)
         END_IF
      END_IF
   END_CYC
END_SUB

keepsv

  • Освоившийся
  • **
  • Posts: 34
    • View Profile
Re: Подскажите как правильно
« Reply #2 on: December 05, 2017, 09:37:37 PM »
Вот спасибо. Кажется работает. )

keepsv

  • Освоившийся
  • **
  • Posts: 34
    • View Profile
Re: Подскажите как правильно
« Reply #3 on: December 05, 2017, 09:43:10 PM »
Хотя... По этой логике получается что не найдя 1.bmp ищем 2.bmp. найдя 2.bmp продолжаем алгоритм. А надо вернуться к поиску 1.bmp

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Подскажите как правильно
« Reply #4 on: December 05, 2017, 09:55:36 PM »
тогда так.
Code: (clickermann) [Select]
SUB(nastrojki)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      COLORMODE(7)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 80)
         $check = 1
         WAITMS(600)
         LCLICK(1230,30)
         WAITMS(300)
         LCLICK($_return1, $_return2+70)
         WAITMS(1000)
      ELSE
         WAITMS(100)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 80)
            WAITMS(600)
            LCLICK($_return1, $_return2+70)
            WAITMS(1000)
         END_IF
      END_IF
   END_CYC
END_SUB

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Подскажите как правильно
« Reply #5 on: December 06, 2017, 09:43:03 AM »
Ищем 1.bmp находим жмякаем, не находим-ищем 2.bmp находим жмякаем, не находим-ищем 1.bmp
Хотя... По этой логике получается что не найдя 1.bmp ищем 2.bmp. найдя 2.bmp продолжаем алгоритм. А надо вернуться к поиску 1.bmp
Из первого второе не следует. Совсем.

Зачем расписывать раздельно то, что должно работать одинаково.
Описание было бы коротким и ясным.