Вывод на экран компьютера рисунка головы, организуя моргание глаз - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Создайте программу вывода на экран компьютера рисунка головы, организуя моргание глаз. Помогите пожалуйста.

Решение задачи: «Вывод на экран компьютера рисунка головы, организуя моргание глаз»

textual
Листинг программы
uses crt,graph;
procedure lico(x,y:integer);
begin
setcolor(6);
circle(x,y,100);
line(x,y,x-30,y+30);
line(x-30,y+30,x+5,y+30);
arc(x,y-30,240,300,100);
line(x-45,y+50,x-52,y+60);
line(x+45,y+50,x+52,y+60);
ellipse(x-110,y,0,360,10,20);
ellipse(x+110,y,0,360,10,20);
end;
procedure glaza1(x,y:integer);
begin
setcolor(15);
setlinestyle(0,0,1);
circle(x-40,y-30,20);
circle(x+40,y-30,20);
setfillstyle(1,15);
floodfill(x-40,y-30,15);
floodfill(x+40,y-30,15);
setcolor(6);
circle(x-40,y-30,20);
circle(x+40,y-30,20);
setcolor(9);
circle(x-40,y-22,10);
circle(x+40,y-22,10);
setfillstyle(1,9);
floodfill(x-40,y-24,9);
floodfill(x+40,y-24,9);
end;
procedure glaza2(x,y:integer);
begin
setcolor(6);
setlinestyle(0,0,3);
arc(x-40,y-30,180,360,20);
arc(x+40,y-30,180,360,20);
end;
var xc,yc,i:integer;
begin
initgraph(xc,yc,'');
xc:=getmaxX div 2;
yc:=getmaxY div 2;
lico(xc,yc);
glaza1(xc,yc);
i:=0;
repeat
delay(500);
cleardevice;
i:=i+1;
lico(xc,yc);
if odd(i) then glaza2(xc,yc)
else glaza1(xc,yc);
until keypressed
end.

Объяснение кода листинга программы

  1. В начале кода используются библиотеки crt и graph.
  2. В процедуре lico задается цвет фона и рисуется круг с радиусом 100, а также две линии и эллипс.
  3. В процедуре glaza1 рисуются два круга с радиусом 20, а также заполняются два прямоугольника цветом 15.
  4. В процедуре glaza2 рисуется арка с радиусом 20.
  5. Переменные xc, yc и i инициализируются как полусумма максимальных координат x и y.
  6. Функция initgraph устанавливает координаты xc и yc для использования в последующих вызовах функций графического интерфейса.
  7. Затем вызывается функция lico, которая рисует круг и две линии.
  8. Если текущий индекс i нечетный, то вызывается функция glaza2, а если четный - функция glaza1.
  9. Код повторяется до тех пор, пока не будет нажата клавиша.
  10. После этого экран очищается и цикл повторяется.

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы