Что нового

[Автоматизация] Как можно выполнить одно из условий в цикле только 1 раз?

Teacher

Новичок
Сообщения
33
Репутация
0
Мне необходимо в цикле выполнить одно из условий - всего лишь 1 раз и далее выполнять все остальные условия кроме тех двух.
Тобишь есть 2 условия, необходимо выполнить одно из них и после этого к этим двум условиям больше не возвращаться.
Например:
есть первое условие - увидеть цвет и щелкнуть мышкой в одних координатах.
есть второе условие - увидеть цвет и щелкнуть мышкой в других координатах.
после выполнения одного из этих условий, к ним обоим больше не нужно возвращаться никогда, только исполнять остальной код и другие условия в программе. Как это можно реализовать? :-\
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Teacher [?]
Как это можно реализовать
Код:
HotKeySet("{F4}", "Start")
HotKeySet("{ESC}", "_Exit")

While 1
  Sleep(350)
WEnd

Func Start()
  While Sleep(10) ; <= начало цикла
    ; первое условие
    PixelSearch(791, 536, 837, 649, 0x008000)
    If Not @error Then
      MouseClick("left", 1136, 712)
      Sleep(1000)
      MouseClick("left", 37, 177)
      ExitLoop ; <= выход из цикла
    EndIf
    ; второе условие
    PixelSearch(791, 536, 837, 649, 0xFF0000)
    If Not @error Then
      MouseClick("left", 1036, 712)
      Sleep(1000)
      MouseClick("left", 165, 171)
      ExitLoop ; <= выход из цикла
    EndIf
  WEnd ; <= конец цикла

  ; сюда попадаем после выполнения
  ; одного из условий и
  ; продолжаем работу
  ; например, кликаем
  MouseClick("left", 100, 200)
  Sleep(1000)
  MouseClick("left", 300, 400)
EndFunc

Func _Exit()
  Exit
EndFunc
 
Верх