RU

Люди, помогите сделать часы!

RedFiend #144 17.05.2010 05:41 13 comments 14325 views

Подскажите мне: как сделать мне нормальные часы. (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,
что значит - “как быть”?

У тебя в игре будет использоваться только переменная время, прибавляя к ней затраченные минуты, ты всегда будешь иметь актуальное значение в минутах.

Когда нужно будет, например, текущее игровое время вывести на экран в формате дни-часы-минуты, будешь преобразовывать по приведенной формуле.

Dark[Ol(U23)leneri] #34 17.05.2010 13:15 (15 years ago)

вставь что-то вроде такой проверки условия и каждый раз время будет идти по кручу))
if часы=25 : часы=0 дни=дни + 1
как-то так) правда синтаксис тут не по правилам)

Dark ,а можно сделать так?:

if часы>24:
часы=0
дни=дни+1
END

Или получится что то другое?

Dark[Ol(U23)leneri] #34 17.05.2010 13:38 (15 years ago)

а зачем Вам многострочный оператор? Вставьте его в одну строку и все)

этот… используйте символ

&

Не нужно вводить переменные “дни”, “часы” :) Достаточно минут.

Dark[Ol(U23)leneri] #34 17.05.2010 13:41 (15 years ago)

кстати да)

А как в минутах то будет выглядеть то? Если мне нужно отобразить следующим образом:
PL ” День <<дни>>-й. Время <<часы>>:<<минуты>>”
По-моему самый удачный вариант.
А если в минутах? Будут какие нибудь варианты?

diekrupps,
оно и будет в минутах.

Прикрепляю файл с небольшим примером - запусти, поиграйся, разбери код - time.qsp

Походу это то что нужно.

Добавлю для полноты картины.
Если нужен учет реального времени (не игрового), то простой пример - игра “Салют” Yashko с недавнего конкурса ВЖЖ!
Или можно использовать функцию
MSECSCOUNT- возвращает количество миллисекунд, прошедших с момента начала игры.

Оформил статью в разделе “Разработчикам” - Игровое время

Log in or Register to post comments.