updated license and email addresses
[qbasicapps.git] / graphics / texture generation / oldpaper.bas
1 ' Old paper 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 paper (x1%, y1%, x2%, y2%)\r
8 DEFINT A-Z\r
9 SCREEN 12\r
10 RANDOMIZE TIMER\r
11 FOR a = 0 TO 15\r
12 OUT &H3C8, a\r
13 OUT &H3C9, a * 3\r
14 OUT &H3C9, a * 3\r
15 OUT &H3C9, a * 2\r
16 NEXT a\r
17 \r
18 1\r
19 x1 = RND * 600 + 20\r
20 x2 = RND * 600 + 20\r
21 y1 = RND * 400 + 40\r
22 y2 = RND * 400 + 40\r
23 IF x1 > x2 THEN SWAP x1, x2\r
24 IF y1 > y2 THEN SWAP y1, y2\r
25 paper x1, y1, x2, y2\r
26 GOTO 1\r
27 \r
28 a$ = INPUT$(1)\r
29 \r
30 SYSTEM\r
31 \r
32 SUB paper (x1, y1, x2, y2)\r
33 yl = y2 + 1\r
34 z = 0\r
35 LINE (x1, y1)-(x2, y1), 0\r
36 LINE (x2, y1)-(x2, y2), 0\r
37 FOR y = y1 + 1 TO y2\r
38 c = 0\r
39 FOR x = x1 TO x2\r
40 p = p + 1\r
41 IF p > 23 THEN z = RND * 1: p = 0\r
42 c1 = POINT(x, y - 1)\r
43 c = (c1 + c) / 2 + (RND * (2 + (5 / y)) - (3 / (yl - y))) - z\r
44 IF c < 0 THEN c = 0\r
45 IF c > 15 THEN c = 15\r
46 PSET (x - 1, y), c\r
47 NEXT x\r
48 NEXT y\r
49 \r
50 END SUB\r
51 \r