Графика. Нарисовать "Резиновый прямоугольник" - помогите доделать - Turbo Pascal
Формулировка задачи:
Ребятки, помогите пожайлуста:"Резиновый прямоугольник". Изменение размера прямоугольника при фиксированной координате верхнего левого угла (растягивание или сжатие за правую боковую или нижнюю стороны). Вращение прямоугольника за его произвольную вершину при фиксированной координате центра прямоугольника. Выбор точки(стороны,вершины) осуществляется графическим курсором и нажатием клавиши "Enter". Буду премного благодарна! Там на фотках почти вся программа написана, ее нужно только немного дополнить
Решение задачи: «Графика. Нарисовать "Резиновый прямоугольник" - помогите доделать»
textual
Листинг программы
Procedure Kursor(x,y,n:word); Begin setcolor(n); line(x-5,y,x+5,y); line(x,y+5,x,y-5); end; {----------------} Procedure dvizhenie; Var gd,gm,x1,y1,x2,y2:integer; Begin gd:=Detect; ent:=0; initgraph(gd,gm,''); cleardevice; x:=20; y:=300; repeat kursor(x,y,10); if keypressed then begin kursor(x,y,0); a:=readkey; if a=chr(0) then begin a:=readkey; case ord(a) of 72:begin y:=y-10; end; 80:begin y:=y+10; end; 75:begin x:=x-10; end; 77: begin x:=x+10; end; else write('Нажата не стрелка'); end; end else case ord(a) of 13:begin if ent=0 then begin x1:=getx; y1:=gety; ent:=1; end else begin x2:=getx; y2:=gety; end; begin rectangle(x1,y1,x2,y2); end; end; 27:d:=3; else begin gotoxy(20,24); writeln('Нажата не стрелка'); repeat until keypressed; end; end; end; until (x>=630) or (y>=470) or (x<=10) or (y<=10) or (d=3); closegraph; End.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д