ГЛАВА V. ГРАФИЧЕСКИЕ СРЕДСТВА MSX-BASIC Лучше один раз увидеть, чем сто раз услышать. Пословица До появления цветной машинной графики результаты работы компьютера бы- ли трудны для восприятия. Важная информация терялась среди второстепенной. Машинные игры, например, больше напоминали утомительную работу. Одной из ранних машинных игр была игра "Посадка на Луну".Играющие сидели перед чер- но-белым экраном, созерцая колонки цифр, говоривших об изменении высоты и скорости спускаемого летательного аппарата. Вводя команды,они пытались до- биться надежной, мягкой посадки на Луну. При неудаче на экране появлялись фразы типа: "Столкновение с поверхностью... Корабль разбит... Никого в жи- вых". При успешной игре, наоборот, на экране можно было прочесть: "Высота 0... Успешная посадка!". Компьютерный "Гольф" был, скорее, упражнением в быстром чтении, чем игрой. Длинные пассажи, описывающие направление движе- ния ("Слева от Вас песчаная лунка,а справа дерево. Свободное поле открыва- ется под углом 18 градусов..."), кончались вопросом:"Какую биту Вы выбира- ете?". После каждого удара возникало новое описание,так что один раунд иг- ры с компьютером занимал почти столько же времени, сколько реальная игра. Сегодняшние интерпретаторы языка BASIC содержат операторы цвета и гра- фики, которые можно применять в программе наряду с "обычными" операторами. Эти средства дают не только чисто зрительный, но и практический эффект в традиционных задачах обработки данных и вычислений. В живой и наглядной форме они помогают представить результаты,которые иначе оказались бы весь- ма трудны для восприятия. В разделах V.1-V.8 мы будем говорить о графических средствах ПЭВМ се- рии MSX-1, которые для компьютеров серии MSX-2 изменениям не подверглись! V.1. ОПЕРАТОР SCREEN В ПРОСТЕЙШЕМ СЛУЧАЕ (для компьютера MSX-1) На компьютерах серии MSX-1 существуют четыре режима работы дисплея:два т е к с т о в ы х (символьных) режима и два г р а ф и ч е с к и х, служа- щих для индикации соответственно текстовой (символьной) и графической ин- формации. В обоих графических режимах экран рассматривается как сетка из графических элементов - т о ч е к (пикселей, от англ. "picture element"- "элемент изображения"). Графическое изображение получается на дисплее пу- тем высвечивания точек различным цветом. Переключение с одного режима работы на другой (или, как говорят, "с од- ного экрана на другой") осуществляется оператором SCREEN n где: SCREEN("screen"-"экран") - служебное слово; n - арифметическое выражение, целая часть значения которого должна принадлежать отрезку [0,3]; этот параметр указывает режим работы дисплея: a) n=0: символьный экран, одноцветный,имеющий максимум 24 строки и 40 столбцов (по умолчанию число столбцов- 39); b) n=1: символьный экран, многоцветный,имеющий максимум 24 строки и 32 столбца (по умолчанию число столбцов 29); c) n=2: графический экран высокого разрешения,имеющий 256 точек в строке и 192 - в столбце; d) n=3: графический экран низкого разрешения,имеющий 64 укрупненные "точки" в строке и 48 - в столбце. При включении питания компьютер автоматически устанавливается в режим SCREEN0. Этот режим обычно используется для ввода программ или для работы с программами редактирования текстов. Ясно,что в режиме высокого разрешения экран разбивается на большее чис- ло точек, чем в режиме низкого разрешения. Вследствие этого, в первом слу- чае точки оказываются гораздо меньшего размера,благодаря чему изображение может содержать существенно большее число деталей. Отметим, что т о л ь к о в символьных режимах допустимо применение операторов ввода-вывода INPUT и PRINT, т.к. оператор PRINT в графических режимах игнорируется, а использование оператора INPUT в графических режи- мах SCREEN2 или SCREEN3 переводит компьютер в режим SCREEN0, после чего вновь необходима установка режима SCREEN 2 или SCREEN 3 соответственно. Любая пара целых чисел (X,Y) в диапазоне 0≤X≤255, 0≤Y≤191, задает на графических экранах SCREEN2 и SCREEN3 точку, однако учтите, что в режиме SCREEN3 блок размером 4╳4 точек создает изображение одной "точки",поэтому фактические размеры экрана SCREEN3 - 64╳48 укрупненных "точек"(см. рис.1). Для сравнения, стандартный телевизионный монитор (телевизор) имеет раз- решающую способность экрана 512╳256 точек,а профессиональная микроЭВМ фир- мы Tektronix (модель 4054) имеет экран с разрешающей способностью 4096╳3125 точек. 0 255 0 63 0┌───────────────────┐──▶X 0┌───────────────────┐──▶X │▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨│ │▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨│ │▨▨▨▨▨ SCREEN2 ▨▨▨▨▨│ │▨▨▨▨▨ SCREEN3 ▨▨▨▨▨│ │▨▨ 256╳192 точек ▨▨│ │▨▨▨▨ 64╳48 точек ▨▨│ │▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨│ │▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨▨│ 191│─ ─ ─ ─ ─ ─ ─ ─ ─ ─┘ 47│─ ─ ─ ─ ─ ─ ─ ─ ─ ─┘ ▼ Y ▼ Y Р и с. 1 Отметим, что система координат, изображенная на рис.1, используется также в таких микроЭВМ, как APPLE, TRS-80, IBM, ATARI. В любой момент времени одна из точек (α,β) экрана находится в особом состоянии или, как говорят, отмечена г р а ф и ч е с к и м к у р с о - р о м. Числа α и β в этом случае называют т е к у щ и м и к о о р д и - н а т а м и графического курсора. При включении компьютера графический курсор устанавливается в начальное положение (0,0) - верхний левый угол экрана. Заметим, что текущие координаты X и Y графического курсора можно опре- делить в режиме SCREEN0 или SCREEN1 при помощи команды (оператора) PRINT PEEK(&HFCB3);PEEK(&HFCB5) . П р и м е ч а н и е: 1) При включении питания компьютера, неявно выполняется оператор SCREEN 0. 2) При вводе оператора SCREEN n (n=0,1,2,3) всегда очищается экран. 3) В прямом режиме Вы находитесь в SCREEN 0 или SCREEN 1. Возвращаясь в прямой режим, Вы снова перейдете в экран SCREEN 0 или в SCREEN 1,в зави- симости от последнего выполненного оператора. Соответственно,ввод команды SCREEN 2 в прямом режиме очищает экран перед возвратом в режимы SCREEN 0 или SCREEN 1. V.2. ОПЕРАТОР WIDTH . ОПЕРАТОРЫ KEY OFF и KEY ON Оператор WIDTH используется для установки ширины экрана дисплея в сим- вольных режимах SCREEN 0 и SCREEN 1 (каждому режиму может соответствовать своя ширина экрана). Синтаксис оператора: WIDTH α где: WIDTH("width"-"ширина") - служебное слово; α - арифметическое выражение, целая часть значения которого должна принадлежать отрезку [1,40] для режима SCREEN0 или отрезку [1,32] для ре- жима SCREEN1. После выполнения оператора WIDTH α средняя часть экрана шириной INT(α) становится доступной для ввода или вывода информации. П р и м е р: Ok ─────────── 10 WIDTH 1:?"Проверка":FOR I=1 TO 180:NEXT 20 WIDTH 40:?:?:?:?:?TAB(15);"Проверка" 30 FOR I=1 TO 180:NEXT:GOTO 10 Отметим, что оператор WIDTH является и командой непосредственного режи- ма. Например, для возвращения к "обычной" ширине экрана используйте коман- ду WIDTH 39 или команду WIDTH 29 . Отметим,что оператор WIDTH 80, разрешенный только для компьютера серии MSX-2,позволяет производить отображение 80 символов в одной экранной стро- ке. Ширина символов при этом уменьшается наполовину. (Напомним, что аргу- мент оператора WIDTH должен лежать в диапазоне от 1 до 80 для компьютеров серии MSX-2). В результате выполнения оператора KEY OFF где KEY OFF ("key"-"клавиша") - служебное слово, из 24-й строки символьных экранов SCREEN0 и SCREEN 1 убирается индикация значений функциональных клавиш F1-F10. Тем самым эта строка становится до- ступной для ввода информации (размер экрана увеличивается на одну строку). П р и м е р: 10 KEY OFF:LOCATE 5,23 ─────────── 20 PRINT "Проверка KEY OFF" Оператор KEY ON отменяет действие оператора KEY OFF и отводит 24-ю строку экрана для ин- дикации значений функциональных клавиш F1-F10. В этой строке удобно показывать вспомогательную информацию, т.к. она в отличие от других не участвует в вертикальном сдвиге содержимого экрана! V.3. УПРАВЛЕНИЕ ТЕКСТОВЫМ КУРСОРОМ В данном разделе речь пойдет об операторе LOCATE установки текстового курсора "█" (не графического!) и функциях POS(α), LPOS(α), CSRLIN управ- ления текстовым курсором. V.3.1. О п е р а т о р LOCATE . Ф у н к ц и я CSRLIN . Ф у н к ц и и POS(α) и LPOS(α) Синтаксис оператора LOCATE: LOCATE [X][,Y][,α] где: LOCATE("to locate"-"устанавливать") - служебное слово; X - арифметическое выражение,целая часть значения которого задает но- мер экранного столбца, в котором находится курсор (столбцы нумеруются сле- ва направо, начиная с нуля); Y - арифметическое выражение,целая часть значения которого задает но- мер экранной строки,в которой находится курсор (строки нумеруются сверху вниз, начиная с нуля); α - арифметическое выражение; если значение α равно 0, то курсор не отображается на экране (сливается с фоном), в противном случае курсор ото- бражается на экране (по умолчанию α=0). Значение α хранится в области системных переменных в ячейке с номером &HFCA9 (примените команду PRINT PEEK(&HFCA9)). Целая часть значения α должна принадлежать отрезку [0,255], в противном случае на экране дисплея появится сообщение об ошибке: "Illegal function call" ("Н е п р а в и л ь н ы й в ы з о в ф у н к ц и и"). Любой параметр оператора LOCATE может быть опущен,но запятые(запятая!), определяющие его позицию, обязательно должны присутствовать. Если X,или Y, или α опущены, то сохраняются их предыдущие значения.Примеры записи опера- тора: LOCATE 25,10,1 LOCATE 15,,1 LOCATE 9 LOCATE ,,1 LOCATE ,4,1 LOCATE ,8 LOCATE 17,1 но не LOCATE 17,1, Оператор LOCATE перемещает курсор из текущей позиции в позицию (X,Y). Учтите, что данный оператор позволяет управлять курсором т о л ь к о в символьных экранах SCREEN0 и SCREEN1! П р и м е р ы: 1) 10 LOCATE 15,15,0 2) 10 LOCATE 15,15,1 ───────────── 20 FOR I=1 TO 300:NEXT 20 FOR I=1 TO 300:NEXT Если используются строка или столбец с номерами,большими,чем максималь- но отображаемые,но меньшими 255,то ошибки не произойдет,но курсор перемес- тится на максимально возможную позицию экрана дисплея в этом направлении. 3) NEW 4) NEW Ok Ok 10 CLS:LOCATE 5,3 3 CLS'Вначале очистим экран! 20 LINEINPUT A$ 5 LOCATE 255,1,1 run 7 FOR I=1 TO 400:NEXT ······ 10 LOCATE ,255,1 ······ 20 FOR I=1 TO 400:NEXT ······ 4 строка 30 LOCATE 1,,1 ·····█ ◀── 6 столбец 40 FOR I=1 TO 400:NEXT Компьютер ждет ввода символа! 50 LOCATE ,1,1 60 FOR I=1 TO 400:NEXT:GOTO 3 С помощью оператора LOCATE можно выводить информацию на текстовый эк- ран, начиная с нужного места. 5) NEW 7) NEW Ok Ok 10 CLS:LOCATE 3,2 10 CLS:LOCATE 1,1 20 PRINT"Смотри: ";CHR$(255) 20 ?CHR$(255);"Я здесь!" run 30 LOCATE 2,2,0:FOR I=1TO ···· 1000:NEXT ···· 40 ? CHR$(255);"А теперь ···Смотри: █ здесь!" Ok run 6) NEW ··· Ok ·█Я здесь! 10 LOCATE 14,15 ··█А теперь здесь! 20 ?PEEK(&HF3DD);PEEK(&HF3DC) Ok Функция CSRLIN где CSRLIN ("Cursor ScReen LINe"-"строка курсора") - служебное слово, воз- вращает в символьных экранах SCREEN0 и SCREEN1 номер экранной строки,в ко- торой находится курсор. Учтите, что "верхняя"строка имеет номер нуль,"нижняя" имеет номер или 22 или 23 (в зависимости от того,используется ли эта строка для индикации значений функциональных клавиш). П р и м е р: табулирование функции y=x² на отрезке [A,B] с шагом H с ─────────── предотвращением непрерывного вертикального движения (скроллинга) результатов табулирования по экрану (информация движется по- странично, "высота" страницы - 22 строки). Напомним: с к р о л л и н г - рулонный режим перемещения строк снизу вверх или сверху вниз. NEW Ok 10 CLS:INPUT A,B,H:FOR X=A TO B STEP H' Оператор CLS важен! 20 IF CSRLIN=22 THEN ? X,X^2:FOR I=1 TO 1000:NEXT:LOCATE 0,1 ELSE ? X,X^2 30 NEXTX:FORI=(22-CSRLIN)*POS(0)TO(23-CSRLIN)*39:?CHR$(32);:NEXT:A$= INPUT$(1) Функция POS(α) где: POS("POSition"-"позиция") - служебное слово; α - числовая константа (при выполнении функции не используется, но обязательно должна быть указана при обращении); возвращает в символьных экранах SCREEN0 и SCREEN1 номер экранного столбца, в котором находится курсор. Например: 10 LOCATE 14,15:PRINT POS(0);CSRLIN . Функция LPOS(α) ("Line Printer Position") указывает позицию печатающей головки MSX-принте- ра в строке. Функция LPOS(α) применяется для печати данных "в столбик" на принтере. Например: 25 IF LPOS(0)>10 THEN LPRINT X ELSE LPRINT TAB(10):LPRINT X V.4. БАЗОВЫЕ ГРАФИЧЕСКИЕ ОПЕРАТОРЫ MSX-BASIC Я думаю, что чертежи очень полезное средство против неопределенности слов. Г.В.Лейбниц V.4.1. О п е р а т о р COLOR д л я к о м п ь ю т е р а MSX-1 На экране дисплея можно выделить три отдельные области: передний план, фон и бордюр. П е р е д н и й п л а н (изображение) - область,где распо- лагаются цифровые и текстовые данные и графические изображения,которые на- кладываются на фон. Ф о н, как это следует из самого названия, - область экрана,на которой воспроизводится все,что выводится на экран; фон можно видеть сразу же пос- ле включения компьютера. Б о р д ю р (или цветовая р а м к а) занимает на экране область, непо- средственно прилегающую к его физическому контуру за пределами основного прямоугольного поля, используемого для вывода информации. Ясно,что бордюр окружает фон, но, например, в режиме SCREEN0 он того же цвета, что и сам фон, и поэтому не различим. Благодаря наличию бордюра сглаживаются разли- чия между экранами р а з н о т и п н ы х дисплеев. Оператор COLOR позволяет задавать различные цвета фона, бордюра и изо- бражения,выводимого на передний план. Его синтаксис: COLOR [I],[F][,B] где: COLOR("color"-"цвет") - служебное слово; I - арифметическое выражение, целая часть значения которого задает код цвета изображения (по умолчанию I=15); F - арифметическое выражение, целая часть значения которого задает код цвета фона (по умолчанию F=4); B - арифметическое выражение, целая часть значения которого задает код цвета бордюра (по умолчанию B=4). Целые части значений I,F,B должны принадлежать [0,15]. Приведем коды 15 возможных цветов для многоцветных дисплеев. Для моно- хроматических (от греч."μоvoσ"-"один") дисплеев эти коды задают различные оттенки черного и зеленого цветов. 0:прозрачный; 5:светло-голубой; 10:темно-желтый; 1:черный; 6:темно-красный; 11:светло-желтый; 2:зеленый; 7:голубой; 12:темно-зеленый; 3:светло-зеленый; 8:красный; 13:васильковый; 4:темно-голубой; 9:светло-красный; 14:серый; 15:белый. Отметим, что объект прозрачного цвета всегда преобретает цвет бордюра, а бордюр "нулевого" цвета - черный (поэтому возможных цветов не 16, а 15)! Полное отсутствие параметров в операторе COLOR приводит к появлению на экране дисплея сообщения об ошибке "Missing operand" ("П р о п у с к о п е р а н д а"), а слишком большое значение хотя бы одного из параметров - к сообщению: "Illegal function call". Заметим,что параметры I, F, B можно не указывать,но если они не послед- ние в записи, то ограничивающие их запятые обязательны. Любой опущенный параметр (обозначенный только запятой перед ним)сохраняет старое значение. Каждый назначенный параметр "действует" до тех пор,пока не получит другое значение в последующем операторе COLOR. Таким образом, Вы можете написать подпрограмму для рисования некоторого объекта, а его цвет определить в ос- новной программе перед обращением к подпрограмме. Приведем примеры записи оператора: COLOR 15,4,4 COLOR ,,4 COLOR 1,15 COLOR ,1 COLOR 15,,1 COLOR 15 COLOR ,4,1 Укажем удобные для работы сочетания оттенков изображения, фона и бордю- ра для монохроматического зеленого дисплея: 1) для текстового экрана SCREEN0: COLOR 15,4 (темный фон); COLOR 1,15 (светлый фон); 2) для экранов SCREEN1, SCREEN2 и SCREEN3: COLOR 15,4,2 (темный фон); COLOR 1,15,8 (светлый фон); COLOR 1,15,2 (светлый фон) . В н и м а н и е! Если Вы случайно установите один и тот же код цвета и для изображения, и для фона,то экран окажется"чистым".В этом случае "всле- пую" в непосредственном режиме наберите, например, команду COLOR 1,15 или COLOR 15,4 и нажмите клавишу "RETURN". На экране появится информация,кото- рая ранее была "невидима"! П р и м е р. Программа, позволяющая подобрать удобные сочетания цветов ─────────── изображения, фона и бордюра. Ok 10 SCREEN 1:FOR I=1 TO 15:FOR F=1 TO 15:FOR B=1 TO 15 20 COLOR I,F,B:LOCATE 9,10:PRINT I;F;B 30 FOR K=1 TO 1000:NEXT:NEXT:NEXT:NEXT В любой момент времени Вы можете,нажав на клавишу "STOP" Вашего компью- тера, приостановить работу программы и выписать понравившуюся Вам комбина- цию значений I, F, B, которая выводится на экран дисплея. З а м е ч а н и е. Если Вы прервали программу,используя клавиши CTRL+STOP, то можете тут же возвратить начальные значения цветов нажатием клавиш SHIFT+F1 (только для компьютеров серии MSX-2)! При формировании конкретных изображений необходимо осторожно подходить к выбору цветов. Их случайный выбор может вызвать неприятные ощущения вплоть до раздражения. Учтите, что б е л ы й цвет располагает к чистоте, создает ощущение легкости, прохлады; ж е л т ы й - возбуждает радость,создает ощущение теп- ла,простора,легкости,ускоряет пульсацию крови,расширение зрачков; к р а с- н ы й - создает впечатление теплоты, возбуждает, ускоряет пульсацию крови, вызывает расширение зрачков,однако при длительном действии приводит к чрез- мерной усталости; п у р п у р н ы й - возбуждает,вызывает возвышенное чув- ство,ощущение тепла; з е л е н ы й - вызывает ощущение холода,успокаивает, налаживает кровообращение,улучшает мускульную деятельность; г о л у б о й- вызывает ощущение прохлады, отдаленности, успокаивает; ч е р н ы й - вызы- вает ощущение тяжести, тесноты, громоздкости, снижает настроение,угнетает; с е р ы й - холодный, вызывает скуку, апатию. Обычно рекомендуется уменьшать число используемых цветов. Можно полу- чить хороший эффект, если для фона выбрать цвет, являющийся "дополнитель- ным" к одному из используемых цветов. В перечень взаимодополняющих цветов входят: красный и голубой, желтый и синий, зеленый и красный (пурпурный). Если же парные дополнительные цвета расположить рядом,то в зрительном вос- приятии яркость каждого цвета усиливается. Это явление называется ц в е - т о в ы м к о н т р а с т о м. Если в изображении используется большое число цветов,то для фона лучше выбрать серый или нейтральный тон, причем черные контуры вокруг областей разного цвета улучшают восприятие изображения [14]. Отметим различия в выполнении оператора COLOR в режимах SCREEN 1 и SCREEN 2: α) во время выполнения оператора COLOR в режиме SCREEN 2 изменяется только цвет бордюра, а не цвет изображения или фона; β) цвет фона изменится только в том случае,если после выполнения опера- тора COLOR будет выполнен оператор CLS (см. ниже раздел 4.3); Для проверки вышесказанного сравните следующие программы: 10 SCREEN 2:COLOR 1,15,6 20 GOTO20 'изменяется только цвет бордюра! 10 SCREEN 2:COLOR 1,15,6:CLS 20 GOTO 20 'изменяется цвет фона и бордюра! 10 COLOR 1,15,6:SCREEN 2 20 GOTO 20 'изменяется цвет фона и бордюра! Оператор SCREEN выполняет операцию, аналогичную CLS! В заключение этого раздела заметим,что коды текущего цвета изображения, фона и бордюра соответственно можно получить, выполнив в непосредственном режиме команду PRINT PEEK(&HF3E9);PEEK(&HF3EA);PEEK(&HF3EB) V.4.2. О п е р а т о р COLOR д л я к о м п ь ю т е р а MSX-2 П а л и т р а (от франц."palette"-"пластинка"), четырехугольная или овальная деревянная дощечка, металлическая или фарфоровая пластинка для смешивания красок; подбор цветов, которыми пользу- ется художник. Советский Энциклопедический Словарь Известно, что цвета, (пронумерованные в MSX-BASIC от 0 до 15),содержат к р а с н ы й ("Red"), з е л е н ы й ("Green") и с и н и й ("Blue") цвет в определенных пропорциях. В приведенной ниже таблице Вы сможете почерпнуть сведения о пропорци- ях RGB в изначально установленных цветах экрана дисплея: ┌───────┬───────────────┬───┬───┬───┐ │ Номер │ Цвет │ R │ G │ B │ ├───────┼───────────────┼───┼───┼───┤ │ 0 │ Прозрачный │ 0 │ 0 │ 0 │ │ 1 │ Черный │ 0 │ 0 │ 0 │ │ 2 │ Средне-серый │ 1 │ 6 │ 1 │ │ 3 │ Светло-зеленый│ 3 │ 7 │ 3 │ │ 4 │ Темно-синий │ 1 │ 1 │ 7 │ │ 5 │ Светло-синий │ 2 │ 3 │ 7 │ │ 6 │ Темно-красный │ 5 │ 1 │ 1 │ │ 7 │ Голубой │ 2 │ 6 │ 7 │ │ 8 │ Средне-красный│ 7 │ 1 │ 1 │ │ 9 │ Светло-красный│ 7 │ 3 │ 3 │ │ 10 │ Темно-желтый │ 6 │ 6 │ 1 │ │ 11 │ Светло-желтый │ 6 │ 6 │ 4 │ │ 12 │ Темно-зеленый │ 1 │ 4 │ 1 │ │ 13 │ Лиловый │ 6 │ 2 │ 5 │ │ 14 │ Серый │ 5 │ 5 │ 5 │ │ 15 │ Белый │ 7 │ 7 │ 7 │ └───────┴───────────────┴───┴───┴───┘ В компьютере серии MSX-2 эти пропорции могут быть изменены при помощи оператора: COLOR=(C,R,G,B) где: C - арифметическое выражение, целая часть значения которого опре- деляет номер и з м е н я е м о г о цвета; R,G,B - арифметические выражения, целые части значений которых опре- деляют соответственно пропорции красного, зеленого и синего цветов. Последние три числа должны находиться в диапазоне от 0 до 7. Например, пусть значением C является 4 (текущий цвет фона) и попробуй- те изменить для него пропорции RGB. Так, для получения чистого красного цвета фона, введите: COLOR=(4,7,0,0) Таким образом, можно получить 512 различных оттенков каждого цвета. Этот полезный оператор позволяет оперировать термином "н о м е р п а - л и т р ы" вместо термина "номер цвета", принятого на компьютерах серии MSX-1. Отметим, что оператор SCREEN устанавливает палитры в начальное положе- ние. Однако, для установки палитры без стирания экрана используйте опера- тор: COLOR=NEW или COLOR ┌────────────────────────────────────────────────────────────────┐ │ Обратите внимание на то, что палитра не может быть изменена │ │ для компьютера серии MSX-1. │ └────────────────────────────────────────────────────────────────┘ Операторы типа COLOR=(4,7,0,0), COLOR=NEW или COLOR без параметров здесь являются запрещенными! V.4.3. О п е р а т о р CLS Существует быстрый способ получить чистый(свободный от изображения) эк- ран дисплея определенного цвета. Оператор CLS где CLS("to CLear Screen"-"очищать экран") - служебное слово; окрашивает весь экран цветом фона,не меняя положения графического курсора в графичес- ких режимах (в символьных режимах после действия CLS курсор помещается в левый верхний угол экрана!). Помещайте самый первый оператор COLOR в Вашей программе перед операто- рами SCREEN2 или SCREEN3, в противном случае для изменения цвета фона эк- рана после оператора COLOR примените оператор CLS. Сравните результаты ра- боты двух фрагментов: 10 SCREEN 2:COLOR 1,15,4 10 SCREEN 2:COLOR 1,15,4 20 FOR I=1 TO 1000:NEXT 20 FOR I=1 TO 1000:NEXT 30 COLOR 15,1,4:CLS 30 ::::'Пустой оператор! 40 FOR I=1 TO 1000:NEXT:END 40 COLOR 15,1,4 50 FOR I=1 TO 1000:NEXT Очистка экрана необходима для того,чтобы получить результат работы про- граммы в "чистом" виде (экран дисплея, как правило, "засорен" текстом, от- ражающим работу по составлению программы, но не относящимся к ее исполне- нию). Кроме того, использование оператора CLS является элементом "культур- ного" программирования! Так оратор откашливается перед выступлением, забо- тясь о том, чтобы все слова донести до слушателей.