| HECZZ 
 Newbie
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору плз как тут нарисовать правильний шистиугольник шоб он врощалса вокруг своиго центра против часовой стрелки?
 
 Program Lab2;
 Uses Graph, Crt;
 Var
 Driver, Mode,Error: integer;
 X1,Y1, X2, Y2, t : integer;
 Color1, Color2   : integer;
 key:char;
 
 procedure Six( Mycolor, X, Y : integer);
 begin
 setcolor( MyColor );
 line(X,Y,X,Y+50);
 line(X+100,Y,X+100,Y+50);
 line(X,Y,X+50,Y-30);
 line(X+100,Y,X+50,Y-30);
 line(X,Y+50,X+50,Y+80);
 line(X+100,Y+50,X+50,Y+80);
 end;
 
 procedure Pentas( Mycolor, X, Y  : integer);
 begin
 setcolor( MyColor );
 line(X,Y,X,Y+100);
 line(X,Y,X+50,Y-50);
 line(X+50,Y-50,X+100,Y);
 line(X+100,Y,X+100,Y+100);
 line(X+100,Y+100,X,Y+100);
 end;
 
 
 BEGIN
 Driver:=Detect;
 InitGraph(Driver,Mode,'..\BGI');
 Error:=GraphResult;
 if Error=GrOk then
 begin
 X1 := 100;
 Y1 := 100;
 X2 := 300;
 Y2 := 300;
 Color1 := lightred;
 Color2 := yellow;
 six( Color1, X1, Y1 );
 Pentas( Color2 , X2, Y2);
 
 repeat
 
 key:=readkey;
 if key=#0 then key:=readkey;
 
 if ord(key)=13 then begin
 {стираем то, что было изображено}
 six( black, X1, Y1 );
 Pentas( black, X2, Y2);
 
 {меняем местами X1 <-> X2 Y1 <-> Y2}
 t  := X1;
 X1 := X2;
 X2 := t;
 
 t  := Y1;
 Y1 := Y2;
 Y2 := t;
 
 {меняем местами Color1 <-> Color2}
 t  := Color1;
 Color1 := Color2;
 Color2 := t;
 
 six( Color1, X1, Y1 );
 Pentas( Color2 , X2, Y2);
 end;
 
 until ord(key)=27;
 
 CloseGraph;
 end
 else
 writeln(GraphErrorMsg(Error));
 END.
 
 |