Макинтош и образование:Коллекция программ:MacTurmit |
Тьюрмит -- это существо, вылезшее из разбитой машины Тьюринга после того, как Грег Тэрк уронил ее со своего стола. С тех пор тьюрмиты распространились довольно широко, однако по-прежнему остаются мало исследованными созданиями.
Тьюрмит живет на бесконечной плоскости, разделенной на квадратные клетки. Чем он питается, неизвестно. Живой тьюрмит постоянно движется по плоскости, он не может оставаться в покое.
Тьюрмит всегда находится в некотором СОСТОЯНИИ. В состояниях тьюрмита нет ничего магического, их можно обозначать, например, буквами, цифрами или другими символами. Кроме того, тьюрмит всегда знает, в какой цвет окрашена клетка плоскости, на которой он находится в данный момент. Именно пара "состояние-цвет" и определяет поведение тьюрмита в каждый момент времени.
Мозгом тьюрмиту служит таблица, которая ставит в соответствие пары "состояние-цвет" действиям, которые нужно выполнить. Таких действий всего три: цвет, в который следует окрасить текущую клетку, изменение направления движения (на 90 градусов по часовой стрелке, против и вообще не менять) и состояние, в которое следует перейти.
Таблица, заменяющая тьюрмиту мозг, может состоять из произвольного количества строк, описанных выше. Жизнь этого странного создания довольно однообразна. Оно ищет в "мозгу" строку, соответствующую текущему состоянию и цвету клетки, на которой оно стоит, перекрашивает клетку в новый цвет, взятый из таблицы, выполняет указанный поворот, переходит в указанное состояние и, наконец, делает шаг вперед (на соседнюю клетку). Там весь цикл повторяется снова. Если на каком-то этапе найти подходящую строку для текущего состояния-цвета не удается, тьюрмит в недоумении останавливается и немедленно погибает.
Биологов ожидает масса интересных находок при исследовании этого странного животного. Нас же больше будут интересовать следы оставляемые тьюрмитами на плоскости. Для изучения этих следов была написана программа Мак-Тьюрмит. (К автору оригинальной программы THURMIT — под MS-DOS — можно обратиться по адресу gene@ks.botik.ru).
Единственным параметром программы является имя исследуемого тьюрмита (вернее, его "мозга", записанного в текстовый файл). Для совместимости с DOS-версией файлы должны иметь имя не длиннее 8 символов и расширение TRM, хотя это и не обязательно. Программа корректно работает при использовании любых символов для перевода строки (Mac/DOS/Unix).
Файл состоит из строк -- элементов мозга и строк комментариев. Пустые строки допускаются ТОЛЬКО в конце файла.
Строки-комментарии начинаются с символа ";". Точка с запятой обязана быть первым символом в строке в том смысле, что перед ней допускаются только пробелы и символы табуляции.
Возможна еще одна служебная строка, она начинается с символа "#" (как и прежде, перед этим символом допускаются пробелы и табуляции). После символа "#" должно следовать число, отделенное от "#" некоторым (включая и нулевое) количеством символов табуляции и/или пробелов. Это число задает максимальное количество шагов, которые может сделать тьюрмит. Если такая строка отсутствует, тьюрмит будет путешествовать по плоскости бесконечно (см. ниже о случаях его остановки).
Строка - элемент мозга состоит из пяти полей.
;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Тьюрмит: Фантасмагория ; Автор: Е. Лилитко ; A 0 1 -1 A A 1 2 -1 A A 2 3 -1 A A 3 4 -1 A A 4 5 -1 A A 5 6 -1 A A 6 7 -1 A A 7 8 -1 A A 8 9 1 A A 9 10 1 A A 10 11 1 A A 11 12 1 A A 12 13 1 A A 13 14 1 A A 14 15 1 A A 15 0 1 A |
<состояние> <цвет> <новый цвет> <поворот> <новое состояние>
Между полями (и перед первым полем) допускается произвольное количество пробелов и/или символов табуляции. Хотя бы один пробел/табуляция обязан присутствовать между полями для их разделения. После последнего поля могут следовать комментарии отделенные от поля хотя-бы одним пробелом и/или символом табуляции.
В "начале времен" вся плоскость черная. Новорожденный тьюрмит всегда находится в состоянии 'A' (заглавная латинская A) и "смотрит" на восток (не знаю, почему на восток, вряд ли у тьюрмитов есть религия).
Тьюрмит останавливается в следующих случаях:
В левом верхнем углу окна показано количество пройденных тьюрмитом шагов.
Вы имеете возможность приостановить движение тьюрмита, запустить его «с чистого листа», а также сохранить результаты в файле формата PICT (просмотреть его потом можно, например, ПростоТекстом).
Программа должна работать на любом Макинтоше с процессором не хуже 68020, Mac OS 7.* и не менее чем 16 цветами. (Испытана на LC475/Mac OS 8.1, Quadra 650/Mac OS 7.5.)
Вопросы о тьюрмитах можно присылать по адресу: gene@ks.botik.ru
Вопросы, предложения и замечания по данной реализации — по адресу: krekin@krekin.mccme.ru