Система программирования Turbo Pascal

           

Линии и точки



Линии и точки


Процедура PutPixel.

Выводит заданным цветом точку по указанным координатам. Заголовок:

Procedure PutPixel(X,Y: Integer; Color: Word);

Здесь X, Y- координаты точки; Color - цвет точки.

Координаты задаются относительно левого верхнего угла окна или, если окно не установлено, относительно левого верхнего угла экрана.

Следующая программа периодически выводит на экран «звездное небо» и затем гасит его. Для выхода из программы нажмите любую клавишу.

Uses CRT, Graph;

type



PixelType = record

x, у : Integer; end; 

const

N = 5000; {Количество "звезд"} 

var

d,r,e,k: Integer; 

x1,y1,x2,y2: Integer;

a: array [1..N] of PixelType; {Координаты}

begin

{Инициируем графику} 

d := Detect; InitGraph(d, r, ' ') ; 

e := GraphResult; if e<>grOk then

WriteLn(GraphErrorMsg(e)) 

else 

begin

{Создаем окно в центре экрана} 

x1 := GetMaxX div 4; 

y1 := GetMaxY div 4; 

x2 := 3*x1; 

y2 := 3*y1;

Rectangle(x1,y1,x2,y2);

SetViewPort(x1+1,y1+1,x2-1,y2-1,ClipOn); 

{Создаем и запоминаем координаты всех "звезд"}  

for k := 1 to N do with a[k] do begin

x := Random(x2-x1); 

у := Random(y2-y1) 

end;

{Цикл вывода} 

repeat

for k := 1 to N do

with a[k] do {Зажигаем "звезду"}

PutPixel(x,y,white); 

if not KeyPressed then 

for k := N downto 1 do with a[k] do {Гасим "звезду"}

PutPixel(x,y,black) 

until KeyPressed;

while KeyPressed do k := ord(ReadKey); 

CloseGraph 

end;

end.



Содержание раздела