Upload
galina-sgs
View
155
Download
0
Embed Size (px)
Citation preview
Случайные величиныв QBASIC
Солнышко
SCREEN 9RANDOMIZE TIMERFOR k = 1 TO 100
' k – количество лучей x = INT(RND(1) * 640) y = INT(RND(1) * 340) c = INT(RND(1) * 16) LINE (320, 170)-(x, y), c FOR i = 1 TO 10000
' цикл задержки NEXT
NEXT
Программа в Бейсике
Рисования случайных фигур SCREEN 9' Программа рисования случайных фигур линиями RANDOMIZE TIMERLINE (320, 170)-(320, 170) x = 320 : y = 170FOR k = 1 TO 1000
' k - количество лучейdx = INT(RND(1) * 10) - 5dy = INT(RND(1) * 10) - 5c = INT(RND(1) * 16)LINE -(x + dx, y + dy), cx = x + dxy = y + dy
FOR i = 1 TO 10000' цикл задержки
NEXTNEXT
В программе есть ошибка – все линии в конечном итоге движутся от центра экрана влево и вверх из-за того, случайное число умножается на 10,
а нужно на 11:
Случайные взрывы SCREEN 9RANDOMIZE TIMERx = 320y = 170FOR k = 1 TO 1000 Определение случайного центра очередного взрыва dx = INT ( RND (1) * 41 ) - 20 dy = INT ( RND (1) * 41 ) - 20 c = INT ( RND (1) * 16) x = x + dx y = y + dy FOR i = 1 TO 20 Цикл рисования одного взрыва из 20 случайных линий xline = INT ( RND (1) * 11) - 5 yline = INT ( RND (1) * 11) - 5 LINE ( x, y ) - ( x + xline, y + yline ), c FOR t = 1 TO 1000 Цикл задержки NEXT t NEXT iNEXT k
Мозаика Изменена только строка: LINE (x, y) - (x + xline, y + yline), c, BF
Мозаика Изменена только строка: LINE (x, y) - (x + xline, y + yline), c, BF