TURBO PASCAL |
Новости |
Практическое задание N 1. 49
Модифицировать программу "взрыв":
1. Сделать бомбу
- в виде квадрата. При
достижении краев экрана осколки бомбы
должны высвечиваться красным цветом ( в
программе использовать массив цветов
осколков ).
2. Сделать бомбу
- в виде круга. Осколки
бомбы должны снижать скорость при
движении.
3. Смоделировать
бомбу, падающую с
середины верхней части экрана и
взрывающуюся при достижении нижнего края
экрана.
4. Смоделировать
два движущихся по горизонтали снаряда,
взрывающихся при столкновении. {------------------------------------------------------------------ Фрагмент N 5
программы "цветные волны точек" ( рисование движущегося
массива пикселов с отражением от границы
экрана ). ------------------------------------------------------------------} for k:=
1 to N do begin X[k]:= random(Gx); {
координаты
пиксела }
Y[k]:= random(40);
P[k]:= random(7)+9;
{
цвет пиксела }
VX[k]:=-2+random(5); VY[k]:=-6+P[k]
{
приращение
координат } end; Repeat
for k:= 1 to N do begin
{
анализ границ экрана }
if (X[k]+VX[k]<0)
or (X[k]+VX[k]>Gx) then VX[k]:=
-VX[k];
if (Y[k]+VY[k]<0) or (Y[k]+VY[k]>Gy) then
VY[k]:= -VY[k];
PutPixel(X[k], Y[k], 0);
{
стирание
пиксела }
X[k]:=X[k]+VX[k]; Y[k]:=Y[k]+VY[k]; { новые
координаты
пиксела }
PutPixel(X[k], Y[k], P[k])
{
рисование пиксела }
end Until
KeyPressed; {-----------------------------------------------------------------}
В верхней части экрана генерируются N
точек цвета P[k]. Приращение координат точек
задается в виде массивов VX,
VY , т. е.
скорость движения каждой точки
постоянная, а
направление изменяется при достижении
границы экрана. Вертикальная
скорость задается
одинаковой для точек одного цвета,
что создает иллюзию волнового (фронтального)
движения. По горизонтали скорость
выбирается случайным образом.
Алгоритм создания перемещения: точка
гасится пикселом с цветом фона и
высвечивается вновь после ее смещения. |
(с) Все права защищены. По всем интересующим вопросам прошу писать электронный адрес |