Я пытаюсь отложить выполнение программы на 200 мс, а затем проверить, была ли нажата клавиша во время задержки. Как мне это сделать?
Я пытаюсь создать простую компьютерную игру, похожую на Flappy birds, используя C. Я хочу, чтобы у пользователя было немного времени (~ 200 мс), чтобы нажать клавишу, чтобы птица прыгнула, иначе она упадет, но я возникли проблемы с реализацией задержки.
Я читал на некоторых форумах [где?], что sleep(100)
должен давать задержку в 100 мс, но когда я это делаю, я получаю 100 секунд.
Я также пытался использовать sleep(1/5)
, но функция принимает только целые числа.
Кроме того, мне нужно иметь возможность проверить, была ли нажата клавиша в течение 200 мс; Я где-то читал[где?], что для этого можно использовать функцию kbhit
, но понятия не имею, как ее использовать.
while(!dead) {
sleep(200); // what do I put here to get 200ms?
if (keyWasPressedDuringWait()){ //what do I put here?
notDeadAnimation():
}else{
dead=true;
deadAimation()
}
}
usleep()
илиnanosleep()
(предпочтительнее второй). - person MBlanc   schedule 02.03.2014man usleep
для более подробной информации. - person elyashiv   schedule 02.03.2014sleep function c
. Это классический RTFM. Если ваша документация хотя бы отдаленно хороша, она будет включать в себя запись See-alse для более мелких функций. - person dmckee --- ex-moderator kitten   schedule 02.03.2014