Войти
ФлеймФорумОбщее

Befunge - 25 лет…

#0
23:41, 18 авг. 2018

Тaк как я ещё не вернулся в своё привычное русло и нету пока сил на развитие x80, решил заняться эзотерикой
В частности, в этом году Befunge отмечает 25 летний юбилей…
Generic 2D Befunge
И я решил написать свою версию с использованием HTML5 и Canvas.

Язык очень прост (CodePen/jsFiddle): Цветными пикселями/линиями строятся маршруты и набираются цепочки регистров с вычислениями.
Все цвета подбирались ассоциативно ясными:

После загрузки страницы можно выбрать в меню «File->Demo» для запуска демонстрации…
Пункт «File->Open» может не работать, так как требуется локальный запуск в браузере под ключами…
Пункты «Edit->Cut» и «Edit->Copy» работают с выделенным регионом для переноса или копирования …
(Сначала выделяется нужный фрагмент, затем выделенный регион перемещается на нужную позицию и совершается «Cut/Copy»-операция…)

В Combo-списке выбирается нужная операция/цвет и затем рисуется прямая линия - горизонтальная или вертикальная.
Диагональные линии рисовать нельзя и таким образом определяются регионы.
Пункт «Run» запускает исполнение скрипта после клика на нужную позицию старта.
«Жук» всегда изначально ползёт вверх при старте в любой позиции…

Имеется возможно изменять скорость выполнения, а также отображать линии сетки.

P.S.: Идея пришла ровно сутки назад, а с утра набросал и код…
Багов много, написан безобразно… Но работает.


#1
19:29, 25 авг. 2018

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Усовершенствовaл скрипт (CodePen/jsFiddle).
Для запуска достаточно нажать «File->Demo»…

Что нового:

Итак…
Пункты меню «File» позволяет запустить демонстрационный орнамент («Demo») или загрузить готовый орнамент («Open»)…
Пункты меню «Mode» предоставляют список всех режимов построения орнамента или запустить на исполнение («Run»).
Причём меню отображается как «M●de», так как кружок отображает цвет режима…

Построение орнамента происходит прямыми горизонтальными или вертикальными линиями.
Диагональные линии строить нельзя, так как «жук» может бегать только в одном из четырёх направлений…

Цвет «чёрный» составляет основной путь для «жука»…
Цвет «красный» является операцией сохранение данных из стека в один из 48 регистров.
В зависимости от Y-позиции выбирается соответствующий регистр и индекс отображается в строке меню…
Цвет «оранжевый» служит «отверстием» для перехода «жука» на противоположную сторону поля.
Когда активна вторая сторона, действие кнопок справа блокируется.
Тем самым, активность на второй стороне позволяет выполнять сценарий без прерываний…
Цвет «жёлтый» включает режим «полёта» на пустыми ячейками до встречи любой другой операции…
Цвет «зелёный» является операцией чтения данных из любого из 48 регистров с помещением в стек.
В зависимости от Y-позиции читается соответствующий регистр и индекс отображается в строке меню…
Цвет «голубой» вызывает подпрограмму.
Поиск точки входа в подпрограмму начинается с правого края поля движением влево до нахождения голубой ячейки…
Цвет «синий» пока не реализован…
Цвет «фиолетовый» означает арифметическую операцию на операндами в стеке…
В строке меню отображается  название операции.
Цвет «белый» пока не реализован…

#2
7:38, 26 авг. 2018

Ктo-нибудь может подсказать, что это за последовательность?

ПетельСумма импульсовПримерная формулаШагов
111010
2212+1---
3422+0---
4932+0---
52242+6---
65672+7---
7147122+3---
8393192+32---
91063322+39---
102897532+88--
117934892+13---
12218011472+192---
13600442452+19---
141656544072+5---
154576166762+40130434
161265478......

Генерирует один простой алгоритм, нарисованный в моём скрипте…

P.S.: Позже выложу «орнамент алгоритма»…

ФлеймФорумОбщее

Тема в архиве.