updated license and email addresses
[qbasicapps.git] / graphics / texture generation / map3.bas
1 ' Cloud surface\r
2 ' made by Svjatoslav Agejenko\r
3 ' in 2003.12\r
4 ' H-Page: svjatoslav.eu\r
5 ' E-Mail: svjatoslav@svjatoslav.eu\r
6  \r
7 DECLARE SUB box (x1%, y1%, s%)\r
8 DECLARE SUB setpal ()\r
9 DECLARE SUB start ()\r
10 DEFINT A-Z\r
11 start\r
12 \r
13 DIM SHARED lm\r
14 lm = 127\r
15 \r
16 \r
17 s = 2 ^ 8\r
18 1\r
19 s = s \ 2\r
20 x1 = (319 \ s) - 1\r
21 y1 = (199 \ s) - 1\r
22 \r
23 FOR y = 0 TO y1\r
24 FOR x = 0 TO x1\r
25 box x * s, y * s, s\r
26 NEXT x\r
27 NEXT y\r
28 IF s > 2 THEN GOTO 1\r
29 a$ = INPUT$(1)\r
30 SYSTEM\r
31 \r
32 SUB box (x1, y1, s)\r
33 c1 = POINT(x1, y1)\r
34 c2 = POINT(x1 + s, y1)\r
35 c3 = POINT(x1, y1 + s)\r
36 c4 = POINT(x1 + s, y1 + s)\r
37 \r
38 sp = s \ 2\r
39 k = s * 2\r
40 kp = k / 2\r
41 \r
42 cc2 = ((c1 + c2) / 2) + (RND * k) - kp\r
43 IF cc2 > lm THEN cc2 = lm\r
44 IF cc2 < 0 THEN cc2 = 0\r
45 \r
46 cc3 = ((c1 + c3) / 2) + (RND * k) - kp\r
47 IF cc3 > lm THEN cc3 = lm\r
48 IF cc3 < 0 THEN cc3 = 0\r
49 \r
50 cc4 = ((c2 + c4) / 2) + (RND * k) - kp\r
51 IF cc4 > lm THEN cc4 = lm\r
52 IF cc4 < 0 THEN cc4 = 0\r
53 \r
54 cc5 = ((c3 + c4) / 2) + (RND * k) - kp\r
55 IF cc5 > lm THEN cc5 = lm\r
56 IF cc5 < 0 THEN cc5 = 0\r
57 \r
58 cc1 = ((cc2 + cc3 + cc4 + cc5) / 4) + (RND * k) - kp\r
59 IF cc1 > lm THEN cc1 = lm\r
60 IF cc1 < 0 THEN cc1 = 0\r
61 \r
62 \r
63 \r
64 PSET (x1 + sp, y1 + sp), cc1\r
65 PSET (x1 + sp, y1), cc2\r
66 PSET (x1, y1 + sp), cc3\r
67 PSET (x1 + s, y1 + sp), cc4\r
68 PSET (x1 + sp, y1 + s), cc5\r
69 \r
70 END SUB\r
71 \r
72 SUB setpal\r
73 FOR a = 0 TO 255\r
74 OUT &H3C8, a\r
75 OUT &H3C9, a / 4\r
76 OUT &H3C9, a / 3\r
77 OUT &H3C9, a / 2.3\r
78 NEXT a\r
79 END SUB\r
80 \r
81 SUB start\r
82 SCREEN 13\r
83 setpal\r
84 RANDOMIZE TIMER\r
85 END SUB\r
86 \r