Получить изображение падающей капли дождя - Free Pascal

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

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

Получить изображение падающей капли дождя.

Решение задачи: «Получить изображение падающей капли дождя»

textual
Листинг программы
uses
  crt,graph;
procedure kapla(x,y:integer;color:word);
begin
  setcolor(color);
  setfillstyle(SolidFill,color);
  sector(x,y,330,210,20,40);
end;
 
var
  x,y:integer;
  grd,grm:integer;
begin
  grd:=VGA;
  grm:=VgaHi;
  InitGraph(grd,grm,'');
  x:=GetMaxX div 2;
  y:=40;
  repeat
    kapla(x,y,LightBlue);
    delay(10);
    kapla(x,y,Black);
    y:=y+2;
  until y>GetMaxY-20;
  readln;
end.

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

  1. uses - директива импорта модулей для использования в программе, в данном случае модули crt и graph
  2. procedure kapla(x,y:integer;color:word) - определение процедуры с именем kapla, которая принимает три аргумента типа integer (x,y координаты и номер цвета) и один аргумент типа word (цвет)
  3. begin - начало выполнения процедуры
  4. setcolor(color) - установка цвета кисти на указанный аргумент цвета
  5. setfillstyle(SolidFill,color) - установка стиля заливки на сплошную и указанный аргумент цвета
  6. sector(x,y,330,210,20,40) - рисование сектора с указанными аргументами (координатами центра, радиусом, углом начала и конца сектора, толщиной линии)
  7. end; - конец выполнения процедуры
  8. var - объявление переменных
  9. x,y:integer; - объявление переменных типа integer для хранения координат
  10. grd,grm:integer; - объявление переменных типа integer для хранения режимов графического режима и разрешения
  11. InitGraph(grd,grm,''); - инициализация графического режима и разрешения с помощью функции InitGraph, передавая в нее указанные переменные и пустую строку
  12. x:=GetMaxX div 2; - получение максимальной ширины экрана и деление ее на 2 для получения координаты X центра капли
  13. y:=40; - установка начальной координаты Y капли
  14. repeat - начало цикла
  15. kapla(x,y,LightBlue); - вызов процедуры kapla с аргументами (x,y,LightBlue)
  16. delay(10); - задержка выполнения программы на 10 миллисекунд
  17. kapla(x,y,Black); - вызов процедуры kapla с аргументами (x,y,Black)
  18. y:=y+2; - увеличение координаты Y на 2
  19. until y>GetMaxY-20; - условие цикла, пока значение переменной Y меньше максимальной высоты экрана минус 20
  20. readln; - чтение строки из стандартного ввода

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


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

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

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