uses graph,crt; type cube=object procedure draw_cube(y:integer);end; procedure cube.draw_cube(y:integer); begin line(y+round(12*(cos(y*pi/180)))-25,round(12*(sin(y*pi/180)))+150, y-round(12*(cos(y*pi/180)))+65,-round(12*(sin(y*pi/180)))+150); line(y+round(12*(cos(y*pi/180)))-25,round(12*(sin(y*pi/180)))+80, y-round(12*(cos(y*pi/180)))+65,-round(12*(sin(y*pi/180)))+80); line(y+round(12*(cos(y*pi/180)))-25,round(12*(sin(y*pi/180)))+150, y+round(12*(cos(y*pi/180)))-25,round(12*(sin(y*pi/180)))+80 ); line(y-round(12*(cos(y*pi/180)))+65,-round(12*(sin(y*pi/180)))+150, y-round(12*(cos(y*pi/180)))+65,-round(12*(sin(y*pi/180)))+80); line(y+round(12*(cos(y*pi/180)))-25,round(12*(sin(y*pi/180)))+150, y-round(12*(cos(y*pi/180)))-25,-round(12*(sin(y*pi/180)))+150); line(y+round(12*(cos(y*pi/180)))-25,round(12*(sin(y*pi/180)))+80, y-round(12*(cos(y*pi/180)))-25,-round(12*(sin(y*pi/180)))+80); line(y-round(12*(cos(y*pi/180)))-25,-round(12*(sin(y*pi/180)))+150, y-round(12*(cos(y*pi/180)))-25,-round(12*(sin(y*pi/180)))+80); line(y-round(12*(cos(y*pi/180)))-25,-round(12*(sin(y*pi/180)))+80, y-round(12*(cos(y*pi/180)))+65,-round(12*(sin(y*pi/180)))+80); line(y-round(12*(cos(y*pi/180)))-25,-round(12*(sin(y*pi/180)))+150, y-round(12*(cos(y*pi/180)))+65,-round(12*(sin(y*pi/180)))+150); end; var q:cube; x,d,m,lk:integer; begin d:=vga; m:=vgamed; initgraph(d, m, ''); for x:=5 to 500 do begin if lk=0 then lk:=1 else lk:=0; setactivepage(lk); cleardevice; q.draw_cube(x); setvisualpage(lk); delay(5); end; closegraph end.