Получить изображение падающей капли дождя - 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.
Объяснение кода листинга программы
- uses - директива импорта модулей для использования в программе, в данном случае модули crt и graph
- procedure kapla(x,y:integer;color:word) - определение процедуры с именем kapla, которая принимает три аргумента типа integer (x,y координаты и номер цвета) и один аргумент типа word (цвет)
- begin - начало выполнения процедуры
- setcolor(color) - установка цвета кисти на указанный аргумент цвета
- setfillstyle(SolidFill,color) - установка стиля заливки на сплошную и указанный аргумент цвета
- sector(x,y,330,210,20,40) - рисование сектора с указанными аргументами (координатами центра, радиусом, углом начала и конца сектора, толщиной линии)
- end; - конец выполнения процедуры
- var - объявление переменных
- x,y:integer; - объявление переменных типа integer для хранения координат
- grd,grm:integer; - объявление переменных типа integer для хранения режимов графического режима и разрешения
- InitGraph(grd,grm,''); - инициализация графического режима и разрешения с помощью функции InitGraph, передавая в нее указанные переменные и пустую строку
- x:=GetMaxX div 2; - получение максимальной ширины экрана и деление ее на 2 для получения координаты X центра капли
- y:=40; - установка начальной координаты Y капли
- repeat - начало цикла
- kapla(x,y,LightBlue); - вызов процедуры kapla с аргументами (x,y,LightBlue)
- delay(10); - задержка выполнения программы на 10 миллисекунд
- kapla(x,y,Black); - вызов процедуры kapla с аргументами (x,y,Black)
- y:=y+2; - увеличение координаты Y на 2
- until y>GetMaxY-20; - условие цикла, пока значение переменной Y меньше максимальной высоты экрана минус 20
- readln; - чтение строки из стандартного ввода
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д