Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Описание: Нужна помощь в циклах и условиях
Squidie
Отправлено: 27 Июня, 2021 - 02:20:23
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2021  
Репутация: 0




Здравствуйте, требуется помощь, нужно чтобы если клавиша была нажата выполнял функцию, если нажата снова останавливал
 
 Top
Zireael
Отправлено: 27 Июня, 2021 - 02:57:31
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
нужно чтобы если клавиша была нажата выполнял функцию, если нажата снова останавливал

CODE:
int flag=1;
int x=0;
enabletimer(0);

loop()
{
textout(0, 0, 0, format(x), 1);
if(flag) // если переменная не равна 0
{
func(); // вызвать фукнкцию
}
sleep(10);
}

function func()
{
x++;
}

CREATE_TIMER(0, 30)
{
if(getkeystate(SPACE)) // если нажат пробел
{
while(getkeystate(SPACE))sleep(10); // ждать пока нажат пробел
if(flag)flag=0;
else flag=1;
}
}

При нажатии пробела функция перестаёт вызываться, при повторном нажатии опять будет вызываться.
 
 Top
Squidie
Отправлено: 27 Июня, 2021 - 11:11:08
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2021  
Репутация: 0




 Zireael пишет:
 Цитата:
нужно чтобы если клавиша была нажата выполнял функцию, если нажата снова останавливал

CODE:
int flag=1;
int x=0;
enabletimer(0);

loop()
{
textout(0, 0, 0, format(x), 1);
if(flag) // если переменная не равна 0
{
func(); // вызвать фукнкцию
}
sleep(10);
}

function func()
{
x++;
}

CREATE_TIMER(0, 30)
{
if(getkeystate(SPACE)) // если нажат пробел
{
while(getkeystate(SPACE))sleep(10); // ждать пока нажат пробел
if(flag)flag=0;
else flag=1;
}
}

При нажатии пробела функция перестаёт вызываться, при повторном нажатии опять будет вызываться.

Работает но только при зажатом пробеле не выполняет функцию
 
 Top
Zireael
Отправлено: 27 Июня, 2021 - 11:12:39
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Работает но только при зажатом пробеле не выполняет функцию

Разумеется.
 Цитата:
while(getkeystate(SPACE))sleep(10); // ждать пока нажат пробел
 
 Top
Squidie
Отправлено: 27 Июня, 2021 - 11:23:26
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2021  
Репутация: 0




 Zireael пишет:
 Цитата:
Работает но только при зажатом пробеле не выполняет функцию

Разумеется.
 Цитата:
while(getkeystate(SPACE))sleep(10); // ждать пока нажат пробел

а как сделать чтоб при одном нажатии останавливалось выполнение функции и при повторном продолжалось?
 
 Top
Zireael
Отправлено: 27 Июня, 2021 - 11:26:23
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
а как сделать чтоб при одном нажатии останавливалось выполнение функции и при повторном продолжалось?

Оно так и работает.
 Цитата:
При нажатии пробела функция перестаёт вызываться, при повторном нажатии опять будет вызываться.
 
 Top
Squidie
Отправлено: 27 Июня, 2021 - 11:31:11
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2021  
Репутация: 0




 Zireael пишет:
 Цитата:
а как сделать чтоб при одном нажатии останавливалось выполнение функции и при повторном продолжалось?

Оно так и работает.
 Цитата:
При нажатии пробела функция перестаёт вызываться, при повторном нажатии опять будет вызываться.

но у меня только при зажатом работает
 
 Top
Zireael
Отправлено: 27 Июня, 2021 - 11:36:51
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Работает но только при зажатом пробеле не выполняет функцию

 Цитата:
но у меня только при зажатом работает

То работает, то не работает. Определитесь уже.
 
 Top
Squidie
Отправлено: 27 Июня, 2021 - 12:22:21
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2021  
Репутация: 0




 Zireael пишет:
 Цитата:
Работает но только при зажатом пробеле не выполняет функцию

 Цитата:
но у меня только при зажатом работает

То работает, то не работает. Определитесь уже.

Работает при зажатом, а нужно при нажатии, просто нажать не зажимать пробел
 
 Top
Zireael
Отправлено: 27 Июня, 2021 - 12:31:57
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Работает при зажатом, а нужно при нажатии, просто нажать не зажимать пробел

При зажатом он будет только ждать когда пробел будет отпущен. Ничего другого выполняться не будет.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by