Графика
Здравствуйте! нужно написать программу на паскале
Сделать бомбу - в виде круга. Осколки бомбы должны снижать скорость при движении.
ммм...вот часть...
Код:
"взрыв"
( рисование движущегося массива пикселов с остановкой на границах экрана ).
------------------------------------------------------------------}
x1:= Gx div 2; y1:= Gy div 2;
for i:=1 to 300 do begin
X[i]:= x1+ i mod 10; { массив осколков }
Y[i]:= y1+ i div 10;
PutPixel(X[i], Y[i], 15);
VX[i]:= -10 + random(21);
VY[i]:= -10 + random(21)
end;
SetColor(5);
Rectangle(x1, y1, x1+9, y1+30); { бомба }
ch:= ReadKey; { задержка до нажатия клавиши }
for i:=1 to 100 do begin
sound(random(80));
delay(1);
nosound { звук взрыва }
end;
SetColor(0);
Rectangle(x1, y1, x1+9, y1+30); { взрыв бомбы }
Repeat
for i:=1 to 300 do begin
if(X[i]+VX[i] > 0) and (X[i]+VX[i] < Gx) and
(Y[i]+VY[i] > 0) and (Y[i]+VY[i] < Gy)
then begin { если пиксел не перелетит за край экрана }
PutPixel(X[i],Y[i],0); X[i]:= X[i]+VX[i]; Y[i]:= Y[i]+VY[i];
PutPixel(X[i], Y[i], 14) end { движение осколков }
else begin VX[i]:= 0; VY[i]:= 0;{ если пиксел долетел до края экрана }
sound(200); delay(2); nosound end
end
Until Keypressed;
|