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

Изобразить на экране точку, пересекающую с постоянной скоростью экран справа налево параллельно его горизонтальной оси

16.11.2020, 16:35. Показов 2116. Ответов 3
Метки 20 (Все метки)

Студворк — интернет-сервис помощи студентам
Изобразить на экране точку, пересекающую с постоянной скоростью экран справа налево
параллельно его горизонтальной оси. Как только точка доходит до левого края, от
правого края в строке, выбранной с помощью датчика случайных чисел, несколько раньше, чем предыдущая точка доходит до левого края начинает свое движение другая точка и т.д. Цвет точки также может выбираться с помощью датчика случайных чисел. Попытаться добиться того, чтобы одновременно на экране двигались три, четыре точки.
(Вместо точки можно использовать небольшой круг, прямоугольник или изображение предмета: стрелы.)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.11.2020, 16:35
Ответы с готовыми решениями:

Изобразить на экране точку, пересекающую с постоянной скоростью экран справа налево
Помогите пожалуйста: 1) Изобразить на экране точку, пересекающую с постоянной скоростью экран справа налево параллельно его...

Изобразить на экране точку, пересекающую с постоянной скоростью экран
Помогите пожалуйста с задачей: Изобразить на экране точку, пересекающую с постоянной скоростью экран справа налево паралельно ее...

Изобразить на экране точку, пересекающую экран
Необходимо изобразить на экране точку, пересекающую экран равноускоренно в вертикальном направлении.

3
 Аватар для canadamoscow
1179 / 430 / 194
Регистрация: 23.03.2020
Сообщений: 1,021
Записей в блоге: 1
16.11.2020, 18:43
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
uses GraphWPF;
begin
  var(xx,y,dx,t):=(window.Width,window.Center.Y,4,100.0);
  var (c1,c2,x) := (RandomColor,RandomColor,xx);
  BeginFrameBasedAnimation(()->
    begin 
       x-=dx;
       FillCircle(x,y,20,c1);
       if x < t then FillCircle(xx-t+x ,y,20,c2);
       if (x<0) then (x,t,c1,c2) := (xx-t+x, Random(50.0, 350.0), c2, RandomColor);
   end,5000);
end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.11.2020, 19:22
В задании еще это
Цитата Сообщение от Ptenchik Посмотреть сообщение
от
правого края в строке, выбранной с помощью датчика случайных чисел,
0
 Аватар для canadamoscow
1179 / 430 / 194
Регистрация: 23.03.2020
Сообщений: 1,021
Записей в блоге: 1
16.11.2020, 22:03
Лучший ответ Сообщение было отмечено mr-Crocodile как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses GraphWPF;
begin
  var(xx,yy,dx,t):=(window.Width,window.Height-20,4,100.0);
  var (c1,c2,y1,y2,x) := (RandomColor,RandomColor,xx, yy/2, 200.0,xx);
  BeginFrameBasedAnimation(()->
    begin 
       x-=dx;
       FillCircle(x,y1,20,c1);
       if x < t then FillCircle(xx-t+x ,y2,20,c2);
       if (x<0) then (x,t,c1,c2,y1,y2) := (xx-t+x, Random(50.0, 350.0), c2, 
          RandomColor,y2,Random(20.0,yy));
   end,5000);
end.
Добавлено через 2 часа 9 минут
Кликните здесь для просмотра всего текста
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
uses WPFObjects;
 
function NewRandomABC: ObjectWPF;
begin
  var w := 50;
  case Random(3) of
    0: Result := new CircleWPF(Window.Width, Random(Window.Height.Round - w) + w / 2, Random(w / 2), RandomColor);
    1: Result := new RectangleWPF(Window.Width, Random(Window.Height.Round - w) + w / 2, Random(w), Random(w), RandomColor);
    2: Result := new StarWPF(Window.Width, Random(Window.Height.Round - w) + w / 2, Random(w / 2), Random(w / 2), Random(4) + 4, RandomColor);
  end;
end;
 
procedure MoveO;
begin
  var del := false;
  for var i := 0 to Objects.Count - 1 do 
  begin
    Objects[i].Move;
    if Objects[i].Left < Objects[i].Tag.ToString.ToReal then
    begin
      Objects[i].Tag := integer(-60);
      var m: ObjectWPF := NewRandomABC;
      (m.dx, m.Tag) := (-0.01, integer(Random(400, Window.Width.Round-50)));
    end;
    if Objects[i].Left < -50 then del := true;
  end;
  if del then Objects[0].Destroy;
end;
 
begin
 var m: ObjectWPF := NewRandomABC;
 m.dx := -0.01;    
 m.Tag := integer(Random(400,  Window.Width.Round-50));
 while True do Redraw(MoveO)
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.11.2020, 22:03
Помогаю со студенческими работами здесь

Изобразить на экране точку, движущуюся справа налево
Изобразить на экране движущуюся точку с права на лево!

Изобразить точку, движущуюся по окружности с постоянной угловой скоростью
Изообразить на экране точку движущуюся по окружности с постоянной угловой скоростью. (вместо точки можно использовать небольшой круг,...

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

Изобразить точку, движущуюся по окружности с постоянной угловой скоростью (graph)
Изобразить на экране точку (круг), движущуюся по окружности с постоянной угловой скоростью.

Изобразить Кольцо, вращающееся вокруг своего диаметра, расположенного параллельно горизонтальной оси
Изобразить Кольцо, вращающееся вокруг своего диаметра, расположенного параллельно горизонтальной оси с постоянной угловой скоростью(


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru