Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 4

Анимация.Два шара двигаются в противоположном направлении

10.12.2012, 12:18. Показов 4706. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Никак не получаеться заставить двигаться одновременно. У меня сначало один, а потом другой. Пробывал как то вставить в одну команду repeat, но у меня получалось что они вообще стоят

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
uses GraphABC,Events;
var  x, y, k, code, i: integer;
    stop: boolean;
procedure Draw(x, y: integer; flag: boolean);
begin
  SetBrushColor(clBlue);
  Rectangle(10, 10,400, 400);
  if flag then
    SetBrushColor(clYellow)
       else
   SetBrushColor(clBlue);
      Rectangle(x, y, x+20, y+20);
end;
procedure Draw2(x, y: integer; flag: boolean);
begin
  SetBrushColor(clBlue);
  Rectangle(10, 10,400, 400);
  if flag then
    SetBrushColor(clYellow)
       else
   SetBrushColor(clBlue);
      Rectangle(x, y, x+20, y+20);
end;
begin
   SetBrushColor(clBlue);
  Rectangle(10, 10,400, 400);
  x := 300; y := 100; stop := false;
   repeat
   Draw(x, y, True);
    Sleep(5);
    Draw(x, y, False);
    x := x - 1;
    if x <=30-20 then stop :=true ;
  until stop;
  Draw(x, y, True);
  x := 10; y := 200; stop := false;
   repeat
   Draw2(x, y, True);
    Sleep(5);
    Draw2(x, y, False);
    x := x + 1;
    if x >= 400-20 then stop := true;
  until stop;
  Draw2(x, y, True);
End.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2012, 12:18
Ответы с готовыми решениями:

Анимация. Два квадрата двигаются в противоположном направлении и отталкиваются от стенок синего квадрата
Два квадрата двигаются в противоположном направлении и отталкиваются от стенок синего квадрата:

Два квадрата двигаются в противоположных направлениях
Задача: Два квадрата двигаются в противоположных направлениях и отталкиваются от стенок синего квадрата. И собственно нужно написать...

Не могу исправить ошибку (даны два вектора, найти единичные векторы в направлении исходных)
Program vector; uses crt; type Vec=record x:integer; y:integer; z:integer; end; var a,b:Vec;

4
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
10.12.2012, 18:16
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
uses crt,graphABC;
var x1,x2,y1,y2,d1,d2:integer;
begin
x1:=10;
y1:=windowheight div 3;
x2:=windowwidth-10;
y2:=2*y1;
hidecursor;
lockdrawing;
repeat
clearwindow;
setbrushcolor(clWhite);
textout(windowwidth div 2-50,20,'Выход любая клавиша');
if x1<=10 then d1:=5;
x1:=x1+d1;
if x2>=windowwidth-10 then d2:=-5;
x2:=x2+d2;
if x1>=windowwidth-10 then d1:=-5;
if x2<=10 then d2:=5;
setpencolor(clRed);
setbrushcolor(clRed);
circle(x1,y1,10);
circle(x2,y2,10);
delay(50);
redraw;
until keypressed;
end.
1
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 4
10.12.2012, 19:28  [ТС]
Puporev спасибо!
У меня вот еще такой вариант получился:
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
uses GraphABC,Events;
var  x, y,x1,y1, k, code, i: integer;
    stop: boolean;
procedure Draw(x, y: integer; flag: boolean);
begin
  SetBrushColor(clBlue);
  Rectangle(10, 10,400, 400);
  if flag then
    SetBrushColor(clYellow)
       else
   SetBrushColor(clBlue);
      Rectangle(x, y, x+20, y+20);
end;
procedure Draw2(x1, y1: integer; flag: boolean);
begin
  SetBrushColor(clBlue);
  Rectangle(10, 10,400, 400);
  if flag then
    SetBrushColor(clYellow)
       else
   SetBrushColor(clyellow);
      Rectangle(x1, y1, x1+20, y1+20);
end;
procedure KeyDown(Key: integer);
begin
   if key=32 then   begin    stop := true;
   end;
end;
procedure KeyPress(Ch: char);
begin
end;
begin
   SetBrushColor(clBlue);
  Rectangle(10, 10,400, 400);
  x := 200; y := 100; stop := false;
  x1 := 200; y1 := 200; stop := false;
   repeat
   Draw(x, y, True);
    Sleep(10);
    Draw(x, y, False);
    x := x - 1;
    Draw2(x1, y1, True);
    Sleep(10);
    Draw2(x1, y1, False);
    x1 := x1 + 1;
    if (x1 >= 400-20)or(x <=30-20) then stop := true;
    OnKeyDown:=KeyDown;
    OnKeyPress:=KeyPress;
  until stop;
 
End.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
10.12.2012, 19:36
Цитата Сообщение от egoriceman Посмотреть сообщение
У меня вот еще такой вариант получился:
Во-первых это не шары, а во-вторых глаза бы не смотрели.
0
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 4
10.12.2012, 19:58  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Во-первых это не шары, а во-вторых глаза бы не смотрели.
Не спорю, ужасно выглядит. За основу возьму вашу программу, подправлю только чуть чуть под себя
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2012, 19:58
Помогаю со студенческими работами здесь

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

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

В урне лежат a белых и b черных шара. Наугад вынимают два шара.
помогите пожалуйста с решением(( В урне лежат a белых и b черных шара. Наугад вынимают два шара. Используя теоремы о вероятности...

Почему только два кружочка двигаются?
Я создал 4 кружочка на странице, которые должны двигаться против часовой стрелки заменяя друг друга. Но происходит что-то непонятное. Они...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru