Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 01.05.2017
Сообщений: 1

Дождь (анимация)

01.05.2017, 13:18. Показов 3801. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот код ,но проблема в том ,что нужен дождь . Не имеет значения, что будет "падать "(опускаться)(линии,шары). Не нужно учитывать ветер,гравитацию и т.д. Нужно просто падения дождя с туч.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
uses GraphAbc;
var
x1,y1,x2,y2,i,k,t,u:integer;
 
x,y,o:real;
procedure fon();
begin
FloodFill(0,600,clskyblue);
line(0,500,1440,500);
FloodFill(250,600,clPaleGreen);
line(50,550,60,520);
line(60,520,70,550);
line(70,550,80,530);
line(80,530,90,550);
line(50,550,90,550);
setbrushcolor(clbrown);
rectangle(300,760,350,600);
setbrushcolor(clgreen);
circle(324,550,90);
setbrushcolor(clred);
circle(324,520,10);
line(324,510,324,500);
 
setbrushcolor(clred);
circle(350,560,10);
line(350,550,350,540);
 
setbrushcolor(clred);
circle(290,560,10);
line(290,550,290,540);
 
setbrushcolor(clred);
circle(324,587,10);
line(324,577,324,567);
end;
begin
MaximizeWindow;
lockdrawing;
x1:=0; y1:=150; k:=200; 
lockdrawing;
for i:=1 to 90 do 
begin
while x<=12 do
begin
clearwindow;
Fon();
x2:=trunc(x1+x*k);
y2:=trunc(y1-y*k);
setbrushcolor(clYellow);
Circle(600,150,80);
 
setbrushcolor(clgray);
Circle(x2-320,y2-50,40);
Circle(x2-300,y2-50,30);
Circle(x2-250,y2-50,60);
Circle(x2-180,y2-50,40);
Circle(x2-200,y2-50,30);
 
Circle(x2-30,y2,40);
Circle(x2-50,y2,30);
Circle(x2,y2,60);
Circle(x2+50,y2,30);
Circle(x2+70,y2,40);
 
 
Circle(x2+200,y2+50,30);
Circle(x2+220,y2+50,40);
Circle(x2+250,y2+50,60);
Circle(x2+300,y2+50,30);
Circle(x2+320,y2+50,40);
 
 
Circle(x2+580,y2-50,40);
Circle(x2+600,y2-50,30);
Circle(x2+650,y2-50,60);
Circle(x2+700,y2-50,30);
Circle(x2+720,y2-50,40);
 
x:=x+0.1;
sleep(3);
redraw;
end;
x:=0;
o:=o+0.5;
end;
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.05.2017, 13:18
Ответы с готовыми решениями:

Программа дождь
«Дождь». Частицы в виде разноцветных полос появляются в верхней части окна и движутся в сторону нижней. Предусмотреть кнопки увеличения и...

Изобразить движение туч и дождь.
Составить программу ввывода в верхнюючасть экрана изображения двух туч. При нажатии клавиши Enter тучи начинают двигаться навстречу друг...

Программа "ДОЖДЬ"
Разработать программу, в которой по щелчку мышью начинает лить дождь, по повторному щелчку дождь прекращается. :cofee2: Добавлено...

2
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,434
01.05.2017, 14:54
Дождь
0
 Аватар для Сергей Игнатьев
222 / 57 / 18
Регистрация: 13.03.2017
Сообщений: 295
03.05.2017, 14:33
Попробуйте это
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Program Rain;
// меняет цвета кнопками: r,g,b,y,w,p ;
//меняет скорость кнопками: up и down ;
//Меняет количество точек кнопками:left и right
 uses graphABC;
 var t:array[1..2,1..200]of integer;
    m,v,c:integer;
 procedure KeyDown(Key: integer);
begin
  case Key of
       VK_b: c:=1;
       VK_r: c:=2;
       VK_g: c:=3;
       VK_y: c:=4;
       VK_p: c:=5;
       VK_w: c:=6;
       VK_Right:   if m <=195 then m:=m+5; 
       VK_Left:    if m>=6 then m:=m-5;
       VK_Up:      if v<=95 then v:=v+5;
       VK_Down:    if v>=5 then v:=v-5;
    end; 
  end;  
  
 begin
 m:=100;
 v:=100;    
 c:=random(1,6);
 v:=round(100/v)-1;
 for i:integer:=1 to m do
  begin
  t[1,i]:=random(0,windowwidth);
  t[2,i]:=random(0,windowheight);
  end;
 repeat
 lockdrawing;
 clearwindow;
 setbrushcolor(clSkyBlue);
 rectangle(0,0,windowwidth,windowheight);
 //writeln(m,' ',v ); //Контроль количества и замедления
 case c of
     1: setpencolor(clblue);
     2: setpencolor(clred);
     3: setpencolor(clgreen);
     4: setpencolor(clyellow);
     5: setpencolor(clpurple);
     6: setpencolor(clwhite);
 end;
 for i:integer:=1 to m do
   begin
    //circle(t[1,i],t[2,i],2); // падают капли
    line(t[1,i],t[2,i]-5,t[1,i],t[2,i]+5); //падают линии
   end;
 redraw;
 sleep(v);
 for i:integer:=1 to m do
   begin
   t[2,i]:=t[2,i]+5;
   if t[2,i]>windowheight then t[2,i]:=1;
   end;
   OnKeyDown:=KeyDown;
 until false;
Добавлено через 20 часов 21 минуту
62 Строка пропала при копировании, вставьте End.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.05.2017, 14:33
Помогаю со студенческими работами здесь

Дождь
Помогите пожалуйста!!! «Дождь». Частицы в виде разноцветных полос появляются в верхней части окна и движутся в сторону нижней....

Программа Дождь
people help me please!!!!!!))))) Надо написать прогу дождь- в верхней части экрана появляются случайным образом 50 точек и они движутся...

Цветной дождь
В Банановой республике очень много холмов, соединенных мостами. На химическом заводе произошла авария, в результате чего испарилось...

Цветной дождь
Нужно чтобы мосты были покрашены в цвет холмов, которые они соединяют. К сожалению, если холмы разного цвета, то покрасить мост таким...

Дождь из символов с рамкой
Школьная задачка нужно сделать рамку из символов ! и в ней дождь не получается сделать ,вот моя прога(если че тока начинаю заниматься...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru