Форум программистов, компьютерный форум CyberForum.ru

Завершение бесконечного цикла через определенное время - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
dimakozyr
 Аватар для dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
17.10.2013, 19:37     Завершение бесконечного цикла через определенное время #1
Есть бесконечный цикл for( ; ; ), который обрабатывает событие нажатия кнопки в игре.
Если на кнопку не нажали в течении двух секунд, нужно, чтобы цикл завершался, как это можно сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2013, 19:37     Завершение бесконечного цикла через определенное время
Посмотрите здесь:

C++ Консоль. Завершение цикла нажатием клавиши
На какой отметке остановится мотоциклист через определенное время? C++
Условие завершение цикла с использованием структуры C++
Помогите решить задачу(Гражданин открыл счет в банке. Определить прирост и сумму вклада через определенное время) C++
Очистка экрана в консоли через определенное время C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimakozyr
 Аватар для dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
22.10.2013, 15:40  [ТС]     Завершение бесконечного цикла через определенное время #61
Цитата Сообщение от alsav22 Посмотреть сообщение
вызывается при определённом событии. В данном случае, при срабатывании таймера.
Все, понял наконец-то.

Цитата Сообщение от alsav22 Посмотреть сообщение
Чем не устроило первоначальное расположение вызова функции создание таймера?
Цитата Сообщение от alsav22 Посмотреть сообщение
По этому поводу я вопрос задал. Ответа не получил.
Сделал таким образом:
C++
1
2
3
4
clock_t start = clock();
while (((double)(clock() - start) / CLOCKS_PER_SEC) < timeToDisplayBeaverInSeconds)
if (SDL_PollEvent(getEvent())) {
    SDL_TimerID timer_id = SDL_AddTimer(2000, callback, this);  // Error
Уже не помню, где было первоначальное размещение, даже прочитав предыдущие посты. Не пойму, что в SDL_AddTimer вместо callback нужно прописать, т.к. если оставить как есть, выдает ошибку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.10.2013, 16:14     Завершение бесконечного цикла через определенное время #62
Цитата Сообщение от dimakozyr Посмотреть сообщение
Не пойму, что в SDL_AddTimer вместо callback нужно прописать, т.к. если оставить как есть, выдает ошибку
Дело не в этой записи, а в том что у вас написано в параметрах callback().
Цитата Сообщение от alsav22 Посмотреть сообщение
А вы пишите о том, что принимается в callback(). Приниматься там должно то, что написано в прототипе, и не нужно там непонятно что писать.
Добавлено через 1 минуту
Вот так callback() должен выглядеть:
C++
1
2
3
4
5
Uint32 callback(Uint32 interval, void *param) 
{
    ...
    return interval;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2013, 16:57     Завершение бесконечного цикла через определенное время
Еще ссылки по теме:

Как сделать обновление текста строки через определенное время? C++
C++ Изменить значение переменной через определенное время
Отладка бесконечного цикла C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
dimakozyr
 Аватар для dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
22.10.2013, 16:57  [ТС]     Завершение бесконечного цикла через определенное время #63
Оу е, заработало, спасибо
Yandex
Объявления
22.10.2013, 16:57     Завершение бесконечного цикла через определенное время
Ответ Создать тему
Опции темы

Текущее время: 17:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru