Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] графика в паскале


Автор: Чуччи 2.4.2011, 21:43
Здравствуйте! нужно написать программу на паскале
Сделать бомбу - в виде круга. Осколки бомбы должны снижать скорость при движении.
ммм...вот может поможет..
Код

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


Автор: MetalFan 13.5.2011, 18:37
Цитата(Чуччи @  2.4.2011,  21:43 Найти цитируемый пост)
ммм...вот может поможет..

кому поможет? тебе написать программу? ну так пиши, в чем проблема то?

Автор: MetalFan 13.5.2011, 18:38
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)