Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Графика (http://www.tehnari.ru/f41/t49773/)

RadMan 01.04.2011 22:18

Графика
 
Здравствуйте! нужно написать программу на паскале
Сделать бомбу - в виде круга. Осколки бомбы должны снижать скорость при движении.

ммм...вот часть...
Код:

  "взрыв" 
( рисование движущегося массива пикселов с остановкой на границах экрана ).
------------------------------------------------------------------}
 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;



Часовой пояс GMT +4, время: 14:53.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.