Создание часов

Добавлен , не публикуется
+Вступление.+
В этой статье я расскажу о том, как создать часы в мультибордах.
Самое главное их преимущество в том, что для их создания необходим только один триггер.
В принципе этот алгоритм можно использовать и в других механизмах.
(например, как вам идея сделать часы из декораций прямо на карте?)
Но сейчас не об этом. Мы создадим красивые часы.
(если значение часов,минут, или секунд меньше чем 10, то к ним автоматически приставляются нолики.)
Итак, поехали.
Часть первая. Создание алгоритма.
Для начала нам надо составить алгоритм, который будет вычислять, когда нам следует обнулять или увеличивать значения часов минут и секунд.
Создадим триггер и назовём его "Clock".
Для начала нам понадобятся 6 пременных.
Давайте назовём их так:
TimeS - целочисленная (секунды)
TimeM - целочисленная (минуты)
TimeH - целочисленная (часы)
*TimeS_S* - строковая (секунды,строка)
*TimeM_S* - строковая (минуты,строка)
TimeH_S - cтроковая (часы, строка)
В событии мы указываем минимальную величину, которая используется в часах. В нашем случае это секунды. (я думаю, нет необходимости делать часы с миллисекундами) =)
Соответственно:
Событие: Периодическое событие (каждые 1.00 секунд)
Теперь переходим к действиям.
*Создаём основную связку "Если - То - Иначе".*
Начнём с секунд.
Проверяем значение переменной TimeS.
И если она равна 59, то проверяем дальше.
Иначе увеличиваем TimeS на 1.
Переходим к минутам.
Внутри основной связки "Если - То - Иначе" в графе "То" создаём ещё одну такую же. Назовём её "Связкой второго уровня".
Проверяем минуты в связке второго уровня.
Если TimeM равна 59 то:
Увеличиваем TimeH на 1
Обнуляем TimeS
Обнуляем TimeM
Иначе:
Увеличиваем TimeM на 1
Обнуляем TimeS.
Отлично! Со связками покончено.
Если вы сделали всё правильно, то у вас должны получится 2 связки "Если - то - иначе" (одна в другой), которые соединяются в графе "Иначе" (первая связка) Обе должны быть заполнены.
Поздравляю! вы только что сделали Логический алгоритм вычисления времени. Теперь у вас есть основа для часов, которая записывает значения в 3 переменные.
В принципе вы теперь можете найти ей другое применение, но я продолжаю.
Часть вторая. Определение меньших чисел.
Теперь можно приступать визуализации наших часиков.
Вы думаете, зачем я создал целых 6 переменных, когда можно обойтись и тремя?
А вот зачем: решить задачу с появлением ноликов можно только с использованием ещё трёх строковых переменных.
*Поехали.*
Для начала давайте после основной части (со связками) впишем в строковые переменные значения из целочисленных.
Итак, после связок у нас идут следующие команды:
Установить TimeS_S = Конвертировать целое число в строку-Строка(TimeS)
Установить TimeM_S = Конвертировать целое число в строку-Строка(TimeM)
Установить TimeH_S = Конвертировать целое число в строку-Строка(TimeH)
А теперь самое нудное: мы проверяем значения чисел, и при необходимости изменяем их.
Так как циклы тут почему то не работают, придётся делать всё вручную.
Теперь создаём 3 связки "Если - То - Иначе".
В первой связке проверяем секунды.
**Если:
(добавляем оператор ИЛИ)
TimeS_S = 0
TimeS_S = 1
TimeS_S = 2
TimeS_S = 3
...
...
(и.т.д. до 9)**
То:
Установить TimeS_S = Сцпеленные строки: 0+TimeS_S
Иначе:
Установить TimeS_S = Конвертировать целое число в строку-Строка(TimeS)
Аналогично поступаем с остальными тремя переменными.
Поздравляю! Теперь у вас есть хорошие часы с красивым отображением времени.
Осталось только записать значения строковых переменных в мультиборд.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
24
13 лет назад
0
Кто сказал, что на гуи вообще нужно делать?
Жасс учите, будет вам счастье
0
23
13 лет назад
0
могу дать наработку не мультибодных (!) часов. Кому надо в лс...
0
25
13 лет назад
0
Снято с публикации по совокупности очевидных факторов.
0
21
13 лет назад
0
Кто сказал, что на гуи вообще нужно делать?
>Жасс учите, будет вам счастье
Да задрали уже со своим Джассом. Честно. Кому гуи кому джасс.
0
25
13 лет назад
0
На гуи писать можно, только надо при этом мозг включать как следует. Чему русифицированные триггеры не способствуют. И да, утечки.
0
17
13 лет назад
0
без всякой периодики
интересно как?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.