Простая графическая анимация, изображающая логотип Ocean Pacific восьмидесятых годов.
К концу 2020 года у меня появилось несколько идей для новых программ ZX81. Большинство из них были графическими программами разного рода. Темы варьировались от изображений пожара в мусорном баке, адвент-календаря, вирусного экшена до одиночной ролевой игры. Хотя все они были отличными идеями, я не думал, что получу хоть одну из них достаточно полной, чтобы опубликовать. В итоге я решил ввести в одну из своих старых графических программ Ocean Pacific logo.
# ZX81 такой медленный?
Запустив программу, я быстро утомлю вас, наблюдая за тем, как она рисует букву O и вершину буквы P. Хотя в ZX81 были отличные математические процедуры, она все делает с плавающей запятой. Это, как правило, делало их медленными. Различные SIN
, COS
, TAN
и их дуговые версии являются худшими нарушителями. Таким образом, рисование кругов похоже на наблюдение за тем, как сохнет краска.
К счастью, рисовать линии намного быстрее. Остальная часть программы почти кричит, как только круги нарисованы. Мне пришлось заполнить несколько мест, используя обычные команды PLOT
. Текст представляет собой утверждение PRINT
, я не пытался рисовать слова. Я мог бы сделать кернинг получше на P и C в pacific. Помимо этого, логотип выглядит довольно хорошо для почти 40-летнего компьютера с квадратной черно-белой графикой.
OP, ZX81 Скриншот Стивена Рида, 2020 г.
Исходная программа печатала на подключенный принтер с помощью команды COPY
. У меня до сих пор где-то плавают мои распечатки, я заламинировал парочку. Забавно то, что я не помню, чтобы у меня была одежда для ОП. Поскольку я не ожидал, что большинство людей захотят напечатать логотип, я заменил эту процедуру. Я добавил задержку, используя еще немного математики, и эффект очистки экрана. Вы можете обойти задержку, нажав любую клавишу.
# Здесь нет аргументов.
Что касается кода, вы обнаружите, что OP работает так же, как и другие мои программы для рисования (Bolt или TS). Есть две процедуры рисования. Начиная с 1000 можно найти функцию, печатающую строку. Начиная с 2000 года, это простая круговая рутина. Здесь нет сложной математики. Программа представляет собой набор LET
операторов, определяющих аргументы, и GOSUB
соответствующих функций. О, как все было просто тогда. Лишь бы ZX81 поддерживал настоящие функции.
Как и мою последнюю программу, я сначала записал ее в текстовый файл. Затем я скопировал его в JSZeddy для компиляции. Я столкнулся с небольшой проблемой, когда строки с X1 или Y1 нужно было вводить снова. Они отображались правильно, но ZX81 выдавал ошибку нехватки памяти при попытке их запустить. Это было легко исправить, но мне нужно будет посмотреть.
# Больше менять нечего.
Помимо проблем с кернингом, которые я отметил выше, я мог бы сделать буквы лучше. Сам логотип приличный и в доработке не нуждается. Мне нравится, как волны вышли. Код может быть грубым, но он работает. Я мог бы создать массив или что-то в этом роде, но это означало бы много ввода без реального значения.
Как следует из названия, я бы ничего не сделал по-другому. И это лучший способ закончить год. Приятно завершить приличную программу ZX81 из моей юности, которая хорошо работает, хорошо выглядит и не слишком сложна для входа.
В 2021 году я планирую поработать над новыми идеями. У меня есть несколько более крупных программ, которыми я еще хочу заниматься с детства. Теперь мне нужно убедиться, что я найду время, чтобы сделать их все.
Первоначально опубликовано на https://www.reids4fun.com 27 декабря 2020 г.