Создать программу, в которой треугольник движется по периметру экрана - PascalABC.NET
Формулировка задачи:
Создать программу, в которой треугольник движется по периметру экрана
Решение задачи: «Создать программу, в которой треугольник движется по периметру экрана»
textual
Листинг программы
- uses graphABC;
- const w=400;//размеры окна
- r=20;//радиус окружности, описанной около треугольника
- z=1;//задержка
- d=1;//шаг смещения треугольника
- var f:boolean;//переменная для останова программы
- procedure trg(x,y:integer);
- var u:real;
- begin
- setpencolor(clRed);
- setpenwidth(2);
- u:=pi/2;
- moveto(x+round(r*cos(u)),y-round(r*sin(u)));
- u:=u+2*pi/3;
- lineto(x+round(r*cos(u)),y-round(r*sin(u)));
- u:=u+2*pi/3;
- lineto(x+round(r*cos(u)),y-round(r*sin(u)));
- u:=u+2*pi/3;
- lineto(x+round(r*cos(u)),y-round(r*sin(u)));
- end;
- procedure MouseDown(x,y,mousebutton: integer);
- begin
- if mousebutton=1 then f:=false;//если ЛКМ остановка
- end;
- var x,y:integer;
- begin
- setwindowsize(w,w);
- centerwindow;
- f:=true;
- onmousedown:=MouseDown;
- x:=r;
- y:=r;
- lockdrawing;
- while f do
- begin
- clearwindow;
- trg(x,y);
- sleep(1);
- if (x<w-r)and(y<=r) then x:=x+1
- else if (y<w-r)and(x>=w-r) then y:=y+1
- else if(x>r)and(y>=w-r) then x:=x-d
- else if (y>r)and(x<=w-r) then y:=y-d;
- redraw;
- end;
- end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д