Пятница, 20.06.2025, 14:49
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[Гайд]RedPower2
Оффлайн
Greymoon
Вторник, 14.08.2012, 09:41 | Сообщение # 1
Модераторы
Сообщений: 226
7
Окружающий мир
Общая информация

Растения и деревья


Руды


Драгоценные камни


Мрамор и Базальт


Вспомогательные приспособления
Плавильная печь


Вспомогательные инструменты


Вспомогательные Блоки


Запчасти

Оффлайн
Greymoon
Вторник, 14.08.2012, 09:55 | Сообщение # 2
Модераторы
Сообщений: 226
7
Провода
Провода/Связки


Микроблоки

Логические элементы
Детали


Элементы

Оффлайн
Greymoon
Вторник, 14.08.2012, 10:13 | Сообщение # 3
Модераторы
Сообщений: 226
7
Машины
Трубы


Простые машины


Блутричество


Фреймы

Оффлайн
Greymoon
Вторник, 14.08.2012, 10:19 | Сообщение # 4
Модераторы
Сообщений: 226
7
Компьютеры
Компоненты для работы


Краткий курс по FORTH
Quote
Вы сделали все компоненты и разместили их. Но дальше возникает вопрос: "Что же делать дальше?". Чтобы ответить на этот вопрос, для начала нужно знать, что компьютеры RedPower базируются на языке программирования FORTH. Поэтому нужно научиться базовым операциям на нем.
Я попытаюсь доступным языком объяснить принцип работы с ним.

1. Введение в FORTH

Для начала попробуем сложить 2 + 2
Для начала нужно записать наши числа и только потом ставить знак требуемого действия:
Код:
2 2 +

Но нажав ввод ничего не происходит. В чем же ошибка? Ошибка в том, что мы не указали что же надо вывести. Для вывода результата требуется добавить в конце ".".
Выглядеть запись будет так:
Код:
2 2 + .

Что мы узнали:
1. Немного о структуре FORTH
2. Вычисление в FORTH
3. "." требуется для выведения результата

2. Более интересные вещи

Теперь пора научиться выводить тексты. Разберем на простом примере: "Hi Star".

Для начала нужно создать саму программу:
Код:
: test

"test" всего лишь название программы и может быть любым.

Программа создана, и мы приступаем к её написание.
Пишем сообщение для вывода:
Код:
." Hi Star"

Нажимаем enter.
Само сообщение заключается в кавычки. Пробел между первой кавычкой и сообщением обязателен.

Теперь осталось завершить программу с помощью ";". Точка с запятой сообщается компьютеру о завершении программа.

Конечный результат:
Код:
: test
." Hi Star"
;

Теперь при вводе названия программы, в данном случае "test", будет выводиться ваше сообщение.

Что мы узнали:
1. Как создать программу
2. Как вывести сообщение на экран
3. Как запустить программу

3. Сигналы

Пора научиться работать с редстоун сигналами. Для этого потребуется Декодер IO.

Для работы с сигналами используется слово IOX. У него есть несколько разновидностей:
Код:
IOX!
IOX@
IOXSET
IOXRST

Вначале рассмотрим IOX!. Он отправит сигнал в Декодер IO, который переведет 16 битный сигнал в связку проводов.
Используется это так:
Код:
1 IOX!

Будет послан 1 сигнал в белый провод, так как его код равен 1.

Узнать какой цвет задействован можно с помощью следующей команды:
Код:
IOX@ .

Не забываем что для вывода информации требуется "."

Что же делать, если вам нужно отредактировать 1 сигнал, при этом не задев другие? Для этого используются команды IOXSET и IOXRST.
IOXSET установит указанный бит в 1. IOXRST сбросит же к 0.
Работает это так:
Код:
4 IOXSET
4 IOXRST

Будет подан сигнал на розовый провод (3-ий провод = 4) и потом снова убран.

Что мы узнали:
1. Как послать и получить редстоун сигнал через IOX
2. Более продвинутые способы управлять битами

4. Память

Следующее что мы будем рассматривать - переменные и константы.

Переменные - это места, где числа могут быть введены и сохранены пока не потребуются программы, могут меняться во время программы.
Константы - подобные переменным, но не могут измениться, они постоянны, как число Пи.

Переменные и константы должны быть записаны перед запуском программы.

Определить переменную или константу можно так:
Код:
0 VARIABLE var
0 CONSTANT const

Мы создаем переменную "var" и устанавливаем её на 0.

Если вам нужно модифицировать существующую переменную во время программы, то можно поступить так:
Код:
*Значение* *Имя переменной* !

Новое значение переменной указывается с помощью пометки "!"

Программы, где переменные могут быть полезны:
Код:
VARIABLE time
1 CONSTANT lump
: testvar
20 time !
lump IOXSET
time @ TICKS
lump IOXRST
;

Лампа присоединена к белому проводу, который является проводом 1, мы используем константу, чтобы сохранить число провода для использования позже в качестве постоянной "lump".
time - отрезок времени, когда лампа включена, который равен 20 тикам или 1 секунде.
Команду IOX мы рассматривали выше, так что нового в ней ничего.
Команда TICKS очень проста - это задержка перед следующей функцией.
Программа включает лампу и после одной секунды выключает её.

Что мы узнали:
1. Что такое переменные и константы
2. Как изменять переменные
3. Узнали о практическом применении переменных и констант

5. Циклы

Каждый раз вводить команду не очень удобно. Поэтому научимся работать с циклами. Для этого мы используем DO. DO будет повторять заданное действие указанное количество раз.
Рассмотрим простой пример, в котором "test do loop" будет выведено на экран 10 раз:
Код:
: doloop
10 0 DO
." test do loop"
LOOP
;

Второе число может использоваться в цикле, как разность между первым и вторым числом.
Код:
: doloop2
10 5 DO
." test do loop 2"
LOOP
;

Нам выведет "test do loop 2" 5 раз.

Рассмотрим теперь на примере с лампами, присоединенными к соответствующим проводам:
Код:
: doloop3
5 0 DO
1 IOXSET
40 TICKS
1 IOXRST
60 TICKS
LOOP
;

Лампа будет включена на 2 секунды (40 тиков) и потом выключится, через 3 секунды (60 тиков) снова будет включена. И так будет 5 раз.
  • Страница 1 из 1
  • 1
Поиск: