На этом шаге мы рассмотрим основные предикаты работы с графикой.
Для работы в графическом режиме следует воспользоваться стандартным предикатом graphics. Для возврата к текстовому режиму используется стандартный предикат text.
Предикат graphics имеет вид
graphics(ModeParam, Palette, Background)
и выполняет начальные установки экрана со средней, высокой и сверхвысокой разрешающей способностью.
Возможные значения переменной ModeParam (Параметр режима) и получающиеся в результате форматы экрана приведены в таблице 1.
Параметр режима | Число столбцов | Число строк | Описание |
---|---|---|---|
1 | 320 | 200 | Средняя степень разрешения, 4 цвета |
2 | 640 | 200 | Высокая степень разрешения, черно-белое изображение |
3 | 320 | 200 | Средняя степень разрешения, 16 цветов |
4 | 640 | 200 | Высокая степень разрешения, 16 цветов |
5 | 640 | 350 | Сверхвысокая степень разрешения, 13 цветов |
Цвета определяются одной из двух палитр, выбираемых в зависимости от того, с каким значением связана переменная Palette (палитра) - с 0 или с 1 (таблица 2).
Палитра | Цвет1 | Цвет2 | Цвет3 |
---|---|---|---|
0 | Зеленый | Красный | Желтый |
1 | Циан | Фуксин | Белый |
Переменная Background (Фон) имеет целое значение, выбираемое из таблицы 2 шага 65.
Основными предикатами, используемыми в графике, являются предикат dot (точка) и line (линия).
Вызов предиката dot(Row,Column,Color) приводит к размещению точки в месте, определяемом значениями Row (Строка) и Column (Столбец). Первые два параметра - это целые значения в диапазоне от 0 до 31999.
Аналогично предикат line(Row1,Col1,Row2,Col2,Color) определяет линию.
Типичная последовательность вызовов стандартных предикатов, используемых для графики, приведена в программе:
goal write("Before graphics"), readchar(_), graphics(1,1,0), line(0,0,10000,20000,2), write("ordinary write during graphics mode"), readchar(_), text, write("Alter graphics").
На следующем шаге мы продолжим рассматривать графику.