Анимация: движущееся изображение лодки по реке - PascalABC.NET

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

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

Добрый день, господа программисты! Возникла у меня сложность, а именно такая: построить движущееся изображение лодки по реке. Задача вроде не сложная, но никак не дойдет мой мозг до решения. Буду очень рада помощи извне. За ранее спасибо!

Решение задачи: «Анимация: движущееся изображение лодки по реке»

textual
Листинг программы
uses graphABC;
procedure fon;
begin
setbrushcolor(clForestGreen);
rectangle(0,0,windowwidth,windowheight);
setbrushcolor(clSkyBlue);
rectangle(0,windowheight div 3,windowwidth,windowheight div 2+100);
end;
procedure lodka(x,y:integer);
begin
setpencolor(clSilver);
setbrushcolor(clSilver);
polygon((x,y-20),(x-30,y),(x-100,y),(x-100,y-15),(x,y-20));
setpencolor(clBlue);
setbrushcolor(clBlue);
roundrect(x-108,y-25,x-98,y-13,5,5);
rectangle(x-105,y-13,x-101,y);
setpencolor(clBlack);
setbrushcolor(clBlack);
circle(x-90,y-35,5);
rectangle(x-95,y-30,x-85,y-15);
end;
var x,y:integer;
begin
x:=120;
y:=windowheight div 2;
lockdrawing;
repeat
clearwindow;
fon;
lodka(x,y);
sleep(50);
x:=x+5;
redraw;
until x>=windowwidth;
end.

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

  1. В данном коде используется язык программирования PascalABC.Net.
  2. Код начинается с процедуры fon, которая отвечает за рисование фона. С помощью функции setbrushcolor задается цвет фона (зеленый), а затем с помощью функции rectangle рисуется прямоугольник, соответствующий размерам окна.
  3. Далее следует процедура lodka, которая отвечает за рисование лодки. Она принимает два аргумента типа integer: x и y, которые представляют координаты лодки на экране. Внутри процедуры используются функции setpencolor и setbrushcolor, чтобы задать цвет обводки и заливки лодки (серебристый и синий соответственно). Затем с помощью функции polygon рисуется контур лодки, а с помощью функции roundrect и rectangle рисуется палуба и окна лодки.
  4. Далее следуют две переменные x и y типа integer, которые используются в качестве координат для рисования лодки.
  5. Основная часть кода начинается с цикла repeat-until, который повторяет рисование лодки и изменение координат x и y на 5 каждый раз, пока x не достигнет значения windowwidth.
  6. В конце кода есть строка redraw, которая перерисовывает все изменения, сделанные во время выполнения программы.
  7. Перед началом цикла программа блокирует рисование с помощью функции lockdrawing, чтобы предотвратить перекрытие рисунка другими программами или процессами.
  8. В конце цикла программа заканчивается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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