1 DECLARE SUB playsound (a$)
\r
2 DECLARE SUB turnon ()
\r
3 DECLARE SUB ellips (x!, y!, s!, v!, t!)
\r
4 DECLARE SUB prn (x!, y!, msg$, siz!, col1!)
\r
5 DECLARE SUB timerAdd (element!, time!, value!)
\r
6 DECLARE SUB timerdisp ()
\r
7 DECLARE SUB timerinit ()
\r
8 DECLARE SUB timerprocess ()
\r
9 DECLARE SUB mo (x!, y!, an!, s!, w!)
\r
13 DIM SHARED sh1, sh2, sv1, sv2, hp, vp
\r
14 DIM SHARED timerTime(0 TO 50, 0 TO 100)
\r
15 DIM SHARED timerValue(0 TO 50, 0 TO 100)
\r
17 DIM SHARED timerCplace(0 TO 50)
\r
18 DIM SHARED timerCtime(0 TO 50)
\r
19 DIM SHARED timerCvalue(0 TO 50)
\r
20 DIM SHARED timerLast
\r
32 s1 = SIN(timerCvalue(1) * 1.3) * .5 + 1.1
\r
33 s2 = COS(timerCvalue(1) * 1.3) * .5 + 1.1
\r
39 vp = SIN(timerCvalue(1) * 1.3)
\r
43 hp = SIN(timerCvalue(1)) * .7
\r
46 mo timerCvalue(2), timerCvalue(3), timerCvalue(4), timerCvalue(0), 0
\r
48 ellips 100, timerCvalue(6), timerCvalue(7) + 4, 14, .5
\r
49 ellips 100, timerCvalue(6), timerCvalue(7) + 2, 10, .5
\r
50 ellips 100, timerCvalue(6), timerCvalue(7), 0, .5
\r
51 prn timerCvalue(5), 10, "KHK", 7, 250
\r
53 prn timerCvalue(8), 130, "Infotehno-", 2, 0
\r
54 prn timerCvalue(8), 150, " loogia", 2, 0
\r
58 'PRINT timerCtime(0)
\r
59 IF timerCtime(0) > 26 THEN CHAIN "ray.bas"
\r
61 LINE (0, 0)-(319, 199), 15, BF
\r
65 SUB ellips (x, y, s, v, t)
\r
70 CIRCLE (x, y), s, v, , , t
\r
78 SUB mo (x, y, an, s, w)
\r
80 IF s < .2 THEN GOTO 1
\r
82 IF depth / 2 = depth \ 2 THEN c = 1 ELSE c = 3
\r
88 x1 = SIN(an) * s * 2.5 + x
\r
89 y1 = COS(an) * s * 2.5 + y
\r
90 IF w = 3 THEN ns = s / sv2 ELSE ns = s / sv1
\r
91 mo x1, y1, an + vp, ns, 3
\r
95 x1 = SIN(an - pi / 2) * s * 2.5 + x
\r
96 y1 = COS(an - pi / 2) * s * 2.5 + y
\r
97 IF w = 4 THEN ns = s / sh2 ELSE ns = s / sh1
\r
98 mo x1, y1, an + hp, ns, 4
\r
102 x1 = SIN(an - pi) * s * 2.5 + x
\r
103 y1 = COS(an - pi) * s * 2.5 + y
\r
104 IF w = 1 THEN ns = s / sv2 ELSE ns = s / sv1
\r
105 mo x1, y1, an + vp, ns, 1
\r
109 x1 = SIN(an - pi * 1.5) * s * 2.5 + x
\r
110 y1 = COS(an - pi * 1.5) * s * 2.5 + y
\r
111 IF w = 2 THEN ns = s / sh2 ELSE ns = s / sh1
\r
112 mo x1, y1, an + hp, ns, 2
\r
120 REM SHELL "c:\progra~1\winamp\winamp.exe " + a$
\r
126 SUB prn (x, y, msg$, siz, col1)
\r
127 IF x < 0 THEN GOTO prn1
\r
128 IF x > 319 THEN GOTO prn1
\r
132 GET (0, 0)-(100, 7), bck
\r
138 FOR x1 = 0 TO LEN(msg$) * 8 - 1
\r
140 IF POINT(x1, y1) > 0 THEN
\r
143 IF col1 > 100 THEN col = RND * 4 + 10
\r
145 LINE (rx, ry)-(rx + siz - 1, ry + siz - 1), col, B
\r
147 LINE (rx, ry)-(rx + siz - 1, ry + siz - 1), col, BF
\r
149 ' LINE (rx, ry)-(rx + siz - 1, ry + siz - 1), col, BF
\r
155 PUT (0, 0), bck, PSET
\r
159 SUB timerAdd (element, time, value)
\r
162 IF (timerTime(element, a) = 0) AND (timerValue(element, a) = 0) THEN GOTO timer3
\r
166 timerTime(element, a) = time
\r
167 timerValue(element, a) = value
\r
175 PRINT timerCplace(a), timerCtime(a), timerCvalue(a)
\r
190 timerAdd 0, 1000, 0
\r
195 timerAdd 1, 1000, 1000
\r
207 timerAdd 2, 10, 280
\r
208 timerAdd 3, 10, 160
\r
211 timerAdd 3, 20, 160
\r
213 timerAdd 2, 1000, 40
\r
214 timerAdd 3, 1000, 160
\r
220 timerAdd 4, 2000, 10000
\r
228 timerAdd 5, paus, 30
\r
229 timerAdd 5, paus + 2, 321
\r
231 ' Ellips Y & radius
\r
235 timerAdd 6, 1000, 50
\r
239 timerAdd 7, 12, 130
\r
241 timerAdd 7, paus, 130
\r
242 timerAdd 7, paus + 2, 1
\r
244 ' "Infotehnoloogia" message
\r
247 timerAdd 8, 11, 320
\r
248 timerAdd 8, 20, 100
\r
249 timerAdd 8, paus, 100
\r
250 timerAdd 8, paus + 1, -1
\r
257 timerCurrent = TIMER
\r
258 timerDiff = timerCurrent - timerLast
\r
259 timerLast = timerCurrent
\r
262 ctim = timerCtime(a) + timerDiff
\r
263 Cplace = timerCplace(a)
\r
265 IF timerTime(a, Cplace + 1) = -1 THEN
\r
269 IF timerTime(a, Cplace + 1) < ctim THEN
\r
270 IF timerTime(a, Cplace + 1) = 0 THEN
\r
271 timerCvalue(a) = timerValue(a, Cplace)
\r
274 Cplace = Cplace + 1
\r
278 v1 = timerValue(a, Cplace)
\r
279 t1 = timerTime(a, Cplace)
\r
280 v2 = timerValue(a, Cplace + 1)
\r
281 t2 = timerTime(a, Cplace + 1)
\r
284 timerCvalue(a) = v1
\r
289 timerCvalue(a) = Tdiff2 / Tdiff1 * Vdiff + v1
\r
292 timerCplace(a) = Cplace
\r
293 timerCtime(a) = ctim
\r
300 playsound "marine.mp3"
\r
304 FOR x = 0 TO 160 STEP 15
\r
306 LINE (160 - x - 5, 90 - 5)-(160 + x + 5, 110 + 5), 1, BF
\r
307 LINE (160 - x - 3, 90 - 3)-(160 + x + 3, 110 + 3), 3, BF
\r
308 LINE (160 - x, 90)-(160 + x, 110), 15, BF
\r
315 FOR y = 10 TO 100 STEP 15
\r
318 LINE (160 - x - 5, 90 - y - 5)-(160 + x + 5, 110 + y + 5), 1, BF
\r
319 LINE (160 - x - 3, 90 - y - 3)-(160 + x + 3, 110 + y + 3), 3, BF
\r
320 LINE (160 - x, 90 - y)-(160 + x, 110 + y), 15, BF
\r
327 prn RND * 250, RND * 180, STR$(INT(RND * 2)), 3, 0
\r
337 IF RND * 50 < t THEN
\r
338 GET (1, a)-(318, a + 1), buf
\r
340 PUT (0, a), buf, PSET
\r
342 PUT (2, a), buf, PSET
\r