PROGRAM lines; PROCEDURE movinglines(max_x, max_y, max_col, ms:INTEGER); VAR x1,y1:INTEGER; VAR x2,y2:INTEGER; VAR delta_x1, delta_y1:INTEGER; VAR delta_x2, delta_y2:INTEGER; VAR col:INTEGER; BEGIN x1 := 120; y1 := 90; x2 := 340; y2 := 220; delta_x1 := 9; delta_y1 := 4; delta_x2 := 3; delta_y2 := 7; col := 1; WHILE NOT CONAVAIL DO BEGIN x1 := x1 + delta_x1; y1 := y1 + delta_y1; x2 := x2 + delta_x2; y2 := y2 + delta_y2; IF (x1 > max_x) OR (x1 < 0) THEN BEGIN delta_x1 := -delta_x1; x1 := x1 + delta_x1; END; IF (y1 > max_y) OR (y1 < 0) THEN BEGIN delta_y1 := -delta_y1; y1 := y1 + delta_y1; END; IF (x2 > max_x) OR (x2 < 0) THEN BEGIN delta_x2 := -delta_x2; x2 := x2 + delta_x2; END; IF (y2 > max_y) OR (y2 < 0) THEN BEGIN delta_y2 := -delta_y2; y2 := y2 + delta_y2; END; col := col + 1; IF col > max_col THEN col := 1; DRAWLINE(x1,y1,x2,y2,col); delay(ms); END; END; BEGIN initgraphics; movinglines(639,399,15,0); END.