Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 12.07.2018
Сообщений: 2

Задержка после функции

30.07.2018, 23:02. Показов 672. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Например, есть мини-игра, где программа выводит какую-то фразу. Нужно сделать так, чтобы если пользователь не ввел что-то по истечении времени, то он проигрывал. То есть нужно сделать функцию времени ( sleep и delay не подходят). Помогите пожалуйста. Версия C++98/03
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.07.2018, 23:02
Ответы с готовыми решениями:

Задержка перед вызовом функции
Как организовать задержку при вызове функции, можно в другом потоке. Спасибо.

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть значение, отталкиваясь от первой. Возможно...

Задержка после прыжка
Здравствуйте, столкнулся с такой проблемой. Есть тот же кубик, и платформы. Нужно как-то заставить кубик после прыжка не двигаться...

2
111 / 96 / 35
Регистрация: 03.02.2009
Сообщений: 282
31.07.2018, 00:14
Существует несколько способов это сделать. Многое зависит от того, как именно реализована игра. Ниже 2 простых способа.

Способ 1.
Если в игре существуют "тики", то-есть игра в бесконечном цикле обновляет то, что происходит в игре (например 25 раз в секунду) - то нужно создать переменную boolean и int. При запуске программы, например, couner_b = false.
После произнесения фразы переменная couner_b становится true (запускаем счётчик) и обнуляем счёт couner_i = 0.
После каждого цикла обновления игры проверяем запуск счётчика
C++
1
2
3
4
5
6
if (couner_b == true) {
 ++couner_i ; //Увеличиваем значение счётчика на 1
 if (couner_i >= 1000) { // Если прошло более 1000 тиков (нужно внести сюда своё число)
  // Здесь прописать событие которое происходит при счётчике
 }
}
При ответе на вопрос переменную couner_b переводим в false.

Способ 2.
После произнесения фразы просто запоминаем текущее время на компьютере. Подробнее по ссылке.
http://www.cplusplus.com/reference/ctime/time/
После получения времени прибавляем необходимое время на ответ, и, если время вышло - то он проиграл.
Но в этом случае можно остановить или передвинуть локальное время на компьютере и игрок получит неограниченное время на ответ.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* time example */
#include <stdio.h>      /* printf */
#include <time.h>       /* time_t, struct tm, difftime, time, mktime */
 
int main ()
{
  time_t timer;
  struct tm y2k = {0};
  double seconds;
 
  y2k.tm_hour = 0;   y2k.tm_min = 0; y2k.tm_sec = 0;
  y2k.tm_year = 100; y2k.tm_mon = 0; y2k.tm_mday = 1;
 
  time(&timer);  /* get current time; same as: timer = time(NULL)  */
 
  seconds = difftime(timer,mktime(&y2k));
 
  printf ("%.f seconds since January 1, 2000 in the current timezone", seconds);
 
  return 0;
}
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
31.07.2018, 00:42
если на винде, то идея такая (но не проверял, от руки писал)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <conio.h>
#include <iostream>
 #include <string>
using namespace std;
 
int main( void )
{
   char ch;
   string s; 
   long i = 0;
   while( 1 ){
 
    if(kbhit()){
        ch = getch();
        s.push_back(ch);
        if(s == "nuzhnaja fraza"){
          cout << "Good!!!";
          break;
        }
    } 
   i++;
   if(i == 1000000)// взависимости сколько время 
   {
       cout << "bad!!!";
       break;
   }
 }
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.07.2018, 00:42
Помогаю со студенческими работами здесь

Задержка сигнала после фильтрации
в приёмник попадает высокочастотный сигнал, затем синхронным детектором он переносится в НЧ область, но при обработке ФНЧ с неидеальной ФЧХ...

Задержка экрана после авторизации
В консоли пишу приложение типа CLI. Подключаясь к БД даю возможность три раза ввести пароль и логин. Для возвращения в начало приложения...

Задержка функции
Доброго времени суток, мне нужно реализовать функцию по типу Console.ReadKey(), которая не продолжает работу программы пока не произойдет...

Задержка в функции
Добрый всем день, помогите пожалуйста в данную функцию вставить задержку на выполнение ...

Задержка после вывода картинки в pictureBox
Я нажимаю на один picturebox, в него загружается картинка, потом на другой и в зависимости от того одинаковые ли там картинки или нет они...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru