' Cloud surface ' made by Svjatoslav Agejenko ' in 2003.12 ' H-Page: svjatoslav.eu ' E-Mail: svjatoslav@svjatoslav.eu DECLARE SUB box (x1%, y1%, s%) DECLARE SUB setpal () DECLARE SUB start () DEFINT A-Z start DIM SHARED lm lm = 127 s = 2 ^ 8 1 s = s \ 2 x1 = (319 \ s) - 1 y1 = (199 \ s) - 1 FOR y = 0 TO y1 FOR x = 0 TO x1 box x * s, y * s, s NEXT x NEXT y IF s > 2 THEN GOTO 1 a$ = INPUT$(1) SYSTEM SUB box (x1, y1, s) c1 = POINT(x1, y1) c2 = POINT(x1 + s, y1) c3 = POINT(x1, y1 + s) c4 = POINT(x1 + s, y1 + s) sp = s \ 2 k = s * 2 kp = k / 2 cc2 = ((c1 + c2) / 2) + (RND * k) - kp IF cc2 > lm THEN cc2 = lm IF cc2 < 0 THEN cc2 = 0 cc3 = ((c1 + c3) / 2) + (RND * k) - kp IF cc3 > lm THEN cc3 = lm IF cc3 < 0 THEN cc3 = 0 cc4 = ((c2 + c4) / 2) + (RND * k) - kp IF cc4 > lm THEN cc4 = lm IF cc4 < 0 THEN cc4 = 0 cc5 = ((c3 + c4) / 2) + (RND * k) - kp IF cc5 > lm THEN cc5 = lm IF cc5 < 0 THEN cc5 = 0 cc1 = ((cc2 + cc3 + cc4 + cc5) / 4) + (RND * k) - kp IF cc1 > lm THEN cc1 = lm IF cc1 < 0 THEN cc1 = 0 PSET (x1 + sp, y1 + sp), cc1 PSET (x1 + sp, y1), cc2 PSET (x1, y1 + sp), cc3 PSET (x1 + s, y1 + sp), cc4 PSET (x1 + sp, y1 + s), cc5 END SUB SUB setpal FOR a = 0 TO 255 OUT &H3C8, a OUT &H3C9, a / 4 OUT &H3C9, a / 3 OUT &H3C9, a / 2.3 NEXT a END SUB SUB start SCREEN 13 setpal RANDOMIZE TIMER END SUB