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

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

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

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

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

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

Подскажите пожалуйста как можно засечь время в С. У меня задание -создать игру, так вот, как сделать, чтобы фиксировалось время игрока?
Спасибо!
Raptor вне форума Ответить с цитированием
Старый 26.12.2007, 03:08   #2
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

вызывай time() до и после контролируемого участка кода. Потом вычитай второе из первого.
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Старый 26.12.2007, 12:11   #3
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Ясно! Спасибо!
Raptor вне форума Ответить с цитированием
Старый 27.12.2007, 11:57   #4
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию Вопрос

А как сделать так, чтобы пользователь вводил время игры и по истечении этого времени игра заканчивалась? Спасибо!
Raptor вне форума Ответить с цитированием
Старый 27.12.2007, 12:17   #5
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

Воткнуть второй time() в середину игрового процесса, либо, если нет такой возможности создать параллельный поток, усыпить его на это Ваше время, и когда он проснётся - убить себя и главный поток.
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Старый 28.12.2007, 02:02   #6
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Можно чуть-чуть по-подробнее про последний вариант? Спасибо!
Raptor вне форума Ответить с цитированием
Старый 28.12.2007, 03:06   #7
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

Копай MSDN про CreateThread
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Старый 28.12.2007, 19:35   #8
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Код:
scanf("5d",&i);
gettime(&t);
j=(t.ti_sec+i);
{do {
gettime(&t);
}
while (t.ti_sec!=j);}
cprintf("KIKI - KIKI");
getch();
Вот накропал текст, но почему-то не работает.... Не подскажете, в чем дело? Надпись появляетса не по времени....
Raptor вне форума Ответить с цитированием
Старый 29.12.2007, 14:59   #9
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

используй Sleep(число_милисекунд)
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Старый 29.12.2007, 15:05   #10
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Что-то тоже не работает. Надпись появляетса через одно и тоже время, независимо от ввода. Таже проблема и с тем кодом что я привел. Непонятно, почему, если вызвать gettime(&t) и к t.ti_min прибавить введенное пользователем время в мин (допустим 2 минуты), и потом в цикле while вызывать gettime(&w) до тех пор пока w.ti_min не будет равняться t.ti_min, -это все не работает!
Никак не могу понять, в чем здесь дело?
И почему t.ti_sec+10 работает, а t.ti_sec+i (где i вводится с клавиатуры i=10 )- нет?

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать отсчет времени? Aboltus Общие вопросы Delphi 11 24.05.2011 20:45
Обратный отсчет в прогрессбар Stanislav Общие вопросы Delphi 3 09.01.2008 16:49
Как сделать отсчет дней от заданной даты в Excel? ru16 Microsoft Office Excel 1 22.11.2007 11:13