Иллюстрированный самоучитель по Basic, вводный курс

Случайные числа

Применим теперь оператор случайных чисел на практике и, как всегда, для наглядности начнем с графики.

Программа "Звездное небо

Изобразим звездное небо пятьюстами белыми точками на черном фоне. Координаты каждой из точек должны быть в пределах по X от 0 до 640 и по Y от 0 до 350.

SCREEN 9 RANDOMIZE TIMER FOR N =1 TO 500
X=INT(RND(1)*641)
Y=INT(RND(1)*351)
PSET(X, Y), 15 NEXT N

Здесь число 500 в заголовке цикла указывает на количество "звезд". Можете поэкспериментировать, изменяя это значение.

А теперь мы хотим нарисовать разноцветные "звезды".

Добавим для этого перед pset оператор случайных чисел для цвета:

C=INT(RND(1)*16)

А в самом операторе pset вместо цвета 15 укажем цвет с, и можем наслаждаться разноцветными "звездами".

Но давайте уж доведем дело до конца. Ведь при использовании оператора c=INT(RND(1) *16) у нас будет получаться и 0 – черный цвет, т. е. на черном фоне своеобразные "черные дыры". Давайте избежим и этого, заставив компьютер при получении 0 не брать его в расчет, пока не получится другой цвет:

SCREEN 9
RANDOMIZE TIMEP
FOR N =1 TO 500 X=INT(RND(1)*641) Y=INT(RND(1)*351) 1: C=INT(RND(1)*16) IF C=0 THEN 1 PSET(X, Y), С
NEXT N

Со звездным небом разобрались. Теперь задания.

176. Когда-то на петербургском 5-м канале была скандально известная информационная программа "600 секунд" с телеведущим Александром Невзоровым. Начиналась она с заставки, где экран телевизора покрывался сеткой разноцветных отрезков прямых линий со случайными координатами концов (рис 1.43). Попробуйте воспроизвести эту заставку и покажите ее своим старшим родственникам или друзьям. Это навеет на них воспоминания.

Иллюстрированный самоучитель по Basic, вводный курс › Алгоритмы, графика, символы и строки › Случайные числа
Рис. 1.43. "600 секунд"

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.