Использование случайных величинпри рисовании

Как получить случайное число? Давайте сначала напечатаем его. Для этого подойдет функция Randomиз 4.9. WriteLn(Random(100)) напечатает целое неотрицательное число, какое - мы заранее не знаем, знаем только, что меньше 100. Легко догадаться, что WriteLn (500 + Random(100)) напечатает случайное число из диапазона от 500 до 599.

Попробуем нарисовать “звездное небо”. Для этого достаточно в случайных местах экрана нарисовать некоторое количество разноцветных точек (скажем, 1000). Точка ставится процедурой PutPixel. Как сделать координаты и цвет точки случайными? Тот же Random. Если ваш экран имеет размер 640´480 пикселов, то обращение к процедуре рисования одной точки случайного цвета будет выглядеть так:

PutPixel (Random(640), Random(480), Random(16))

Число 16 взято по той причине, что все цвета в Паскале имеют номера от 0 до 15.

Для того, чтобы таких точек было 1000, используем цикл for:

for i:=1 to 1000 do PutPixel (Random(640), Random(480), Random(16))

Имейте в виду, что сколько бы раз вы не запускали программу с указанным фрагментом, картина созвездий на экране будет абсолютно одинакова. Если вам нужно, чтобы от запуска к запуску набор значений случайной величины менялся (а значит и созвездия), употребите разик до использования функции Random процедуру Randomize. Вот так:

Randomize;

for i:=1 to 1000 do PutPixel (Random(640), Random(480), Random(16))

Задание 85:. “Дождь в луже”. Заполните экран окружностями радиуса 20 в случайных местах.

Задание 86:. “Цирк”. То же самое случайных радиусов и цветов.

Задание 87:. “Звезды в окне”. Звездное небо в пределах прямоугольника.