SUB konring (x, y, raadius, tihedus, varv)
FOR i = 1 TO raadius STEP tihedus
CIRCLE (x, y), i, varv
NEXT i
END SUB
|
Используем эту процедуру в следующей программе:
SCREEN 12
CALL konring(320, 240, 100, 30, 2)
CALL konring(100, 150, 40, 2, 4)
|
Используя следующую основную программу и процедуру konring, создадим рисунок обоев:
SCREEN 12
FOR x = 0 TO 640 STEP 40
FOR y = 0 TO 480 STEP 40
CALL konring(x, y, 40, 10, 9)
NEXT y
NEXT x
|
Рассмотрим ещё одну программу:
DECLARE SUB ScreenSaver1 ()
DECLARE SUB ScreenSaver2 ()
DECLARE SUB ScreenSaver3 ()
DO
SCREEN 0 'текстовый экран
CLS
PRINT " Выбери screensaver? [1-3]"
PRINT " (для прерывания введи другую цифру)"
INPUT Valik$
SELECT CASE Valik$
CASE "1"
ScreenSaver1
CASE "2"
ScreenSaver2
CASE "3"
ScreenSaver3
CASE ELSE
END
END SELECT
LOOP
SUB ScreenSaver1
SCREEN 12 'Включаем графический экран
DO
x = INT(RND * 639) 'Генерируем координату x.
y = INT(RND * 479) 'Генерируем координату y
rad = INT(RND * 150) + 10 ' Генерируем радиус
col = INT(RND * 15) + 1 'Генерируем цвет
CIRCLE (x, y), rad, col 'Рисуем круг
LOOP UNTIL INKEY$ <> ""
END SUB
SUB ScreenSaver2
SCREEN 12 'Включаем графический экран
DO
x = INT(RND * 639) 'Генерируем координату x.
y = INT(RND * 479) 'Генерируем координату y
rad = INT(RND * 150) + 10 'Генерируем радиус
FOR r = 1 TO rad
col = INT(RND * 15) + 1 'Генерируем цвет
CIRCLE (x, y), r, col 'Рисуем круг
NEXT
LOOP UNTIL INKEY$ <> ""
END SUB
SUB ScreenSaver3
SCREEN 12
DO
x = INT(RND * 639)
y = INT(RND * 479)
rad = INT(RND * 150) + 10
col = INT(RND * 15) + 1
FOR r = rad TO rad - 10 STEP -2
CIRCLE (x, y), r, col
NEXT
LOOP UNTIL INKEY$ <> ""
END SUB
|