fixed file permissions
[qbasicapps.git] / graphics / tree.bas
1 ' Tree\r
2 ' made by Svjatoslav Agejenko\r
3 ' in 2001\r
4 ' H-Page: svjatoslav.eu\r
5 ' E-Mail: svjatoslav@svjatoslav.eu\r
6  \r
7 DECLARE SUB start ()\r
8 DECLARE SUB show (d%)\r
9 DECLARE SUB setpal ()\r
10 DECLARE SUB showpal ()\r
11 DEFINT A-Y\r
12 \r
13 \r
14 DIM SHARED x(1 TO 500)\r
15 DIM SHARED y(1 TO 500)\r
16 DIM SHARED s(1 TO 500)\r
17 \r
18 DIM SHARED x4(1 TO 500)\r
19 DIM SHARED y4(1 TO 500)\r
20    \r
21 DIM SHARED z(1 TO 500)\r
22 DIM SHARED mitu\r
23 \r
24 start\r
25 \r
26 mitu = 1\r
27 \r
28 x4(1) = -1\r
29 y4(1) = -1\r
30 x(1) = 420\r
31 y(1) = 340\r
32 s(1) = 70 * 100\r
33 z(1) = 1\r
34   \r
35 FOR tr = 1 TO 6\r
36 FOR b = 1 TO 50\r
37 FOR a = 1 TO mitu\r
38 show a\r
39 NEXT a\r
40 NEXT b\r
41 \r
42 FOR a = 1 TO mitu\r
43 x(mitu + a) = x(a)\r
44 y(mitu + a) = y(a)\r
45 s(mitu + a) = s(a)\r
46 z(mitu + a) = z(a)\r
47 x4(mitu + a) = RND * 4 - 2\r
48 y4(mitu + a) = RND * 4 - 2\r
49 NEXT a\r
50 mitu = mitu * 2\r
51 \r
52 NEXT tr\r
53 a$ = INPUT$(1)\r
54 SYSTEM\r
55 \r
56 SUB setpal\r
57 FOR a = 0 TO 16\r
58 '    OUT &H3C7, a\r
59     OUT &H3C8, a\r
60     OUT &H3C9, a * 4\r
61     OUT &H3C9, a * 4\r
62     OUT &H3C9, a * 4\r
63 NEXT\r
64 END SUB\r
65 \r
66 SUB show (d)\r
67  \r
68 x1 = x(d)\r
69 y1 = y(d)\r
70 s1 = s(d)\r
71 z1 = z(d)\r
72 \r
73 \r
74 c = SIN(z1) * 7 + 9\r
75 CIRCLE (x1, y1), s1 / 100, c\r
76 PAINT (x1, y1), c\r
77 x(d) = x(d) + (SIN(z1) * 1000) / (s1 + 15)\r
78 y(d) = y(d) + (COS(z1) * 1000) / (s1 + 15)\r
79 \r
80 s(d) = s(d) / 1.01\r
81 IF x4(d) >= 0 THEN z(d) = z(d) + .1 ELSE z(d) = z(d) - .1\r
82 x(d) = x(d) + x4(d)\r
83 y(d) = y(d) + y4(d)\r
84 END SUB\r
85 \r
86 SUB showpal\r
87 FOR a = 1 TO 16\r
88 LINE (a * 10, 1)-(a * 10 + 10, 100), a, BF\r
89 NEXT a\r
90 END SUB\r
91 \r
92 SUB start\r
93 \r
94 SCREEN 12\r
95 setpal\r
96 REM  showpal\r
97 RANDOMIZE TIMER\r
98 END SUB\r
99 \r