Как выйти из этого цикла когда будет найден объект? куда break; поставить?
looptime(30000) {if (click()==1) finde();}
1. Budni - 23 Февраля, 2019 - 11:24:21 - перейти к сообщению
2. Zireael - 23 Февраля, 2019 - 11:31:46 - перейти к сообщению
CODE:
looptime(30000)
{
if (click()==1)
{
if(finde()==1)break; // если finde() вернула 1
}
}
{
if (click()==1)
{
if(finde()==1)break; // если finde() вернула 1
}
}
Или так:
CODE:
looptime(30000)
{
if (click()) // функция должна возвращать не 0 чтобы условие выполнилось
{
if(finde())break; // функция должна возвращать не 0 чтобы условие выполнилось
}
}
{
if (click()) // функция должна возвращать не 0 чтобы условие выполнилось
{
if(finde())break; // функция должна возвращать не 0 чтобы условие выполнилось
}
}
3. Budni - 23 Февраля, 2019 - 11:37:40 - перейти к сообщению
Спасибо а в таком случае как выйти?
looptime(30000) {if (click()==1) sleep (1000);}
looptime(30000) {if (click()==1) sleep (1000);}
4. Zireael - 23 Февраля, 2019 - 11:49:07 - перейти к сообщению
Цитата:
а в таком случае как выйти?
looptime(30000) {if (click()==1) sleep (1000);}
looptime(30000) {if (click()==1) sleep (1000);}
CODE:
looptime(30000)
{
if (click()==1) sleep (1000);
else break;
}
{
if (click()==1) sleep (1000);
else break;
}
5. Budni - 23 Февраля, 2019 - 17:15:44 - перейти к сообщению
Zireael пишет:
looptime(30000)
{
if (click()==1)
{
if(finde()==1) click2();break; // если finde() вернула 1
}
}
{
if (click()==1)
{
if(finde()==1) click2();break; // если finde() вернула 1
}
}
Почему то не выходит из цикла таким образом.
6. Zireael - 23 Февраля, 2019 - 17:48:57 - перейти к сообщению
Цитата:
Почему то не выходит из цикла таким образом.
Значит функция click() возращает не 1. К тому же неизвестно что находится в функциях.
Цитата:
if(finde()==1) click2();break;
Тут возможно ошибка в логике, потому что:
CODE:
if(finde()==1) click2();break;
и
CODE:
if(finde()==1){click2();break;}
не одно и тоже.
В первом случае выйдет из цикла независимо от того, что вернёт finde(), а втором выйдёт только, если finde() вернёт 1.
7. Budni - 23 Февраля, 2019 - 18:01:36 - перейти к сообщению
Zireael пишет:
looptime(30000)
{
if (click()==1) sleep (1000);
else break;
}
{
if (click()==1) sleep (1000);
else break;
}
в данном случае выход из цикла если условие не выполнилось. А как сделать чтобы при выполнении условия был выход?
8. Zireael - 23 Февраля, 2019 - 18:09:21 - перейти к сообщению
Цитата:
А как сделать чтобы при выполнении условия был выход?
CODE:
looptime(30000)
{
if (click()==1)
{
messagebox(333);
break;
}
}
function click()
{
messagebox(111);
messagebox(222);
return 1;
}
{
if (click()==1)
{
messagebox(333);
break;
}
}
function click()
{
messagebox(111);
messagebox(222);
return 1;
}