Сделать анимацию двух шариков - Pascal ABC
Формулировка задачи:
По холсту перемещаются два шарика разного цвета и разного радиуса,один-слева направо,второй-сверху вниз. скорости движения шариков разные. разработайте программу для выполнения этой анимации.
Решение задачи: «Сделать анимацию двух шариков»
textual
Листинг программы
uses crt,graphabc; var r1,r2,x,y,d1,d2:integer; begin hidecursor; r1:=20; r2:=30; x:=r1; y:=r2; lockdrawing; repeat clearwindow; SetBrushStyle(bsClear); textout(100,20,'Выход любая клавиша'); SetBrushStyle(bsSolid); if x<=r1 then d1:=5; if x>=windowwidth-r1 then d1:=-5; x:=x+d1; SetPenColor(clRed); SetBrushColor(clRed); Circle(x,windowheight div 2,r1); if y<=r2 then d2:=3; if y>=windowheight-r2 then d2:=-3; y:=y+d2; SetPenColor(clBlue); SetBrushColor(clBlue); Circle(windowwidth div 2,y,r2); delay(50); redraw until keypressed end.
Объяснение кода листинга программы
- В начале кода подключаются необходимые библиотеки и переменные.
- Затем идет команда hidecursor, которая скрывает курсор мыши.
- Далее заданы две переменные r1 и r2, которые представляют собой радиус двух шариков.
- После этого заданы две переменные x и y, которые представляют собой координаты центров шариков.
- Следующая команда lockdrawing блокирует возможность рисования на экране, чтобы избежать конфликта с другими приложениями.
- Затем идет цикл repeat, который будет выполняться до тех пор, пока пользователь не нажмет любую клавишу.
- Внутри цикла clearwindow очищается окно приложения.
- Затем с помощью команды textout на 100,20 выводится сообщение
Выход любая клавиша
в левом верхнем углу окна приложения. - Следующая команда SetBrushStyle(bsClear) устанавливает стиль кисти на прозрачный, а команда SetPenColor(clRed) устанавливает цвет кисти на красный.
- Затем с помощью команды Circle(x,y,r1) рисуется красный шарик с центром в точке (x,y) и радиусом r1.
- После этого с помощью команд if и delay(50) задерживается выполнение программы на 50 миллисекунд.
- Затем повторяются шаги 9-11 для второго шарика.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д