Урок 4

Меню

Урок 6

Урок 5.
ПРОСТЕЙШАЯ ГРАФИКА

     До сих пор мы все время занимались вычислениями, а теперь немного “порисуем”. Язык Basic позволяет выводить на экран компьютера различные простые картинки. Для этого он имеет несколько специальных графических инструкций. Но прежде чем изучать эти инструкции, вспомним, каким может быть графический вывод на экран компьютера.

     Прежде всего, монитор может работать в нескольких режимах, которые отличаются друг от друга разрешающей способностью (т. е. количеством точек по горизонтали и вертикали), и также количеством различных цветов. Существует много различных графических режимов, но для рисования картинок в Basic наиболее употребительны следующие.

Режим Разрешение экрана Количество цветов Тип монитора
1 320х200 4 CGA,EGA,VGA
2 640х200 2 CGA.EGA.VGA
7 320х200 16 EGA, VGA
8 640х200 16 EGA.VGA
9 640х350 16 EGA, VGA
12 640х480 16 VGA
13* 320х200 256 VGA

* Режим 13 поддерживает Quick Basic, в Turbo Basic он не работает.

     Для установки нужного графического режима в программе надо вначале написать инструкцию SCREEN, без нее рисовать будет нельзя. В простейшем случае она выглядит так:

SCREEN режим

например,

SCREEN 12

     Теперь можно записывать графические инструкции. Но сначала напомним, что каждая точка экрана имеет свои координаты. Эти координаты измеряются от левого верхнего угла экрана (точка (0, 0)) вправо по горизонтали (по X) и вниз по вертикали (по Y). Таким образом, для режима 7 правый нижний угол экрана будет иметь координаты (319, 199), а для режима 9 — координаты (639, 349). Большинство графических инструкций требует задания координат отдельных точек экрана и цвета рисования. Цвет рисования закодирован целыми числами от 0 до 15 следующим образом:

0 — черный (цвет фона),

8 — темно-серый,

1 — синий,

9 — голубой,

2 — темно-зеленый,

10 — ярко-зеленый,

3 — салатовый

11 — ярко-салатовый,

4 — темно-красный

12 — ярко-красный,

5 — темно-вишневый,

13 — ярко-вишневый,

6 — коричневый,

14 — желтый,

7 — светло-серый,

15 — белый.

     Обратите внимание, что коды темного и яркого вариантов одного и того же цвета отличаются на 8.

Теперь рассмотрим простейшие инструкции рисования.

PSET (X,Y) [,цвет]

— рисуется одна точка в заданной позиции экрана (х,у). Если параметр цвет задан, то точка имеет этот цвет, иначе она будет белой.

CIRCLE (Х,У),радиус [ ,цвет ]

— рисуется окружность с центром в точке экрана с координатами (X,Y), с заданным радиусом и цветом. Если цвет не задан, то окружность будет белой.

LINE (X1,Y1)—(X2,Y2) [ .цвет ]

— рисуется прямая линия из точки с координатами (X1,Y1) в точку с координатами (X2,Y2). Если цвет не задан, то линия будет белой.

LINE (X1,Y1)—(X2,Y2) [ ,цвет ] ,В

— рисуется прямоугольник заданного цвета. Точки (XI,Y1) и (X2,Y2) задают две любые противоположные вершины этого прямоугольника.

LINE (X1,Y1)—(X2,Y2) [ ,цвет ] ,BF

— рисуется прямоугольник, закрашенный заданным цветом. Точки (XI,Y1) и (X2,Y2) определяют две любые противоположные вершины этого прямоугольника.

     Там, где в этих инструкциях стоят X, Y, XI, Х2, Y1, Y2, цвет, радиус, могут быть записаны любые арифметические выражения, но буквы В и BF являются составной частью инструкции LINE и должны быть записаны именно так.

Замечание.

     Расстояние между соседними точками экрана по горизонтали и по вертикали, вообще говоря, разное и зависит от выбранного режима. Поэтому результат выполнения инструкции

LINE (10,10)— (100,100),15,В

при некоторых режимах выглядит не как квадрат, а как прямоугольник. Чтобы прямоугольник выглядел как квадрат, нужно подобрать соотношение длин его сторон экспериментально для каждого графического режима.

PAINT (Х,У),цвет_закрашивания, цвет_границы

— закрашивает область экрана, ограниченную линиями заданного цвета, точка (X,Y) должна быть внутри этой области. При использовании этой инструкции возможны следующие три распространенные ошибки.

1. Точка (X,Y) находится не внутри, а вне требуемой области. Тогда будет закрашена внешняя по отношению к данной области часть экрана.

2. Закрашиваемая область не ограничена сплошной линией одного цвета или в инструкции PAINT неверно указан цвет границы. Тогда цвет “вырвется наружу” и закрасит весь экран.

3. Точка (X,Y) попадает на место экрана, имеющее цвет границы. Тогда закрашивание сразу прекратится.

Пример использования этих инструкций.

SCREEN 9
     REM поставим несколько точек разного цвета
PSET (20,20), 12
PSET (30,20), 14
PSET (25,30), 11
     REM нарисуем две окружности
CIRCLE (200,100), 50 ,1
CIRCLE (300,100), 70 ,5
     REM Нарисуем треугольник из трех линий
LINE (200,200)—(250,200), 10
LINE (250,200)—(225,250), 10
LINE (200,200)—(225,250), 10
     REM нарисуем простой и закрашенный прямоугольники
LINE (20,200)—(70,250), 6, В
LINE (20,270)—(70,300), 9, BF
     REM закрасим нарисованный ранее треугольник синим цветом
PAINT (225,220), 1, 10
     REM нарисуем окружность и закрасим ее
CIRCLE (400,200), 100, 14
PAINT (400,200), 12, 14
END

     Здесь появилась еще одна инструкция — RЕМ. Инструкция RЕМ означает комментарий, т. е. все, записанное в строке после этого слова, компилятор не воспринимает. Комментарии используются в программах для пояснений, чтобы показать, в чем состоит смысл тех или иных команд. В рассмотренном примере мы писали комментарии, для того чтобы показать, какую геометрическую фигуру будут рисовать последующие инструкции. Вообще, разумное использование комментариев делает программу более понятной, становится легче ее исправлять или искать ошибки.

     Другой способ введения комментариев в программу — это символ '. Все, что записано в строке после символа ', считается комментарием и компилятором не обрабатывается. Так можно давать пояснения к отдельным строкам программы.

Замечание.

     Программа без комментариев — все равно, что велосипед со спущенными шинами: использовать можно, но устанешь до потери сознания. Если большая программа не имеет комментариев, то уже через две недели в ней будет трудно разе браться, даже если ты сам ее писал. С другой стороны, к комментариям надо относиться разумно и не комментировать каждую строчку, вроде

REM прибавим к Х единицу
Х=Х+1

     Такие комментарии только раздражают. Цель комментариев не пересказывать, а пояснять инструкции программы, раскрывать смысл той или иной операции.

Задание.

Напишите программу, которые изображают на экране такую картинку, постарайтесь сохранить пропорции фигуры

Практические задания.

Придумайте несколько собственных картинок и составьте программы, которые изображают их на экране.

Напишите программы, которые изображают на экране флаги различных стран:

1. “Простые” флаги: Россия, Польша, Франция, Германия, Япония.

2. Более “сложные”: Чехия, Дания, Финляндия, Норвегия, Швейцария.

3. Наиболее “сложные”: Греция, Великобритании

Урок 4

Меню

Урок 6

Яндекс цитирования Rambler's Top100
Сайт создан в системе uCoz