|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 22
|
|
Вывод текста на экран во время ожидания нажатия клавиши.22.04.2010, 20:20. Показов 7400. Ответов 7
Метки нет (Все метки)
Языс C, компилятор Borland C++ 3.1 for DOS.
Прошу помочь и ответить на мой вопрос. Я пишу игру, управление в игре стрелками на клавиатуре - я это реализвал через функцию getc() - и там уже узнаю какая именно стрелка была нажата по её коду. Возникла такая проблема, когда функция getc() в ожидании - выполние кода приостанавливается. А мне необходимо сделать, чтобы на экране постоянно отсчитывался таймер каждую секунду. Вопрос в том, как сделать так, чтобы когда программа в ожидании нажатия кнопки, она всё равно раз в секунду выполняла какую-то функцию? В данном случае эта функция вывода оставшегося времени на экран.
0
|
|
| 22.04.2010, 20:20 | |
|
Ответы с готовыми решениями:
7
Макрос ожидания нажатия клавиши
|
|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 22
|
|
| 23.04.2010, 20:57 [ТС] | |
|
Ответьте хотя бы такое РЕАЛЬНО вообще сделать или нет?
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 23.04.2010, 22:13 | |
|
самому интересно, как-то задавался таким вопросом, но забыл..
пока пробую - безуспешно ![]() но думаю, что реально! если получится, отпишите, как сделали или я напишу если выйдет)
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 22
|
||||||
| 23.04.2010, 22:45 [ТС] | ||||||
|
На ум приходит только вот такой способ, в работе его не проверял, но вроде должен работать.
Но, по-моему, этот код кривой, так как там же пока не будет нажата, там будут обрабатываться постоянно проверки IF и это проц на 100% загрузит, а это не хорошо, разве не так?
0
|
||||||
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
||||||
| 23.04.2010, 23:16 | ||||||
|
похоже получилось
![]()
сейчас поищу команду, чтоб спрятать курсор на экране, ато он мигает и это ненужно
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 22
|
|
| 23.04.2010, 23:35 [ТС] | |
|
Да, работает. Но разве так можно делать, чтобы без всякой паузы, на всей доступной скорости проца все время прокручивать функции printf(), там же она получается обновляется экран миллионы раз в секунду, это нормально так программировать? От этого нет перегрева у процессора?
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|||||||||||
| 23.04.2010, 23:45 | |||||||||||
|
все нормально, экран не обновляется, ф-ция gotoxy(x, y) записывает данные в указанном месте на экране, т.е. просто один символ пишется поверх старого раз в секунду
все нормально потому что такая операция является стандартным подходом и приводится в хэлпе и вычислять время таким способом: (end - start) / CLK_TCK; никак ничего не перегреет ф-ция kbhit() - стандартная и рассчитана для таких операций, так что за быстродействие не переживайте, а насчет курсора, все время ездящего, то вот напишите это в 12 строке:
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 22
|
|
| 24.04.2010, 00:26 [ТС] | |
|
Хорошо, спасибо за ответ!
0
|
|
| 24.04.2010, 00:26 | |
|
Помогаю со студенческими работами здесь
8
Вывод на экран нескольких разных строк после нажатия рандомной клавиши
Написать макросы: установки курсора, записи символа и атрибута, ожидания нажатия клавиши Определение имени клавиши во время нажатия Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|