Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 24.11.2006, 00:43   #1
Valet
Знающий
 
Регистрация: 16.07.2006
Сообщений: 304
Написано 3 полезных сообщений
(для 0 пользователей)
Смех Время в игре

Подскажите, как пустить часы в Блитце3Д, что время отображалось на экране. К примеру начало событий в 8.00. А дальше время течет как в реальности, с той же скоростью. Еще необходимо, чтобы отсчитывались прошедшие сутки была возможность ускорять время на час и ставить на паузу. А потом привязывать к конкретному времени событие... Пример формата: День 2 - 16:05

Прошу помощи. Заранее спасибо.
(Offline)
 
Ответить с цитированием
Старый 24.11.2006, 11:38   #2
ZanoZa
Элита
 
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений
(для 252 пользователей)
Re: Время в игре

поройся на blitz et cetera там в исходниках чё-то такое было
(Offline)
 
Ответить с цитированием
Старый 24.11.2006, 14:50   #3
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Re: Время в игре

Итак, повторяем пройденный материал.

Для вывода реального системного времени- см.Хелп -> 2D -> Time.
Для создания "внутреигрового" времени отлично подойдет следующая простейшая схема.
[highlight="blitzbasic"];Инициализация графики
Graphics 320,240,16,2
SetBuffer BackBuffer()

;Предустановка времени
Sec=0
Min=30
Hour=8
Day=1

;Задержка обновления времени (ms)
TimeDelay=1000

;Гл.цикл
While Not KeyHit(1)

;Ограничитель проходов
If M<MilliSecs() Then
M=M+TimeDelay
If M<MilliSecs() Then M=MilliSecs()+TimeDealay

;Обновление времени
Sec=Sec+1
If Sec>59 Then Sec=0 : Min=Min+1
If Min>59 Then Min=0 : Hour=Hour+1
If Hour>23 Then Hour=0 : Day=Day+1

EndIf

;Подсчет FPS
If FPSTime<MilliSecs() Then
FPSTime=MilliSecs()+1000
CurrentFPS=FPSCounter
FPSCounter=0
Else
FPSCounter=FPSCounter+1
EndIf

;Вывод скорости течения времени, ФПС и текущего условного времени на экран
Cls
Text 10,10,"TIMESCALE: x"+ 1000/Float(TimeDelay)
Text 10,30,"DAY "+Day+" ; "+Hour+ ":"+Min+":"+Sec
Text 10,50,"FPS: "+CurrentFPS
Flip 0

Wend

End[/highlight]
Жаль, однако, что табуляции и подсветка синтаксиса по сути не поддерживаются. Читаемость кода уходит в минус...
(Offline)
 
Ответить с цитированием
Старый 24.11.2006, 17:16   #4
Valet
Знающий
 
Регистрация: 16.07.2006
Сообщений: 304
Написано 3 полезных сообщений
(для 0 пользователей)
Re: Время в игре

Спасибо. Спасибо большое. Даже не ожидал такого подробного примера.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время в игре pax C++ 4 19.10.2009 13:27
Часы и время Skythrone Прочие вопросы 3 18.07.2009 16:27
время jimon Болтовня 28 04.03.2006 19:33
Нескучное время... Жека Болтовня 5 06.09.2005 10:24


Часовой пояс GMT +4, время: 04:53.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com