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. |