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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mikhail1990
15 / 15 / 3
Регистрация: 22.03.2014
Сообщений: 206
#1

Пакман на Си. Реализация таймера - C++

22.05.2014, 20:05. Просмотров 424. Ответов 5
Метки нет (Все метки)

Есть проблема с реализацией таймера обратного отсчета. Нужно делать определенное действие на протяжении 20 сек, когда проходит 20 сек нужно выполнять другое действие на протяжении 7 сек, а потом снова выполнять первое действие на протяжении 20 сек. и так по кругу.
Подскажите куда смотреть.
Нашел в библиотеке тайм difftime но не уверен в том что это оно. Подскажите пожалуйста что использовать?

P.S.Классы еще не учил.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2014, 20:05     Пакман на Си. Реализация таймера
Посмотрите здесь:

Реализация таймера в C++/CLI - C++
Добрый день! Подскажите как реализовать неблокирующий таймер на C++/CLI. Что лучше использовать?

Тетрис - Реализация таймера и обработка событий с клавиатуры - C++
Пишу консольный тетрис. Столкнулся с проблемой таймера и перехвата событий с клавиатуры. Раньше с такими вопросами не сталкивался, поэтому...

Пакман на Си. Не могу реализовать корректное передвижение по массиву - C++
Пишу пакмана на экзамен по Си. Столкнулся с проблемой отображения приведения которое бегает за игроком. Проблема заключается в следующем: ...

Помогите с созданием таймера - C++
Мне нужно, чтобы OpenGL-анимация зависела от времени, а не от производительности моего проца. Не подскажете, как воплотить это на С? Буду...

Два таймера одновременно - C++
Есть функция таймер: void timer(int s,int m,int h){ cout.fill('0'); while(true){ system("cls"); cout.width(2); ...

Управление состоянием кнопки с помощью таймера - C++
Ситуация: 1. при нажатии на кнопку, она становится красной, через 10 сек приходит в исходное состояние; 2. при нажатии на кнопку, она...

функция SetTimer и обработка события таймера - C++
Пишу программу в winapi. В какую часть программы я должен вставить функцию SetTimer?

Перезапуск таймера при повторном запуске потока - C++
#include <condition_variable> #include <iostream> #include <random> #include <thread> #include <mutex> #include <queue> ...

Генерация и вывод на экран случайных чисел с помощью системного таймера - C++
Добрый время суток! ребята, такая проблема, учусь на программиста, дали тему для курсовой :rtfm: на парах толком ничего не объясняют...

Как узнать, сколько времени осталось до конца таймера QTimer Qt - C++
Или лучше делать на чистом Си++ таймер? Добавлено через 15 часов 2 минуты И выводить постоянно Добавлено через 6 часов 10 минут...

Написать программу для динамического графического эфекта цифрового таймера - C++
Написать программу для динамического графического эфекта цифрового таймера Заранее большое спасибо

Что использовать вместо таймера для множества точек, жизнь которых - 5 секунд - C++
Привет, народ, подскажите пожалуйста, как принято поступать в следующем случае: Имеется много разных объектов, они умеют делать много...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikhail1990
15 / 15 / 3
Регистрация: 22.03.2014
Сообщений: 206
24.05.2014, 16:28  [ТС]     Пакман на Си. Реализация таймера #2
еще актуально!
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
24.05.2014, 16:41     Пакман на Си. Реализация таймера #3
Можно поковыряться в реализации таймеров какой-нибудь библиотеки. К примеру, SFML https://github.com/LaurentGomila/SFM.../ClockImpl.cpp
Mikhail1990
15 / 15 / 3
Регистрация: 22.03.2014
Сообщений: 206
24.05.2014, 17:17  [ТС]     Пакман на Си. Реализация таймера #4
YouDoItWrong, спасибо, но для меня это еще сложновато. мне бы что то стандартное.
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
24.05.2014, 17:28     Пакман на Си. Реализация таймера #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <ctime>
#include <cstdlib>
 
int main()
{
    clock_t start_time = clock(); //Запускаем таймер.
    double elapsed;
    double delay = 5.0; //Установим таймер на 5 секунд.
    while(true)
    {
        elapsed = (clock() - start_time) / CLOCKS_PER_SEC; //Сколько времени прошло в секундах
        if (elapsed < delay) //Если прошсло < чем установлен таймер выводим сколько прошло времени
        {
            std::cout << elapsed << "Elapsed" << std::endl;
        }
        if (elapsed >= delay) //Если >= прерываем. 
        {
            break;
        }
    }
    return 0;
}
Добавлено через 1 минуту
C++
1
if (elapsed >= delay)
Важно поставить знак именно >=, а не просто ==. Поскольку нет никаких гарантий, что данная инструкция выполнится именно в момент когда пройденное время будет == заданному.
Mikhail1990
15 / 15 / 3
Регистрация: 22.03.2014
Сообщений: 206
24.05.2014, 17:29  [ТС]     Пакман на Си. Реализация таймера #6
YouDoItWrong, вот вроде то что надо, сейчас буду тестировать.
Yandex
Объявления
24.05.2014, 17:29     Пакман на Си. Реализация таймера
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru