140_______________________________________________
Введем имя DBAWSQR, что должно означать «рисование квадрата», и выберем ок, после чего среда переключается на окно редактирования подпрограмм. При этом в окне уже находятся начало и конец текста. Так что нам остается ввести список формальных параметров, следующий непосредственно за названием, и все то, что должно быть между первой и последней строками (так называемое тело процедуры), SUB DRAWSQR(X%,Y%) 'начало подпрограммы DRAW "BM"+STR$(25+26*X%)+","+STR$(21*X%-10)
'переход в левый верхний угол C$=STR$(7+(X%+Y%) MOD 2)
'выбор цвета по четности DRAW "C"+C$+"R25 D20 L25 U20 BF10 Р"+С$+","+С$
'построение квадрата END SUB 'конец подпрограммы
Прежде чем объяснить производимые подпрограммой действия, остановимся на списке параметров процедуры. Параметры, указанные в скобках после имени процедуры, называются формальными поскольку их значение еще не задано. Тип формальных параметров должен быть указан обязательно. В данном случае они предназначены для передачи данных из вызывающей программы в процедуру. Фактические значения параметров указываются в команде вызова процедуры.
Первый оператор DRAW перемещает рисующую точку для начала построения квадрата с левого верхнего угла. Затем по остатку от деления суммы номеров строки и столбца на 2 выбирается код цвета в символьном виде (для четной суммы — светло-серый цвет, для нечетной — темно-серый). Второй оператор DRAW рисует контур перемещением вправо на 25 пикселов, вниз — на 20, влево — на 25 и вверх — на 20, и после перемещения вправо и вниз (внутрь квадрата без рисования) закрашивает квадрат тем же цветом, которым нарисован контур.
Обратите внимание, что координаты исходной точки квадрата и код цвета подставляются в команды в строковой форме. Отметим, что для получения изображения квадрата в режиме 13, который используется основной программой, перемещения по вертикали и горизонтали производятся на 20 и 25 пикселов соответственно. Поэтому для перехода к исходной точке построения соседнего по вертикали или горизонтали квадрата необходим соответствующий сдвиг на 21 или 26 пикселов.
Для выхода из окна редактирования подпрограммы из меню view исполните SUBS (можно нажать клавишу F2), после чего появится диалоговое окно SUBS. В нем нужно выбрать название того окна, в котором вы хотите редактировать текст.
Вернувшись в окно основной программы введем основную программу:
DEFINT I-J 'определение целого типа SCREEN 13 'выбор графического режима CLS 'очистка экрана FOR J=1 TO 8 'цикл по строкам FOR 1=1 ТО 8 'цикл по столбцам CALL DRAWSQRd^J)