Возвращение фигуры при анимации на стартовую позицию - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Надо что бы круг после выполнения операции вернулся на место какую строчку добавить ?

Решение задачи: «Возвращение фигуры при анимации на стартовую позицию»

textual
Листинг программы
uses
  graphABC;
 
var
  x, y, r: integer;
  sgn, n: integer;
 
begin
  setwindowsize(500, 500);
  r := 20;
  x := 20;
  y := 20;
  setpencolor(clRed);
  setbrushcolor(clRed);
  lockdrawing;
  sgn := 1;
  n := 0;
  repeat
    while (x <= windowwidth - r) and (x >= r) do
    begin
      clearwindow;
      circle(x, y, r);
      sleep(40);
      x := x + 4 * sgn;
      y := y + 4 * sgn;
      redraw
    end;
    sgn := -sgn;
    inc(n);
    x := x + 4 * sgn;
    y := y + 4 * sgn;
    
  until n = 2; // счетчик проходов
end.

Объяснение кода листинга программы

  1. В начале кода подключается библиотека graphABC.
  2. Переменные x, y, r и sgn инициализируются целочисленными значениями.
  3. Устанавливается размер окна приложения.
  4. Задаются начальные значения для x и y.
  5. Устанавливается цвет кисти и фона пера.
  6. Включена блокировка рисования.
  7. Задается значение переменной n.
  8. Запускается цикл повторений, который будет выполняться до тех пор, пока n не станет равным 2.
  9. Внутри цикла выполняется следующее:
    • Очищается окно.
    • Рисуется окружность с заданными параметрами x, y и r.
    • Выполняется задержка, чтобы создать эффект анимации.
    • Значение x и y увеличивается на 4 * sgn.
    • Значение sgn меняется на -sgn.
    • Увеличивается значение счетчика проходов n.
  10. По завершении цикла блокировка рисования отключается.

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы