Люди, помогите сделать часы!
Подскажите мне: как сделать мне нормальные часы. (60 минут, 24 часа и последующим переходом на следующий день.)
Просто у меня есть мысль организовать действия по времени (например: прогулка 5 минут или смотреть в окно - 1 минута)
Не знаю с чего начать, как записать код я затрудняюсь…
diekrupps,
с чего начать
Код игры пишется в области “Выполнить при посещении”, для каждой локации - хранится свой код.
Заведи переменную-счетчик. В ней время будет храниться в минутах - это удобнее всего.
Преобразовывать минуты в часы, дни нужно будет только при выводе:
! 2440 минут = 1 день + 16 часов + 40 минут
время = 2440
дни = время / (24*60)
часы = (время - дни*24*60) / 60
минуты = время - часы*60 - дни*24*60
*PL ‘Время: <<дни>> день, <<часы>>:<<минуты>>.’
P.S. Статья : Игровое время
Вроде бы понятно…
А как быть при выполнении действий во время перехода времени?
(Действие на 20 мин. с 23:50 дня 1 по 00:10 дня 2)
diekrupps,
что значит - “как быть”?
У тебя в игре будет использоваться только переменная время, прибавляя к ней затраченные минуты, ты всегда будешь иметь актуальное значение в минутах.
Когда нужно будет, например, текущее игровое время вывести на экран в формате дни-часы-минуты, будешь преобразовывать по приведенной формуле.
вставь что-то вроде такой проверки условия и каждый раз время будет идти по кручу))
if часы=25 : часы=0 дни=дни + 1
как-то так) правда синтаксис тут не по правилам)
Dark ,а можно сделать так?:
if часы>24:
часы=0
дни=дни+1
END
Или получится что то другое?
а зачем Вам многострочный оператор? Вставьте его в одну строку и все)
этот… используйте символ
&
Не нужно вводить переменные “дни”, “часы” :) Достаточно минут.
кстати да)
А как в минутах то будет выглядеть то? Если мне нужно отобразить следующим образом:
PL ” День <<дни>>-й. Время <<часы>>:<<минуты>>”
По-моему самый удачный вариант.
А если в минутах? Будут какие нибудь варианты?
diekrupps,
оно и будет в минутах.
Прикрепляю файл с небольшим примером - запусти, поиграйся, разбери код - time.qsp
Походу это то что нужно.
Добавлю для полноты картины.
Если нужен учет реального времени (не игрового), то простой пример - игра “Салют” Yashko с недавнего конкурса ВЖЖ!
Или можно использовать функцию
MSECSCOUNT- возвращает количество миллисекунд, прошедших с момента начала игры.
Оформил статью в разделе “Разработчикам” - Игровое время