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

Программа дождь

11.04.2017, 05:39. Показов 2278. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
«Дождь». Частицы в виде разноцветных полос появляются в верхней части окна и движутся в сторону нижней. Предусмотреть кнопки увеличения и уменьшения количества частиц. Предусмотреть возможность задавать минимальную и максимальную скорость движения частицы.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2017, 05:39
Ответы с готовыми решениями:

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

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

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

2
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
11.04.2017, 08:07
Написание программы "дождь"
0
 Аватар для Сергей Игнатьев
222 / 57 / 18
Регистрация: 13.03.2017
Сообщений: 295
11.04.2017, 15:09
Лучший ответ Сообщение было отмечено Анна100 как решение

Решение

Предлагаю слегка улучшенный вариант.
Над разноцветными каплями и кнопками надо поработать !
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
 Program Rain;
 uses graphABC;
 var t:array[1..2,1..200]of integer;
    m,v:integer;
 begin
 Writeln('Введите количество частиц (1-200) m = ');
 readln(m);
 Writeln('Введите скорость  частиц (1-100) v = ');
 readln(v);
 v:=round(100/v)-1; 
 for i:integer:=1 to m do
  begin
  t[1,i]:=random(windowwidth-40)+20;
  t[2,i]:=random(windowheight-40)+20;
  end;
 repeat
 lockdrawing;
 clearwindow;
 setbrushcolor(clBlue);
 rectangle(0,0,windowwidth,windowheight);
 setpencolor(clAquamarine);
 
 for i:integer:=1 to m do
   begin
    circle(t[1,i],t[2,i],2);  
   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;
 until false;
 end.
Добавлено через 2 часа 31 минуту
А этот вариант меняет цвета кнопками: r,g,b,y,i,p ;
меняет скорость кнопками: up и down ;
Меняет количество точек кнопками:
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
Program Rain;
 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_i: 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:=10;    
 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(clivory);
 end;
 for i:integer:=1 to m do
   begin
    circle(t[1,i],t[2,i],2);  
   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;
 end.
left и right

Добавлено через 49 минут
Чтобы скорость была максимальной , надо в строке 23 изменить на v:=100;
а чтобы цвет был сочнее надо строку 47 повторить.

Добавлено через 32 минуты
Точки можно легко переделать в полосы для этого нужно вместо строки 47 вставить
line(t[1,i],t[2,i]-5,t[1,i],t[2,i]+5); и все !
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2017, 15:09
Помогаю со студенческими работами здесь

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

Программа «Дождь»: "капли" появляются не случайным образом
Задание: Написать программу «Дождь»: в верхней строке экрана случайным образом появляются точки, которые затем падают вниз с постоянной...

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru