Читайте также:
|
|
{---------------------------------------------------------------- }
While KeyPressed do ch:= ReadKey; { очистка буфера клавиатуры }
CloseGraph; end. { закончить работу в графическом режиме }
После инициализации графики определяются переменные Gx, Gy - максимальные значения координат по осям X, Y. Назначается черный цвет для линий, которые будут выводиться. Затем в цикле повторяется до нажатия любой клавиши высвечивание точек (пикселов) с номерами цвета "i" от 9 до 15 и координатами xc, yc. Значения координат точек и номеров цвета определяются из заданного диапазона функцией Random. Чтобы точки не "забивали" экран, некоторые из них "гасятся" окружностью радиусом 3 пиксела с центром в появившейся точке.
Практическое задание N 1. 46
Модифицировать программу "небо в алмазах":
1. Выводить пикселы в прямоугольниках, расположенных:
в правой нижней четверти экрана (использовать яркие цвета),
в левой верхней четверти экрана (использовать темные цвета).
Увеличить степень "гашения" точек, - чтобы экран был более свободным.
2. Выводить пикселы в прямоугольниках, расположенных:
в левой нижней четверти экрана (использовать яркие цвета),
в правой верхней четверти экрана (использовать темные цвета). Сопроводить появление каждой сотой точки коротким звуковым импульсом с частотой 100 * цвет точки.
Примечание к п. п. 1 и 2: После высвечивания 5000 пикселов изменять номер графического режима, цвет линий и фона.
3. Смоделировать на экране семь вертикальных цветных полос настройки телевизора, заполненных пикселами разного цвета.
4. Смоделировать на экране пять колец, заполненных пикселами разного цвета.
Примечание к п. п. 3 и 4: Заполнение произвести тремя способами:
а) линиями или окружностями разного радиуса;
б) пикселами, рисующими линии или окружности разного радиуса.
Координаты точек окружности радиуса "r" вычислять по формуле:
x=round(r*cos(t)); y=round(r*sin(t)); где 0=< t <=2*Pi;
в) пикселами с координатами, определяемыми функцией Random и выводимыми только в заданной области в цикле до нажатия клавиши.
После каждого заполнения способами а), б), в) - очищать экран.
{------------------------------------------------------------------
Фрагмент N 2 программы "мерцание звезд"
(рисование массива пикселов, изменяющих цвет).
----------------------------------------------------------------- }
for k:= 1 to N do begin X[k]:=random(Gx); Y[k]:=random(Gy) end;
Repeat
for k:= 1 to N do begin i:= random(16);
PutPixel(X[k], Y[k], i);
if i= 0 then begin X[k]:= random(Gx); { новые координаты звезд }
Y[k]:= random(Gy) end end
Дата добавления: 2015-10-29; просмотров: 100 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Простейшие графические процедуры и функции | | | Построение заполненных фигур |