Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » как ограничить цикл количеством витков(временем)?

Страниц (1): [1]
 

1. McArtur - 24 Октября, 2017 - 10:20:32 - перейти к сообщению
Мне нужно использовать таймер, но он доступен только в максимальной версии.
Суть - у меня есть старт, три зацыкленных между собой блока нахождения изображений, если находит, то выходит в другой блок. Но мне надо как-то ограничить по времени этот цыкл, например три минуты, потом выходит из этого цикла. Возникла идея завести переменную, и по завершении круга проверять ее, если она меньше 3 минут(пока не знаю как посчитать) тоза писывать в нее +1 и идти на следующий круг, если равно то выходим из цикла. Где можно про это почитать и есть какой-нибудь самый простой пример?
2. Kibor - 24 Октября, 2017 - 10:24:47 - перейти к сообщению
Таймер ограничен только в визуальном редакторе..
А время узнать - gettime
3. McArtur - 24 Октября, 2017 - 11:03:54 - перейти к сообщению
 Kibor пишет:
Таймер ограничен только в визуальном редакторе..
А время узнать - gettime

А я вот такой код написал в конце круга цикла:
CODE:
T=T+250;
if (T==120000)goto F;

т.е. каждый круг состоящий у меня из 5 блоков(внутри каждого задержки по 50мс) заканчивается +250 к Т. и проверяется если Т = 120000 (2 минуты) то идет в F где у меня выход.
правильно? будет работать?
4. Dantes3000 - 24 Октября, 2017 - 11:43:40 - перейти к сообщению
Не ставь ровно == ставь больше >
Никогда ровно 120000 не будет.
5. 007wan - 25 Октября, 2017 - 06:30:14 - перейти к сообщению
 Dantes3000 пишет:
Не ставь ровно == ставь больше >
Никогда ровно 120000 не будет.

Можно и равно, только придется ставить Блок Таймер (0, 1)
6. Kibor - 25 Октября, 2017 - 06:32:42 - перейти к сообщению
Блок Таймер (0, 1)?
1000 раз в секунду?
он с таймера не вылезет.
7. Dantes3000 - 25 Октября, 2017 - 08:22:50 - перейти к сообщению
 007wan пишет:
 Dantes3000 пишет:
Не ставь ровно == ставь больше >
Никогда ровно 120000 не будет.

Можно и равно, только придется ставить Блок Таймер (0, 1)


Ну может ровно 1000 и будет один раз из 10... в идеале всегда 1000 должно быть.
CODE:
int q=1, w=0, e;
loop()
{
e=gettime();
sleep(1000);
textout(q, 0, w, format(gettime()-e), 1);
q++;
w=w+15;
}

Powered by ExBB FM 1.0 Final