Подпрограммы модуля Graph
Procedure Art (X, Y: Integer; Angle1, Angle2, R: Word);
Рисует дугу окружности текущим цветом с центром (X, Y) радиусом R от начального угла Angle1 до конечного угла Angle2.
Procedure Bar (X1, Y1, X2, Y2: Integer);
Рисует закрашенный столбец, используя текущий тип и цвет закрашивания.
Procedure Circle (X, Y: Integer; R: Word);
Рисует окружность с центром в точке (X, Y) радиусом R текущим цветом.
Procedure ClearDevice;
Очищает устройство, сбрасывает все графические параметры, устанавливая для них значения по умолчанию (текущий указатель, палитру, цвет, область вывода), и перемещает текущий указатель в точку с координатами (0, 0).
Procedure ClearViewPort;
Очищает текущую область (окно). При этом используется цвет, сохраненный в Palette(0), вызывается процедурой Bar и текущий указатель перемещается в точку с координатами (0, 0).
Procedure CloseGraph;
Останавливает работу графической системы.
Procedure DetectGraph (var Driver, Mode: Integer);
Проверяет наличие соответствующих аппаратных средств и определяет, какой графический режим и драйвера следует использовать. Возвращает значения выбранного режима Mode и драйвера Driver, которые можно передать в качестве параметров процедуре InitGraph для загрузки соответствующего драйвера. Если графический аппарат не найден, то параметры Mode и Driver будут содержать значения -2.
Если не указываются другие действия, процедура InitGraph вызывает процедуру DetectGraph, находит и загружает соответствующий драйвер и инициализирует графическую систему.
Function GetBkColor: Word;
Возвращает текущее значение фонового цвета.
Function GetColor: Word;
Возвращает текущее значение основного цвета, установленного при предыдущем успешном обращении к процедуре SetColor.
Function GetDriverName: String;
После обращения к InitGraph данная функция возвращает имя текущего драйвера.
Function GetGraphMode: Integer;
Возвращает текущий графический режим, установленный с помощью процедуры InitGraph и SetGraphMode.
Function GetMaxX: Integer;
Возвращает для текущего графического режима и драйвера максимальное значение координаты Х.
Function GetMaxY: Integer;
Возвращает для текущего графического режима и драйвера максимальное значение координаты Y.
Function GetX: Integer;
Возвращает текущую координату Х относительно установленного графического окна.
Function GetY: Integer;
Возвращает текущую координату Y относительно установленного графического окна.
Procedure GraphDefaults;
Сбрасывает установленные для графического средства параметры. Возвращает текущий указатель в нулевую точку и устанавливает для графической системы принятые по умолчанию параметры (область просмотра, палитру, фоновый и основной цвета, тип линии и образец линии, тип заполнителя, образец заполнителя и цвет заполнителя).
Function GetErrorMsg (ErrorCode: Integer): String;
Для заданного кода ошибки графической системы (ErrorCode) возвращает строку, содержащую сообщение об ошибке, соответствующее этому коду.
Procedure InitGraph (var grDriver: Integer; var Mode: Integer; Path: String);
Инициализирует графическую систему и переводит аппаратуру в графический режим. Параметры grDriver (графический драйвер) и Mode (графический режим) являются параметрами-переменными (var). Если параметр grDriver равняется Detect, выполняется вызов процедуры DetectGraph, загружается соответствующий драйвер и выбирается графический режим.
Procedure Line (X1, Y1, X2, Y2: Integer);
Рисует прямую линию из точки (X1, Y1) в точку (X2, Y2).
Procedure Rectangle (X1, Y1, X2, Y2: Integer);
Рисует прямоугольник, используя текущий цвет и тип строки. Точка с координатами (X1, Y1) определяет левый угол прямоугольника, а точка с координатами (X2, Y2) правый нижний угол.
Procedure SetColor (Color: Word);
Используя палитру, устанавливает текущий цвет выводимых изображений в значение Color.
Procedure SetGraphMode (Mode: Integer);
Устанавливает для системы графический режим и очищает экран.
Procedure SetLineStyle (SType: Word; Pattern: Word; S: Word);
Устанавливает текущую толщину S и тип линии SType.
Procedure SetTextJustify (Goriz, Vert: Word);
Устанавливает значения выравнивания текста, которые используются процедурами OutText и OutTextXY.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
Program lines;
Uses Graph, Crt; {подключение графической библиотеки}
Const
grDriver : integer = Detect;
size = 40;
s2 = size div 2;
s4 = size div 4;
Var
grMode, ErrCode, Halfx, Halfy
x, y, x1, y1, x2, y2, i : integer;
begin
randomize;
{- - - - - - - - инициализация графики - - - - - - - - -}
InitGraph (grDriver, grMode, ‘d:\tp\bgi’); { перевод экрана в графический режим }
ErrCode := GraphResult;
{проверка успешного подключения графического режима}
if ErrCode <> GrOk then begin
writeln (‘Ошибка графики:', GraphErrorMsg(ErrCode));
exit end;
{- - - - - - - - вывод линий - - - - - - - - -}
Halfx := GetMaxX div 2; {формирование координат центра экрана}
Halfy := GetMaxY div 2;
x := Halfx;
x1 := x;
y := Halfy;
y1 := y;
for i := 1 to 450 do begin {вывод линий с небольшой задержкой}
x2 := round(cos(0.05*i)* Halfy) + Halfx;
y2 := round(sin(0.05*i)* Halfy) + Halfy;
if (i mod 10) = 0 then SetColor(random(15)+1);
Line(x1, y1, x2, y2);
Line(x, y, x2, y2);
x1 := x2;
y1 := y2;
delay (5);
end; …
CloseGraph {восстановление исходного режима экрана}
end.
СОДЕРЖАНИЕ РАБОТЫ: Написать и отладить программу с использованием модуля Graph.
Вариант | Задание |
№1, 11 | Составить программу бегущего человечка вдоль окна (или по дорожке). |
№2, 12 | Составить программу попадания футбольного мяча в ворота. |
№3, 13 | Составить программу движения пирамиды (окружность-квадрат-окружность-квадрат-окружность) вдоль экрана ПК. |
№4, 14 | Составить программу цветения полевого цветка (в конце лепестки опадают). |
Вариант | Задание |
№5, 15 | Составить полет теннисного шарика. |
№6, 16 | Составить программу «Светофор» (смену цветов: красного-желтого-зеленого и их подключение более ярких оттенков). |
№7, 17 | Составить программу «Солнышко» (прорисовать лучи, их мерцание). |
№8, 18 | Составить программу работы программиста за компьютером. |
№9, 19 | Составить программу движения автомобиля вдоль экрана ПК. |
№10, 20 | Составить программу увеличения окружностей из центра экрана (новая окружность возникает через каждых 5 секунд). |
ВОПРОСЫ ВЫХОДНОГО КОНТРОЛЯ:
1. Перечислите типы модуля Graph.
2. Перечислите константы модуля Graph.
3. Перечислите переменные модуля Graph.
4. Перечислите подпрограммы модуля Graph.
ДОМАШНЕЕ ЗАДАНИЕ
Выучить константы, типы, переменные, подпрограммы модуля Graph.