initial cammit
[qbasicapps.git] / graphics / texture generation / wood.bas
1 ' Wood surface\r
2 ' made by Svjatoslav Agejenko\r
3 ' in 2003.12\r
4 ' H-Page: svjatoslav.eu\r
5 ' E-Mail: svjatoslavagejenko@gmail.com\r
6  \r
7 DECLARE SUB wood (x1%, y1%)\r
8 DECLARE SUB paper (x1%, y1%)\r
9 DEFINT A-Z\r
10 SCREEN 12\r
11 RANDOMIZE TIMER\r
12 FOR a = 0 TO 15\r
13 OUT &H3C8, a\r
14 OUT &H3C9, a * 4\r
15 OUT &H3C9, a * 3\r
16 OUT &H3C9, a * 0\r
17 NEXT a\r
18 \r
19 1\r
20 x1 = RND * 400 + 200\r
21 y1 = RND * 100 + 200\r
22 wood x1, y1\r
23 GOTO 1\r
24 \r
25 a$ = INPUT$(1)\r
26 \r
27 SYSTEM\r
28 \r
29 SUB wood (x1, y1)\r
30 yl = y1 + 1\r
31 LINE (0, 0)-(x1, y1), 0, BF\r
32 LINE (5, 5)-(x1 - 5, y1 - 5), 8, BF\r
33 LINE (10, 10)-(x1 - 10, y1 - 10), 15, BF\r
34 pe = RND * 300\r
35 FOR y = y1 - 1 TO 0 STEP -1\r
36 FOR x = x1 - 1 TO 0 STEP -1\r
37 p = p + 1\r
38 IF p > x1 THEN z = RND * 13: p = SIN((y + pe) / 100) * x1\r
39 c1 = POINT(x, y + 1)\r
40 c2 = POINT(x, y)\r
41 c = (c1 * 2 + c2 + c * 3 + z) / 7 + RND * 1\r
42 IF c < 0 THEN c = 0\r
43 IF c > 15 THEN c = 15\r
44 PSET (x + 1, y), c\r
45 NEXT x\r
46 NEXT y\r
47 \r
48 END SUB\r
49 \r