LINUX.ORG.RU
ФорумTalks

[Черепашка] [Секс] Turtlefuck


0

2

Накидал в питончике простенький глючный интерпретатор диалекта брейнфака с черепашьей графикой. Для работы нужен питон 2.х и ткинтер.

Память бесконечная (без явного ограничения), число в ячейке может быть любое целое (опять же ограничение лишь в RAM), в том числе отрицательное.

Инициализировать память можно первой строкой в файле data с последующим указанием ячеек через пробел.

[ ] < > + - действуют как в обычном брейнфаке
{ крутим черепаху против часовой (в градусах)
} по часовой
^ вперёд на значение в пикселях
_ назад
, опустить перо (по дефолту опущено)
. поднять перо

Ссылка на гитхаб. (Осторожно, быдлокод)

Пример программы:

data 6 60 0 100 90
Draws 6 squares
[->>++++[->^>}<<]<{<]
Результат выполнения.

★★★★★

Молодец, идея хорошая. Только графику получше сделай.
Код не смотрел.

ChALkeR ★★★★★ ()

почти л-система :)

arsi ★★★★★ ()

Можно начинать портировать Quake.

proud_anon ★★★★★ ()

А мне после прочтения заголовка реально стало интересно: как черепахи это делают? Панцирями не натирает?

name_no ★★ ()

Глядя на заголовок, долго не решался открывать тему…

GotF ★★★★★ ()

Я аж от делать нечего свой интерпретатор сваял и запустил хеллоуворлд. Пока что-то ничего сложней не запускается) Хреновый из меня программист;)

different_thing ()

в шебанге лучше python2 указать, а то у некоторых уже 3й по умочанию;
ворох if'ов и elif'ом можно было бы в генераторы и прочие питоник-вей-плюшки переписать, ну да пофиг :3

d0de-stillhet ()

А я когда-то писал BF Assembler, со стеком, CALL-ами и прочими плюшками. Тоже было нефиг делать.

Sadler ★★★ ()
Ответ на: комментарий от KRoN73

> Что за нафиг?

Начальное состояние памяти. Чтобы не писать традиционные брейнфаковские порноконструкции вроде ++++++[->++++++++++<]>[-<+>]< для ввода числа 60.

PolarFox ★★★★★ ()
Ответ на: комментарий от PolarFox

>Чтобы не писать традиционные брейнфаковские порноконструкции вроде

Вот без них это уже не Брейнфак, а туфта попсовая :)

Потому я и возмутился.

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

> Вот без них это уже не Брейнфак, а туфта попсовая :)

Ну… У меня и так есть избыточные операторы (поворот можно реализовать только в одну сторону, движение только вперёд, остальное отрицательными числами, да и пару «,.» можно заменить одним символом, выступающим в роли переключателя), так что о расовой чистоте я особо не заботился.

При желании можно писать и так:

++++++>
++++++[->++++++++++<]>[-<+>]>
++++++++++[->++++++++++<]>[-<+>]
+++++++++[->++++++++++<]>[-<+>]
<<<<<
[->>++++[->^>}<<]<{<]
PolarFox ★★★★★ ()
Ответ на: комментарий от KRoN73

Да, и для полной брейнфаковости {} должны крутить на один градус, а _^ двигать на один пиксель :3

PolarFox ★★★★★ ()
Ответ на: комментарий от name_no

>как черепахи это делают? Панцирями не натирает?

Может делением или почкованием, кто их, чуберах этих, знает.

Zhbert ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.