Анимация готового рисунка - Turbo Pascal
Формулировка задачи:
ВОТ ЕСТЬ КОД РИСУНКА НУЖНО СДЕЛАТЬ ТАК ЧТОБ ОН ДВИГАЛСЯ Ровно - замедленно вверх
Листинг программы
- Program dva;
- uses Graph;
- var graphdriver:integer;
- graphmode:integer;
- Begin
- graphdriver:=detect;
- initgraph(graphdriver,graphmode,'C:\bp\bin');
- setbkcolor(3);
- setcolor(blue);
- Line(250,350,400,350);
- Line(250,350,300,300);
- Line(400,350,450,300);
- Line(300,300,450,300);
- Line(350,325,350,150);
- ellipse(350,150,328,392,96,96);
- ellipse(350,150,148,212,96,96);
- Line(268,98,433,200);
- Line(268,200,433,100);
- setfillstyle(3,red);
- FloodFill(290,150,blue);
- FloodFill(400,150,blue);
- setfillstyle(10,yellow);
- FloodFill(350,330,blue);
- readln;
- closegraph;
- end.
Решение задачи: «Анимация готового рисунка»
textual
Листинг программы
- Program dva;
- uses Graph,crt;
- procedure ris(x,y,c1,c2,c3:integer);
- begin
- setcolor(c1);
- Line(x-20,y+50,x+30,y+50);
- Line(x+30,y+50,x+20,y+70);
- Line(x+20,y+70,x-30,y+70);
- Line(x-30,y+70,x-20,y+50);
- Setfillstyle(10,c3);
- FloodFill(x,y+60,c1);
- line(x,y,x,y+60);
- setfillstyle(3,c2);
- PieSlice(x,y,150,210,30);
- arc(x,y,330,30,30);
- line(x,y,x+25,y-15);
- line(x,y,x+25,y+15);
- floodfill(x+5,y,c1);
- end;
- var graphdriver:integer;
- graphmode,x,y,z:integer;
- begin
- graphdriver:=detect;
- initgraph(graphdriver,graphmode,'C:\bp\bin');
- setbkcolor(3);
- x:=getmaxX div 2;
- y:=getmaxY-80;
- z:=50;
- while y>20 do
- begin
- cleardevice;
- ris(x,y,1,4,14);
- delay(z);
- y:=y-5;
- z:=z+1;
- end;
- readln;
- closegraph;
- end.
Объяснение кода листинга программы
- Программа начинается с объявления типа данных и имени программы.
- В процедуре
ris
используются команды для изменения цвета и стиля линий, а также для заполнения области цветом. - Затем вызывается функция
FloodFill
, которая заполняет область цветом. - Далее вызываются функции
PieSlice
иarc
, которые рисуют сегмент круга. - Затем вызываются функции
line
иfloodfill
, которые рисуют линии и заполняют область цветом. - Переменные
graphdriver
,graphmode
,x
,y
,z
инициализируются значениями, полученными от системы. - Цикл
while
выполняется до тех пор, покаy
не станет меньше 20. - Внутри цикла вызывается процедура
ris
, которая рисует анимацию. - После завершения цикла
while
вызывается функцияreadln
, чтобы дождаться ввода пользователя. - Наконец, вызывается функция
closegraph
, чтобы закрыть графический драйвер.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д