Движение обьекта - Turbo Pascal
Формулировка задачи:
Как сделать чтобы объект двигался еще снизу вверх?
Решение задачи: «Движение обьекта»
textual
Листинг программы
x:=getmaxX div 2; y:=r; while y<getmaxY do begin x:=x0-round(sin(y*pi/180)*a); setcolor(14); Trg(x,y,r); delay(20); setcolor(0); Trg(x,y,r); y:=y+1; end; while y>0 do begin x:=x0-round(sin(y*pi/180)*a); setcolor(14); Trg(x,y,r); delay(20); setcolor(0); Trg(x,y,r); y:=y-1; end; setcolor(12); outtextXY(getmaxX div 2-50,getmaxY-30,'Press Enter...'); readln end.
Объяснение кода листинга программы
- Код начинается с определения переменной
x
, которая будет использоваться для вычисления максимального значенияx
по формулеgetmaxX div 2
. - Затем определяется переменная
y
, которая будет использоваться в циклеwhile y<getmaxY do
. - Внутри цикла
while
выполняется следующее:- Вычисляется значение
x
по формулеx=x0-round(sin(y*pi/180)*a)
. Здесьx0
- начальное значениеx
,a
- коэффициент, определяющий величину движения, иpi/180
- значениеpi
в градусах. - Устанавливается цвет фона
14
. - Вызывается функция
Trg(x,y,r)
, которая представляет собой функцию, отвечающую за движение объекта. Здесьx
,y
иr
- параметры функции. - Выполняется задержка
delay(20)
. - Устанавливается цвет фона
0
. - Вызывается функция
Trg(x,y,r)
. - Переменная
y
увеличивается на единицу.
- Вычисляется значение
- После выхода из цикла
while
выполняется следующий блок кода:- Устанавливается цвет фона
12
. - Выводится текст
Press Enter...
с помощью функцииouttextXY(getmaxX div 2-50,getmaxY-30)
. ЗдесьgetmaxX div 2-50
- значениеx
после завершения цикла, аgetmaxY
- значениеy
. - Вызывается функция
readln()
, чтобы ожидать ввода пользователя.
- Устанавливается цвет фона
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д