3. ОПЕРАТОР DRAW Этот оператор позволяет в компактной форме кодировать любые фигуры и быстро выводить их на экран.
Формат записи этого оператора
DRAW
где - символьная константа, которая содержит набор элементарных графических команд. Длина не должна превосходить 256 символов.
Основные параметры обозначаются латинскими буквами, после которых указывается количество точек, на которое должно произойти смещение в данном направлении.
Например: Чтобы нарисовать домик надо выполнить следующие команды:
screen 9
color 15,1
pset(140,112)
draw "E15R30F15L60R5D40R5U30R15”
draw"D30L15R45U40"
pset step(-25,10)
draw"R20D20L20U20D10R20L10U10D20"
pset step(0,-45)
draw "L5U5R5D4"
Все эти элементарные команды называются командами движения, они могут быть модифицированы так:
1. Перед командой ставится параметр В, тогда положение курсора изменяется, но линия не рисуется.
2. Перед командой ставится параметр N, тогда курсор возвращается на место, которое он занимал до выполнения данной команды.
Например: Вот такую стрелку > можно нарисовать командой draw"NH3NG3"
Приведем другие параметры, которые можно включать в оператор draw.
Команда
| Название и выполняемые действия
| MX,Y
| Перемещение курсора из текущего положения в точку с координатами X,Y.
| М±Х, ±Y
| Смещение курсора по отношению к текущей позиции на ±Y единиц по ординате и на ±Х единиц по абсциссе.
| Ср
| Определение цвета вычерчиваемых фигур, где р-код цвета,
действует во всех командах draw до нового назначения
| Pn,m
| Выбор цвета закраски фигуры и цвета границы фигуры (замкнутой!) n - цвет закраски фигуры; m - цвет границы.
| An
| Установка угла поворота, кратного 90° * n, где n=0, 1 ,2,3
| Tan
| Поворот на угол n, где n изменяется от -360° до 360°. Если знак n положительный, то поворот производится против часовой стрелки, если знак отрицательный - по часовой стрелке.
| Sn
| Установка масштабного коэффициента n . Он может находиться в диапазоне от 1 до 255. При этом количество точек на экране в масштабной единице равно n/4 . По умолчанию n=4.
| Используя различные возможности команды DRAW (повороты, масштабирование и т.д.) можно создавать различные динамические изображения, в которых фигуры меняют размеры, вращаются, меняют цвет. Например: 1. Нарисовать кораблик и заставить его двигаться по горизонтали слева направо.
SCREEN 9 COLOR 2, 14
'здесь формируется строка для рисования кораблика
а$ = "clr40el0160fl0bm+20,-10u50f25g25"
'В цикле изменяется координата точки рисования кораблика
FOR i= 10 ТО 200
LINE(i- 11,40)-(i + 50, 100), 0, BF
PRESET (i, 100)
DRAW a$
'Этот цикл нужен для задержки времени,
'чтобы рисунок перемещался медленнее
FOR j = 1 ТО 2000: NEXT
NEXT
Следующая программа описывает вращающийся вокруг своей вершины прямоугольник, пока не нажата любая клавиша.
SCREEN 9
а$ = "c15u30r30d30130"
с$ = ""
g = 0
WHILE с$ = ""
PRESET (100, 100)
с$ = INKEY$
DRAW "ТА" + STR$(g) + a$
g = (g + 10) MOD 360
FOR j = 1 TO 40000: NEXT
LINE (40, 40)-(160, 160), 0, BF
WEND
|