 |  Редакторы для BASIC
SPRITE.ALF DRAW!.ALF EDI.BX1
| законченность: |  | | безглючность: |  |
| 
| SPRITE.ALF Скопировать (47.2K). Спрайтовый редактор  один из моих наиболее проработанных проектов. Я работал над
ним с 1990 по 1993 годы, и в 1993 он использовался, как пример программы на языке BASIC для младших студентов Московского Государственного Университета на факультете ВМиК. Спрайтовый
редактор позволяет пользователю рисовать или модифицировать спрайты (битовые изображения размером 16x16), сохранять их в 10 слотах, просматривать их в десятичных кодах, комбинировать спрайты в
окне предварительного просмотра, сохранять спрайты на диск и читать их с диска, печатать на принтер. Сохраняя файл, редактор оптимизирует описание спрайта так, чтобы оно занимало меньше
места. Функция чтения из файла просматривает программу на языке BASIC в поисках объявления спрайта и затем интерпретирует реальный BASIC-код, относящийся к нему. Поэтому спрайтовый редактор
способен читать как файлы, записанные им самим, так и большинство программ со спрайтами на языке BASIC. Это самая сложная функция во всей программе, и она была написана последней.
Управление программой (описания клавиш): - p режим PSET (точка), пиксел инвертируется при нажатии на пробел;
- d режим DRAW (рисовать), пиксел
инвертируется при движении курсора;
- w запись в слот (введите номер слота), сохраняя рисунок (подрежим SAVE, клавиша s), или удаляя его (подрежим CLEAR, клавиша
c);
- c вызов спрайта из слота (введите номер слота). Доступны следующие подрежимы:
| Режим | Клавиша | Описание | | NORM | n | скопировать как есть (по умолчанию) | | HORIZ | h | перевернуть
горизонтально | | VERT | v | перевернуть вертикально | | LINV | Shift+L | перевернуть вокруг оси, наклоненной вправо (как слэш) | | RINV | Shift+R | перевернуть вокруг оси, наклоненной влево (как обратный слэш) | | RIGHT | r | повернуть против часовой
стрелки на 90 градусов | | LEFT | l | повернуть по часовой стрелки на 90 градусов | | COMB | c | повернуть на 180 градусов | | ANTI | a | скопировать в нормальной ориентации, но с инверсией | | - o печать спрайта на принтер. Введите номер слота или
нажмите клавишу *, чтобы выбрать все спрайты, или клавишу l для печати окна просмотра;
- k "убить" спрайт, т.е. удалить его (введите номер слота) или нажмите
клавишу * для удаления всех спрайтов);
- r восстановить все "убитые" спрайты, которые не были перезаписаны;
- s сохранить спрайты на диск (введите
номер спрайта или нажмите клавишу * для сохранения всех спрайтов, затем введите имя файла);
- i ввод спрайта как последовательности десятичных чисел;
- l
режим LOOK (просмотр). Введите номер слота, чтобы вызвать спрайт из него, затем используйте стрелки курсора для его перемещения. Для фиксации спрайта нажмите пробел. Очистка окна
просмотра клавиша c. Выход из режима просмотра клавиша F5;
- Shift+L войти в режим LOOK (просмотр) без очистки окна просмотра;
- Shift+C очистить поле рисования;
- Shift+R прочитать спрайты с диска (введите 0, когда программа спросит по первый спрайт, затем введите имя
файла);
- Shift+Q выйти из редактора.
| законченность: |  | | безглючность: |  |
| 
|
DRAW!.ALF Скопировать (31.9K). Простой графический редактор, соединенный с векторным
компилятором. Программа позволяет рисовать графические примитивы, такие как прямые и окружности, а затем пытается распознать рисунок в последовательность операторов DRAW, как они определены
в языке BASIC. Пользователь может сохранить результат распознавания в файл, который является BASIC-программой, выполняемой в интерпретаторе. DRAW!.ALF проработана не настолько же
хорошо, как спрайтовый редактор, поэтому загрузка из файла и рисование разными цветами не реализовано. Алгоритм распознавания очень прост, что позволяет ему, с одной стороны, успешно
обрабатывать большинство рисунков, но с другой стороны, никакой он не делает никакой оптимизации. Управление программой: сразу после запуска нажмите пробел два раза, чтобы пропустить все
комментарии к программе. Находясь в меню, используйте стрелки Вверх и Вниз для перемещения маркера, и Вправо для выбора режима. Находясь в режиме рисования
используйте клавиши: - пробел переключить цвет: 14 для рисования, 4 для стирания;
- стрелки перемещение курсора с рисованием или стиранием,
в зависимости от режима;
- Enter начать трансляцию. После трансляции программа возвратится в главное меню. (Для ускорения процесса вам, возможно, придется переключиться в
панель управления эмулятора (комбинация Ctrl+Break) и включить режим top speed клавишей P. Уменьшите скорость обратно после завершения трансляции);
- F1 отметить
точку (метка сама по себе не будет частью рисунка);
- F2 включить или выключить режим рисования;
- F5 нарисовать окружность с центром в отмеченной
точке, радиусом до текущей позиции;
- F6 нарисовать линию из отмеченной точки до текущей;
- F7 нарисовать прямоугольник из отмеченной точки до
текущей;
- F8 нарисовать закрашенный прямоугольник из отмеченной точки до текущей;
- F9 закрасить текущим цветом из текущей позиции (вызывает оператор
PAINT языка BASIC);
- F10 очистить экран.
Поскольку у компьютера MSX нет реальных клавиш F6-F10, они представлены комбинациями:
Shift+F1 для F6, Shift+F2 для F7, и т. д. После запуска программы войдите в режим EDIT (редактировать), затем выберите OLD (старый). В режиме рисования, куда
вы попадете, создайте рисунок и оттранслируйте его. После трансляции программа вернется в главное меню. Войдите в режим SAVE (сохранить) и выберите User (пользовательский). Программа выведет
строку по-русски, которая отображается в эмуляторе псевдографикой. Введите имя файла и нажмите клавишу Enter, затем нажмите пробел для начала записи. Чтобы выйти из программы, выберите
режим BASIC в главном меню, либо, в режиме записи файла, нажмите последовательно комбинацию Ctrl+C и затем клавишу Esc. Программы, созданные DRAW!.ALF, могут выполняться в
интерпретаторе QBasic.
| законченность: |  | | безглючность: |  | | 
| EDI.BX1 Скопировать (36.0K). EDI это строчный редактор, который использовался в ранних компьютерных системах,
например PDP/RSX. Ранние дисплеи могли только печатать символы в позиции курсора или начинать новую строку. Они не могли, подобно современным мониторам, рисовать в произвольной позиции экрана.
Кроме того, они медленно работали. Основное предназначение EDI позволить пользователю вводить и редактировать текст, имея в распоряжении только такой дисплей. Эта версия EDI была
предназначена для бездисковых компьютеров MSX. Единственное, что было у пользователя на них это интерпретатор BASIC, и в то время у меня не было доступа к пакетам,
позволяющим использовать такие компьютеры для редактирования и сохранения текстов. Этот пакет предназначен для того, чтобы быстро "заткнуть дырку". Он содержит два файла:
EDI.BX1 редактор, который загружается на рабочее место. Он может редактировать тексты и передавать их по сети MSX. Вторая часть, EDISAVE.BA1, запускается на центральном
компьютере. Она контролирует сеть и записывает в файл все, что по ней передается. EDI имеет два режима: режим ввода и командный режим. В режиме ввода пользователь вводит текст строку за
строкой. Хотя некоторые версии EDI (включая мою) позволяют редактировать строку, которая вводится в текущий момент, предыдущие строки в режиме ввода недоступны. Командный режим предназначен для
изменения текста набором специальных команд, вводимых в специальной строке. Сразу после запуска, EDI автоматически входи в режим ввода. Чтобы выйти в командный режим, нажмите клавишу
Enter в начале пустой строки. (Несмотря на первое впечатление, EDI позволяет вводить пустые строки. Введите какую-нибудь бессмысленную комбинацию в эти строки и затем замените их на пустые
командой замены.) Управление программой (некоторые команды предполагают числовой параметр (необязательный) после них, он отмечен знаком #): - i переключиться в
режим ввода и начать вставлять текст в текущей позиции;
- b перейти в начало файла;
- n# сдвинуть текущую позицию на значение параметра # (число
может быть отрицательным);
- d# удалить заданное # количество строк, или одну, если параметр не указан;
- l# напечатать заданное #
количество строк, или до конца текста;
- e послать текст на COM: (в сеть);
- c/in/out найти первое вхождение подстроки in текущей строке и заменить
его на подстроку out;
- Enter переместиться к следующей строке и показать ее.
Предупреждение: поскольку в эмуляторе нет сети, вы не сможете сохранить
файл в этой версии EDI. |