Задание: создать программу движения отрезка по диагонали экрана. помогите пожалуйста.

0 голосов
31 просмотров

Задание: создать программу движения отрезка по диагонали экрана.
помогите пожалуйста.


Информатика (42 баллов) | 31 просмотров
Дан 1 ответ
0 голосов
Uses GraphABC;var f:boolean;//переменная для выхода из программы procedure KeyDown(Key: integer);beginif Key=VK_Return then f:=false;//если нажата Enter-меняем значение флагаWindow.Caption:='Программа завершена';end;var   x,y:integer;       r:real;beginf:=true;//программа включена на работуsetwindowsize(600,600);//квадратное окноWindow.Caption:='Для окончания нажмите Enter';lockDrawing;r:=1;x:=windowwidth-round(50*r);y:=round(50*r);repeatwhile (y begin  r:=r+0.002;  Window.Clear;  sleep(1);  DrawCircle(x,y,round(50*r));  MoveTo(round(x+50*r),y);  Arc(x,y,round(10*r),220,320);  Arc(x,y,round(30*r),220,320);  DrawCircle(x-round(20*r),y-round(14*r),round(10*r));  DrawCircle(x+round(20*r),y-round(14*r),round(10*r));  y:=y+1;  x:=x-1;  Redraw;  OnKeyDown := KeyDown;//если нажмем Enter, сменится флаг на false  end;                  // и программа завершится  x:=windowwidth-round(50*r);y:=windowheight-round(50*r);while (y>=round(50*r)) and f do begin  Window.Clear;  sleep(1);  r:=r-0.002;  DrawCircle(x,y,round(50*r));  MoveTo(round(x+50*r),y);  Arc(x,y,round(10*r),220,320);  Arc(x,y,round(30*r),220,320);  DrawCircle(x-round(20*r),y-round(14*r),round(10*r));  DrawCircle(x+round(20*r),y-round(14*r),round(10*r));  y:=y-1;  x:=x-1;  Redraw;  OnKeyDown := KeyDown;  end;x:=windowwidth-round(50*r);y:=round(50*r); until  not f; end.


(93 баллов)