Изобразить отрезок и показать перемещение точки по нему от одного конца до другого (модуль Graph) - Free Pascal
Формулировка задачи:
Изобразить отрезок и показать перемещение точки по нему от одного конца до другого.
Решение задачи: «Изобразить отрезок и показать перемещение точки по нему от одного конца до другого (модуль Graph)»
textual
Листинг программы
Uses
Graph,Crt;
var
gd,gm : integer;
PathToDriver : string;
x,y,x1,y1:integer;
begin
gd:=detect; { highest possible resolution }
gm:=0; { not needed, auto detection }
PathToDriver:='C:\PP\BGI'; { path to BGI fonts, drivers aren't needed }
InitGraph(gd,gm,PathToDriver);
if GraphResult<>grok then
halt;
{ whatever you need }
x:=0;
y:=GetMaxY div 2;
x1:=GetMaxX;
y1:=y;
setcolor(red);
line(x,y,x1,y1);
while x<x1 do
begin
PutPixel(x,y,white);
delay(25);
PutPixel(x,y,red);
inc(x);
end;
readln;
CloseGraph; { restores the old graphics mode }
end.
Объяснение кода листинга программы
- Установка начального значения переменных
gdиgmдля выбора самого высокого разрешения и отсутствия необходимости в определении драйвера соответственно. - Установка пути к файлам BGI шрифтов в переменную
PathToDriver. - Инициализация графического режима с помощью функции
InitGraph. - Проверка успешности инициализации графического режима с помощью
GraphResult. - Установка начальных координат точки
x,y. - Установка конечных координат точки
x1,y1. - Установка цвета линии в красный с помощью
setcolor(red). - Отображение линии от начальной точки до конечной с помощью
line(x,y,x1,y1). - В цикле отображается последовательность пикселей от начального значения
xдо конечного значенияx1с задержкой в 25 миллисекунд между ними. - Очистка графического окна перед выводом с помощью
cleardevice. - Чтение строки ввода с помощью
readln. - Закрытие графического окна с помощью
CloseGraph. - Возвращение в предыдущий графический режим с помощью
restoregraph.