Шаг 70.
Основы логического программирования.
Графика

    На этом шаге мы рассмотрим основные предикаты работы с графикой.

    Для работы в графическом режиме следует воспользоваться стандартным предикатом graphics. Для возврата к текстовому режиму используется стандартный предикат text.

    Предикат graphics имеет вид

   graphics(ModeParam, Palette, Background)

и выполняет начальные установки экрана со средней, высокой и сверхвысокой разрешающей способностью.

    Возможные значения переменной ModeParam (Параметр режима) и получающиеся в результате форматы экрана приведены в таблице 1.

Таблица 1. Возможные значения переменной ModeParam
Параметр режима Число столбцов Число строк Описание
1 320 200 Средняя степень разрешения, 4 цвета
2 640 200 Высокая степень разрешения, черно-белое изображение
3 320 200 Средняя степень разрешения, 16 цветов
4 640 200 Высокая степень разрешения, 16 цветов
5 640 350 Сверхвысокая степень разрешения, 13 цветов

    Цвета определяются одной из двух палитр, выбираемых в зависимости от того, с каким значением связана переменная Palette (палитра) - с 0 или с 1 (таблица 2).

Таблица 2. Возможные значения переменной Palette
Палитра Цвет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").
Текст этой программы можно взять здесь.

    На следующем шаге мы продолжим рассматривать графику.




Предыдущий шаг Содержание Следующий шаг