Как получить случайное число? Давайте сначала напечатаем его. Для этого подойдет функция 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:. “Звезды в окне”. Звездное небо в пределах прямоугольника.
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.