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

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

1. Dantes3000 - 23 Января, 2017 - 19:30:25 - перейти к сообщению
По идее пикать должно раз в 5 секунд, пока не будет нажата клавиша Ё.
Так и есть, но чтобы скрипт завершился Ё надо зажать и держать.
В связи с этим надо использовать while с множественной проверкой(вроде еще for можно), но мне пока мозга не хватает как это сделать.
Спойлер (Отобразить)
2. Dantes3000 - 25 Января, 2017 - 15:22:11 - перейти к сообщению
идей нет? Вопрос
3. Kibor - 25 Января, 2017 - 15:30:37 - перейти к сообщению
реализаций куча.
таймер например.
без таймера цикл паузы разбит на короткие отрезки с проверкой нажатия..
что надо вообще?
4. Dantes3000 - 25 Января, 2017 - 15:53:12 - перейти к сообщению
Надо чтобы beep был раз в 5 секунд, пока не нажата кнопка Ё. Сейчас работает, но не всегда попадает под условие getkeystate(192)==1, например, когда pause(1000).
Поэтому клавишу Ё нужно зажать, а надо, чтобы ожидалось нажатие по while 5 секунд и если не нашло - пикало и опять ожидание
5. Kibor - 25 Января, 2017 - 16:04:09 - перейти к сообщению
вместо
pause(1000).
for (t=gettime();gettime()-t<1000; sleep(10)){}

отслеживать нажатие в таймере.
6. Dantes3000 - 26 Января, 2017 - 10:23:49 - перейти к сообщению
ну вот) Не думал о таймере...спасибо)
7. Dantes3000 - 26 Января, 2017 - 16:36:39 - перейти к сообщению
вот так вот сделал еще. Есть какие-то замечания?
Спойлер (Отобразить)


Суть такая: пришло смс, звуковой сигнал должен срабатывать раз в q секунд, пока не нажать ЛКМ
q вводится из поля Edit перед началом моего бота.
8. Kibor - 26 Января, 2017 - 17:02:42 - перейти к сообщению
 Цитата:
enabletimer(0);

loop()
{
beep(500, 320);
beep(400, 320);
beep(450, 150);
beep(450, 150);
beep(380, 360);
}

er:;

CREATE_TIMER(0, 100)
{
if(getkeystate(192)==1)goto er;
}

Powered by ExBB FM 1.0 Final