|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.05.2009, 20:11 | #1 |
Новичок
Джуниор
Регистрация: 24.05.2009
Сообщений: 1
|
Ввод команды с клавиатуры во время бесконечного цикла в С
Прошу помощи у умных людей,ибо сам глуп и раздолбай(((
СУть проблемы: есть бесконечный цикл (игра "жизнь", думаю, многим известна). Каждый раз после того, как вычисляется новое поколение, нужно выводить на экран полученную карту с живыми клетками и в течение короткого промежутка времени (скажем, секунды) можно ввести команду с клавиатуры (допустим, только цифру). Я прописал всю программу, алгоритм, сделал бесконечный цикл ( while (command!=1) и в конце Sleep (1000), дабы было время на введение команды). Всякие scanf и С++шные cin ждут ввода команды до победного конца, но требуется, чтобы они ждали только эти самые тысячу миллисекунд. Как реализовать? Помогите, плз! |
24.05.2009, 21:18 | #2 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
В заголовочном файле <conio.h> есть функция kbhit() возвращает 1 если нажата какая-либо клавиша и 0 если не нажато никакой.
Вот кусок программы, которая захватывает нажатие клавиши. Код:
Ах, да, забыл самое главное. Перед началом цикла смотрим текущее системное время, запомниаем его, затем каждый цикл смотрим текущее время, сверяем его с записанным и смотрим прошло ли 1000 милисекунд (ну или сколько тебе там надо). (Уверен, что олюди придумают способ более рациональный, но я никогда такие вещи не делал и по этому ничего лутше предложить не могу.)
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс Последний раз редактировалось ROD; 24.05.2009 в 21:27. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выход из бесконечного цикла | TilerDerton | Общие вопросы Delphi | 9 | 10.09.2010 08:48 |
Ввод чисел с клавиатуры | SAVIK | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 19 | 26.05.2008 12:54 |
Ввод элементов массива Х с помощью цикла for: | veter_s_morya | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 13.05.2008 18:19 |
ввод данных с клавиатуры | juden | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 07.05.2008 18:05 |
Как выйти из бесконечного цикла! | Эдуард | Общие вопросы C/C++ | 11 | 02.03.2008 19:15 |