Нарисовать узор. Использовать заливку красным цветом для каждой окружности - Free Pascal
Формулировка задачи:
Написать программу, которая выводит изображенный ниже узор. Использовать заливку красным цветом для каждой окружности. Прорисовка каждой окружности выполняется с задержкой 1000 мс. После полной прорисовки стирать изображение и повторно выводить узор до нажатия Esc.
Решение задачи: «Нарисовать узор. Использовать заливку красным цветом для каждой окружности»
textual
Листинг программы
{$mode objfpc}
uses crt, graph;
const R = 100;
var
gd, gm : smallint;
i, j : integer;
ch : char;
begin
initgraph(gd, gm, '');
setcolor(black);
ch := #0;
repeat
setfillstyle(solidfill, lightgray);
bar(0, 0, getmaxx, getmaxy);
setfillstyle(solidfill, red);
for i := 0 to 19 do
begin
fillellipse(succ(i mod 5) * R, succ(i div 5) * R,
(R div 2)+10, (R div 2)+10);
for j := 0 to i do
circle(succ(j mod 5) * R, succ(j div 5) * R, (R div 2)+10);
delay(100); // задержку сам подбери ...
end;
while keypressed do
ch := readkey;
until ch = #27;
closegraph;
end.
Объяснение кода листинга программы
В этом коде используется графическая библиотека, чтобы нарисовать узор из окружностей и залить его красным цветом. Вот список действий, которые выполняет код:
- Инициализация графической библиотеки с помощью функции initgraph.
- Установка цвета заливки на черный с помощью функции setcolor.
- Установка цвета обводки на белый с помощью функции setfillstyle.
- Повторение цикла, пока не будет нажата клавиша Esc (#27).
- В начале каждого цикла рисуется окружность с помощью функции circle.
- После 20-го цикла рисуется узор из окружностей с помощью функции bar.
- Задержка в 100 миллисекунд с помощью функции delay.
- Чтение нажатой клавиши с помощью функции readkey.
- Закрытие графической библиотеки с помощью функции closegraph.