Вверх ↑
Ответов: 5446
Рейтинг: 323
#1: 2008-07-17 01:01:47 ЛС | профиль | цитата
Дело было вечером, делать было нечего... Решил я старую идею реализовать, а именно - некий "язык" для рисования картинок и интерпретатор к нему. А так как акромя Hiasm-а под рукой ничего толкового не было, решил это сделать на HiAsm-е. Поэтому - встречайте первую версию!

Программа вводится в верхнее текстовое поле, по нажатию кнопки Draw программа исполняется. Программа состоит из опреаторов и чисел, разделённых пробелами, прерводами сторки, запятой или точкой с запятой. Числа запоминаются в стеке для последующего использования.

Список поддерживаемых комманд:

CLS - Очистка экрана
MVUP - Переместиться вверх на один шаг *)
MVDN - Переместиться вниз на один шаг
MVLT - Переместиться влево на один шаг
MVRT - Переместиться вправо на один шаг
PNUP - "Поднять перо" (рисование ВЫКЛЮЧЕНО)
PNDN - "Опустить перо" (рисование ВКЛЮЧЕНО)
COLR - Установить цвет для рисования. **)
MVXY - Переместиться в точку (X, Y) ***)
MVRL - Сместиться на X пикселей по горизонтали и Y пикселей - по вертикали ***)

Примечания:
*) Шаг - верхнее число в стеке в момент исполения комманды
**) Цвет задаётся тремя числами от 0 до 255, взятыми из стека. Сверху стека лежит красная компонента, далее - зелёная, третей - синяя. Таким образом, класть числа в стек нужно в обраном порядке. Т.е., для получения красного цвета (255, 0, 0) используется следующий код: "0 0 255 COLR"
***) Координаты задаются в обратном порядке: сначала Y, потом X. Т.е., аналогом комманды "10 MVRT" будет "0 10 MVRL"
карма: 1

0
файлы: 1mydraw.zip [6.3KB] [401]