На этом шаге мы рассмотрим основные предикаты работы с графикой.
Для работы в графическом режиме следует воспользоваться стандартным предикатом 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").
На следующем шаге мы продолжим рассматривать графику.