Практикум по среде и языку QBasic 139
раз. Запустив эту программу, вы увидите, что начальное положение "фломастера" — центр экрана. Помещая в начало строки букву s с различными числами вы можете изменять размеры восьмиугольника.
В составе команд рисующей процедуры есть выбор направления с точностью до одного градуса. При помощи этой команды независимо от номера графического режима можно нарисовать правильный многоугольник, например, пятиконечную звезду:
SCREEN 9: CLS: DRAW "C4BM64,70 R50 TA72R50 TA-72R50 TAOR50 TA-144R50 TA-72R50 TA144R50 TA-144R50 TA72R50 TA144R50 ТА-18BR70 Р12,4"
В начале командной строки производится выбор темно-красного цвета и перемещение в заданную точку экрана (буква м) без рисования (префикс в). Затем 10 команд перемещения вправо на 50 шагов рисуют контур звезды, при этом во всех командах (кроме первой) посредством команды Т производится поворот системы координат на 72 или 144 градуса в необходимом направлении. Предпоследняя команда осуществляет перемещение внутрь звезды без рисования, а последняя закрашивает красным цветом в пределах контура, нарисованного темно-красным. Как видите процедура DRAW позволяет даже однострочной программой нарисовать интересную картинку.
Для вывода текста в графическом режиме можно использовать те же самые команды, что и в текстовом. Но результаты работы процедуры PRINT могут немного отличаться в части использования управляющих символов, а при выводе всех символов используется один общий цвет фона (в том числе и при наложении текста на графическое изображение). Для формирования изображений символов используется кодовая страница с минимальным размером растра.
В заключение этого занятия рассмотрим программирование построения изображения шахматной доски, состоящей из 64 квадратов одинакового размера. Их цвет определяется четностью суммы номеров столбца и строки.
Для изучения меню view и ознакомления с созданием собственных процедур целесообразно показать пример построения всех квадратов одним и тем же набором команд, который в случае выделения в отдельный текст называется подпрограммой.
Назовем подпрограмму построения квадрата с заданными номерами строки и столбца (шахматисты называют их горизонталью и вертикалью) DRAWSQR. Мы рассмотрим устаревший вариант оформления подпрограмм с операторами GOSUB и RETURN, широко использовавшийся на самом начальном этапе программирования, позднее. А пока начнем с соответствующего принципам модульного программирования современного варианта, который обеспечивается средой QBasic.
Для ввода текста подпрограммы-процедуры в меню Edit выберем вариант New SUB (в случае подпрограммы-функции нужно выбирать New FUNCTION), после чего среда через диалоговое окно запрашивает имя подпрограммы.