Кайгородов В. Ю.
В универе только TurboBASIC изучал и то забыл уже
- Сообщения
- 25
- Репутация
- 0
Версия AutoIt: 3.3.6.1.
Описание:
Попытка включить цикл с условием второго порядка окончился неудачей:
Код должен работать так: Запускается секундомер, проверяется цвет в зависимости от результата запускается цикл работающий пока цвет не изменится. В цикле выбирается действие (два клика) перед каждым кликом проверяется: истекло ли время (или любое другое условие). Когда цикл завершается, то снова проверяется цвет и время и выбирается действие.
Но цикл работает так: Если цвет во время запуска 0x037FE9 то производятся действия Then, затем при смене цвета Else, а после того как цвет вновь становится 0x037FE9 продолжает выполнять алгоритм Else, хотя должен выполнять Then и так пока время не истечёт.
Если цвет во время запуска отличается от 0x037FE9 то производятся действия Else, даже после того как цвет становится 0x037FE9, и так пока время не истечёт.
Примечания:
Подскажите пожалуйста в чём ошибка в скрипте.
Описание:
Попытка включить цикл с условием второго порядка окончился неудачей:
Код:
$begin = TimerInit()
$timeint = 5000
$i = TimerDiff($begin)
While TimerDiff($begin) < 50000
If PixelGetColor(1044, 750) = 0x037FE9 Then
Do
If TimerDiff($begin) > $timeint Then ExitLoop
MouseClick("primary", 800, 100, 1, 0)
Sleep ( '150' )
If TimerDiff($begin) > $timeint Then ExitLoop
MouseClick("primary", 875, 1006, 1, 0)
Sleep ( '550' )
Until $i = PixelGetColor(1044, 750) <> 0x037FE9
Else
Do
If TimerDiff($begin) > $timeint Then ExitLoop
MouseClick("primary", 800, 800, 1, 0)
Sleep ( '150' )
If TimerDiff($begin) > $timeint Then ExitLoop
MouseClick("primary", 1159, 422, 1, 0)
Sleep ( '550' )
Until $i = PixelGetColor(1044, 750) = 0x037FE9
EndIf
WEnd
MsgBox(64, "Инфо", "Время работы цикла " & TimerDiff($begin) & " истекло")
Код должен работать так: Запускается секундомер, проверяется цвет в зависимости от результата запускается цикл работающий пока цвет не изменится. В цикле выбирается действие (два клика) перед каждым кликом проверяется: истекло ли время (или любое другое условие). Когда цикл завершается, то снова проверяется цвет и время и выбирается действие.
Но цикл работает так: Если цвет во время запуска 0x037FE9 то производятся действия Then, затем при смене цвета Else, а после того как цвет вновь становится 0x037FE9 продолжает выполнять алгоритм Else, хотя должен выполнять Then и так пока время не истечёт.
Если цвет во время запуска отличается от 0x037FE9 то производятся действия Else, даже после того как цвет становится 0x037FE9, и так пока время не истечёт.
Примечания:
Подскажите пожалуйста в чём ошибка в скрипте.