Модифицировать программу "мерцание звезд":
1. Если точка гаснет, то ее положение изменить на несколько пикселов и выводить цветом звезды линию к новым координатам звезды.
2. Если точка гаснет, то звезда "взрывается" - рисуется красная окружность радиусом два пиксела с коротким звуковым импульсом и гашением этой окружности после "взрыва".
3. Перемещать звезды желтого цвета вокруг центра экрана (выход пиксела за экран не контролировать).
4. Разделить экран на четыре области, в каждой из которых звезды белого цвета смещать на два пиксела по "Х", "Y" от центра экрана.
{------------------------------------------------------------------
Фрагмент N 3 программы "снег"
(рисование движущегося массива пикселов с остановкой на границе экрана).
----------------------------------------------------------------- }
for i:=1 to 200 do begin
X[i]:= random(Gx);
Y[i]:= random(Gy div 2); PutPixel(X[i],Y[i],15) end;
Repeat
for i:=1 to 200 do begin
if (Y[i] < Gy) and (GetPixel(X[i],Y[i]+1)= 0) { анализ границы }
{ и цвета пиксела }
then begin PutPixel(X[i], Y[i], 0); Y[i]:= Y[i]+1;
PutPixel(X[i], Y[i],15) end { движение пикселов }
|
|
else begin { образование новых пикселов }
Y[i]:= random(Gy div 10);
X[i]:= random(Gx); PutPixel(X[i], Y[i], 15) end end
Until keypressed;
{-----------------------------------------------------------------}
Сначала генерируется набор координат (X[i], Y[i]) в верхней половине экрана и выводятся белые точки (снежинки). Затем каждая точка гасится, смещается по оси Y на 1 пиксел и высвечивается вновь. Если точка по ходу движения достигнет нижнего края экрана или встретит "преграду" (точку не черного цвета), то она не гасится и генерируется новая точка в верхней части экрана.