Изобразить равнобедренный треугольник, вращающийся с постоянной угловой скоростью вокруг своей высоты, расположенной параллельно вертикальной оси экрана
Категория: Delphi/Pascal
2016-04-14 15:08:29
Делфи:
code: #delphi
var Form1: TForm1; a,h,x0,y0,x,dx:integer; f:boolean; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin a:=(PaintBox1.Width-40) div 2; h:=PaintBox1.Height-40; x:=a; x0:=PaintBox1.Width div 2; y0:=PaintBox1.Height-20; dx:=1; f:=true; doublebuffered:=true; end; procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Enabled:=true; Timer1.Interval:=10; end; procedure TForm1.PaintBox1Paint(Sender: TObject); begin with PaintBox1.Canvas do begin brush.Color:=clWhite; fillrect(Cliprect); pen.Color:=clRed; moveto(x0-x,y0); lineto(x0,y0-h); lineto(x0+x,y0); lineto(x0-x,y0); end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if f then x:=x-dx else x:=x+dx; if(x<=0)or(x>=a)then f:=not f; PaintBox1.Repaint; end;
Паскаль ABC
code: #pascal
uses graphABC,crt; var x,y,h,d:integer; begin hidecursor; x:=windowwidth div 2; y:=windowheight div 2+75; d:=50; h:=150; lockdrawing; repeat while (d>1)and not keypressed do begin clearwindow; setpencolor(clRed); line(x-d,y,x+d,y); line(x-d,y,x,y-h); line(x,y-h,x+d,y); delay(100); d:=d-2; redraw; end; while (d<50)and not keypressed do begin clearwindow; setpencolor(clRed); line(x-d,y,x+d,y); line(x-d,y,x,y-h); line(x,y-h,x+d,y); delay(100); d:=d+2; redraw; end; until keypressed; end.
Паскаль ABC.net
code: #pascal
uses graphABC; var f:boolean; procedure KeyPress(key:char); begin if key<>#0 then f:=false; end; var x,y,h,d:integer; begin x:=windowwidth div 2; y:=windowheight div 2+75; f:=true; onkeypress:=KeyPress; d:=50; h:=150; lockdrawing; repeat while (d>1)and f do begin clearwindow; setpencolor(clRed); line(x-d,y,x+d,y); line(x-d,y,x,y-h); line(x,y-h,x+d,y); sleep(100); d:=d-2; redraw; end; while (d<50)and f do begin clearwindow; setpencolor(clRed); line(x-d,y,x+d,y); line(x-d,y,x,y-h); line(x,y-h,x+d,y); sleep(100); d:=d+2; redraw; end; until not f; end.
автор: Puporev
Поделиться: