Нарисовать куб с 2 внутренними боковыми гранями через пунктирную линию и основанием- Pascal(Паскаль)

uses graph;
var  Diver, Mode, x,y,a,c :integer;
begin      
randomize;
 
 Diver := Detect;
InitGraph(Diver, Mode, 'D:\TP7\BGI');
 
x:=random (500);
y:=random(360);
a:=random(150);
c:=random(14)+1;
{основание 1}
line(x,y,x+a,y);
line(x+a,y, x+a+a div 2, y-a div 2);
SetLineStyle(2,1,1);
line(x,y,x+a div 2, y-a div 2);
line (x+a div 2, y-a div 2, x+a+a div 2, y-a div 2 );
 
{Верхнее основание}
setcolor(c);
SetLineStyle(0,1,1);
line(x,y-a, x+a, y-a);
line(x+a,y-a, x+a+a div 2, y-a-a div 2);
line(x,y-a,x+a div 2, y-a-a div 2);
line (x+a div 2, y-a-a div 2, x+a+a div 2, y-a-a div 2 );
setfillstyle(1,c);
floodfill(x+2,y-3,c);
{передняя грань}
 
line(x,y,x, y-a);
line(x+a,y, x+a, y-a);
 
{боковая грань }
SetLineStyle(2,1,1);
line (x+ a div 2, y-a div 2, x+ a div 2, y -a div 2 -a);
 
{боковая грань 2 }
SetLineStyle(0,1,1);
line (x+a+ a div 2, y-a div 2, x+a+a div 2, y-a div 2 -a);
{диагонали}
line(x+a,y-a,x+a div 2+a,y-a div 2);
line(x+a,y,x+a div 2+a, y- a-a div 2);
 
readln;
CloseGraph;
end.

Leave a Comment

+ 10 = 13