Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2007, 02:11   #1
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию Таймер обратного отсчета на С

Подскажите, пожалуйста, как сделать таймер обратного отсчета на С.
У меня задание создать игру. Так вот, одна из функций - пользователь вводит время игры, и вот во время хода игры желательно былоб таймер обратного отсчета видеть на экране. (Пользователь вводит время игры в минутах).
Спасибо!

Последний раз редактировалось Raptor; 30.12.2007 в 02:14.
Raptor вне форума Ответить с цитированием
Старый 30.12.2007, 02:19   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Не понял, в чем трудность?
Выводим введенное юзером значение на экран и запоминаем в переменной.
Запускаем простой минутный таймер.
По событию таймера вычитаем из значения переменной единичку и выводим на то же место экрана.
Проверяем - если ноль - останавливаем таймер и извещаем юзера об окончании.
Или вам что-то другое нужно?
mihali4 вне форума Ответить с цитированием
Старый 30.12.2007, 05:21   #3
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

Raptor, зачем об одном и том же 10 раз спрашиваешь? Уже ведь заводил пару дней назад подобную тему (http://programmersforum.ru/forumdisplay.php?f=31) - в ней и общайся.
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Старый 30.12.2007, 19:13   #4
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

To mihali4:

Да, именно это и нужно. Я просто незнаю как запустить этот таймер. Есть специальная функция?

To Vedrus:
Мне немного другое надо было - чтоб игра длилась определенное время.
Хотя, Вы правы, можно было писать и в старой теме.



Не подскажете как запустить этот самый таймер?

Последний раз редактировалось Raptor; 31.12.2007 в 01:05.
Raptor вне форума Ответить с цитированием
Старый 31.12.2007, 17:22   #5
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

С использованием Taimer.h?
Пожалуйста, если не сожно, скиньте исходник - пример таймера. У меня этот таймер - как камень преткновения, единственное что не удалось реализовать. Третий день с ним воюю. (Работаю в Borland С 3.1 v dose). Заранее спасибо!

Последний раз редактировалось Raptor; 31.12.2007 в 18:11.
Raptor вне форума Ответить с цитированием
Старый 06.01.2008, 19:46   #6
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Код:
#include<dos.h>
#include<stdio.h>
#include<conio.h>
void main()
{
int sec,min;
printf(" Time (in minutes):\n");
gotoxy(22,1);
scanf("%d",&min);
sec=59;
clrscr();
do
{gotoxy(40,15);
printf("%2d",min);
gotoxy(42,15);
printf(":");
gotoxy(43,15);
if (sec<10)
{gotoxy(43,15);
printf("0");
gotoxy(44,15);
}
printf("%d",sec);
delay(1000);
sec=sec-1;
if (sec<10)
{gotoxy(43,15);
printf("0");
}
if(sec==0)
{sec=59;
min=min-1;
}
} while (min>-1);
gotoxy(35,17);
textbackground(RED);
cprintf(" Game over ");
getch();
}
To mihali4:
Вот удалось накропать. Вы это имели ввиду?
Вот только его в игоровой процесс не впихнуть...

Последний раз редактировалось Raptor; 06.01.2008 в 19:56.
Raptor вне форума Ответить с цитированием
Старый 08.01.2008, 01:11   #7
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Код:
#include<dos.h>
#include<stdio.h>
#include<conio.h>
void main()
{
int sec,min;
printf(" Time (in minutes):\n");
gotoxy(22,1);
scanf("%d",&min);
gotoxy(43,15);
printf("0");
sec=0;
clrscr();
do
{gotoxy(40,15);
printf("%2d",min);
gotoxy(42,15);
printf(":");
gotoxy(43,15);
if (sec<10)
{gotoxy(43,15);
printf("0");
gotoxy(44,15);
}
printf("%d",sec);
delay(1000);
sec=sec-1;
if(sec<0)
{sec=59;
gotoxy(43,15);
min=min-1;
}
} while (min>-1);
gotoxy(35,17);
textbackground(RED);
cprintf(" Game over ");
getch();
}
Вот улучшил и убрал неточности.

Последний раз редактировалось Raptor; 08.01.2008 в 01:17.
Raptor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер в С# kommunist Общие вопросы .NET 3 02.06.2008 12:11
таймер Романнн Общие вопросы Delphi 19 19.12.2007 15:33
таймер darkcoder Общие вопросы Delphi 5 06.12.2007 06:14
Таймер Stanislav Общие вопросы Delphi 3 26.11.2007 06:52
Таймер Blondinko Помощь студентам 6 23.10.2007 10:35