Ставлю рандомную паузу в блоке кода к пример pause(rand(900000, 3600000)); т.е. рамки от 15мин до 1ч
так оно всегда срабатывает только на минимальном значении 15мин.
В чем причина?
1. koba - 01 Сентября, 2021 - 13:36:01 - перейти к сообщению
2. Dantes3000 - 01 Сентября, 2021 - 14:37:08 - перейти к сообщению
Вообще в с++ максимальное значение рандомного числа в rand() - 32767.
В киборе как-то иначе, но тоже есть ограничения.
лучше так, будет то же самое
pause(rand(15, 59)+60000+rand(0, 60000));
В киборе как-то иначе, но тоже есть ограничения.
лучше так, будет то же самое
pause(rand(15, 59)+60000+rand(0, 60000));
3. koba - 01 Сентября, 2021 - 15:00:49 - перейти к сообщению
Dantes3000 пишет:
Вообще в с++ максимальное значение рандомного числа в rand() - 32767.
В киборе как-то иначе, но тоже есть ограничения.
лучше так, будет то же самое
pause(rand(15, 59)+60000+rand(0, 60000));
В киборе как-то иначе, но тоже есть ограничения.
лучше так, будет то же самое
pause(rand(15, 59)+60000+rand(0, 60000));
Да мне надо от 15мин, а тут 1мин.
а как бы еще каким возможно способом сделать рандом от 15мин до 1ч?
(Добавление)
Короче так сделал:
pause(rand(15, 59)+60000+rand(0, 60000));
pause(rand(15, 59)+60000+rand(0, 60000));
pause(rand(15, 59)+60000+rand(0, 60000));
pause(rand(15, 59)+60000+rand(0, 60000));
pause(rand(15, 59)+60000+rand(0, 60000));
pause(rand(15, 59)+60000+rand(0, 60000));
pause(rand(15, 59)+60000+rand(0, 60000));
pause(rand(15, 59)+60000+rand(0, 60000));
pause(rand(15, 59)+60000+rand(0, 60000));
pause(rand(15, 59)+60000+rand(0, 60000));
тестирую)
4. Zireael - 01 Сентября, 2021 - 17:51:59 - перейти к сообщению
CODE:
int timeout = rand(15, 59)*60000 + rand(0, 60)*1000;
messagebox(timeout);
pause(timeout);
messagebox(timeout);
pause(timeout);
Так более наглядно:
CODE:
int timeout = rand(15, 59)*60000 + rand(0, 60)*1000;
//messagebox(timeout);
int t = gettime() + timeout;
looptime(timeout)
{
int min = (t - gettime()) / 60000;
int sec = ((t - gettime()) - min * 60000) / 1000;
textout(0, 0, 0, "Осталось: "+format(min)+" минут "+format(sec)+" секунд", 1);
sleep(10);
}
//messagebox(timeout);
int t = gettime() + timeout;
looptime(timeout)
{
int min = (t - gettime()) / 60000;
int sec = ((t - gettime()) - min * 60000) / 1000;
textout(0, 0, 0, "Осталось: "+format(min)+" минут "+format(sec)+" секунд", 1);
sleep(10);
}
5. Dantes3000 - 02 Сентября, 2021 - 02:33:47 - перейти к сообщению
koba пишет:
Да мне надо от 15мин, а тут 1мин.
вместо первого плюса надо * поставить
6. koba - 02 Сентября, 2021 - 05:26:25 - перейти к сообщению
Zireael пишет:
CODE:
int timeout = rand(15, 59)*60000 + rand(0, 60)*1000;
messagebox(timeout);
pause(timeout);
messagebox(timeout);
pause(timeout);
Как всегда все четко и работает,
по месаджу видно что рандом работает как надо и совпадает.
(Добавление)
Dantes3000 пишет:
koba пишет:
Да мне надо от 15мин, а тут 1мин.
вместо первого плюса надо * поставить
всего-навсего)