DECLARE SUB playsound (a$) DECLARE SUB start () DECLARE SUB turnoff () DECLARE SUB dispimg (a$) DECLARE SUB turnon () DECLARE SUB ellips (x!, y!, s!, v!, t!) DECLARE SUB prn (x!, y!, msg$, siz!, col1!) DECLARE SUB timerAdd (element!, time!, value!) DECLARE SUB timerdisp () DECLARE SUB timerinit () DECLARE SUB timerprocess () DECLARE SUB mo (x!, y!, an!, s!, w!) DIM SHARED depth DIM SHARED pi DIM SHARED sh1, sh2, sv1, sv2, hp, vp DIM SHARED timerTime(0 TO 50, 0 TO 100) DIM SHARED timerValue(0 TO 50, 0 TO 100) DIM SHARED timerCplace(0 TO 50) DIM SHARED timerCtime(0 TO 50) DIM SHARED timerCvalue(0 TO 50) DIM SHARED timerLast pi = 3.14128 playsound "luule.mp3" SCREEN 13 start timerinit 2 timerprocess IF timerCtime(0) > 0 THEN IF im1 = 0 THEN dispimg "pikk.i01" im1 = 1 END IF END IF IF timerCtime(0) > 1.5 THEN IF im2 = 0 THEN dispimg "pikk4.i01" im2 = 1 END IF END IF IF timerCtime(0) > 9 THEN IF im3 = 0 THEN dispimg "pikk3.i01" im3 = 1 END IF END IF IF timerCtime(0) > 17 THEN IF im4 = 0 THEN dispimg "pikk2.i01" im4 = 1 END IF END IF IF timerCtime(0) > 24 THEN IF im5 = 0 THEN dispimg "pikk1.i01" im5 = 1 END IF END IF IF timerCtime(0) > 33 THEN IF im6 = 0 THEN dispimg "pikk5.i01" im6 = 1 END IF END IF IF timerCtime(0) > 41 THEN IF im7 = 0 THEN dispimg "pikk.i01" im7 = 1 END IF END IF IF timerCtime(0) > 43 THEN turnoff END IF 'LOCATE 1, 1 'PRINT timerCtime(0) GOTO 2 SYSTEM SUB dispimg (a$) OPEN a$ FOR INPUT AS #1 INPUT #1, xs INPUT #1, ys FOR y = 1 TO ys FOR x = 1 TO xs INPUT #1, a PSET (x - 1, 200 - y), a NEXT x NEXT y CLOSE #1 END SUB SUB ellips (x, y, s, v, t) IF x > 0 THEN IF y > 0 THEN CIRCLE (x, y), s, v, , , t PAINT (x, y), v END IF END IF END SUB SUB playsound (a$) SHELL "c:\progra~1\winamp\winamp.exe " + a$ SCREEN 0 SCREEN 7, , , 1 END SUB SUB prn (x, y, msg$, siz, col1) IF x < 0 THEN GOTO prn1 IF x > 319 THEN GOTO prn1 DIM bck(10000) GET (0, 0)-(100, 7), bck LOCATE 1, 1 PRINT msg$ col = col1 FOR x1 = 0 TO LEN(msg$) * 8 - 1 FOR y1 = 0 TO 7 IF POINT(x1, y1) > 0 THEN rx = x1 * siz + x ry = y1 * siz + y IF col1 > 100 THEN col = RND * 4 + 10 IF col1 > 200 THEN LINE (rx, ry)-(rx + siz - 1, ry + siz - 1), col, B ELSE LINE (rx, ry)-(rx + siz - 1, ry + siz - 1), col, BF END IF ' LINE (rx, ry)-(rx + siz - 1, ry + siz - 1), col, BF END IF NEXT y1 NEXT x1 PUT (0, 0), bck, PSET prn1: END SUB SUB start c = 0 FOR r = 0 TO 5 FOR g = 0 TO 5 FOR B = 0 TO 5 OUT &H3C8, c c = c + 1 OUT &H3C9, r * 12 OUT &H3C9, g * 12 OUT &H3C9, B * 12 NEXT B NEXT g NEXT r END SUB SUB timerAdd (element, time, value) FOR a = 0 TO 100 IF (timerTime(element, a) = 0) AND (timerValue(element, a) = 0) THEN GOTO timer3 NEXT a timer3: timerTime(element, a) = time timerValue(element, a) = value END SUB SUB timerdisp LOCATE 1, 1 FOR a = 0 TO 10 PRINT timerCplace(a), timerCtime(a), timerCvalue(a) NEXT a END SUB SUB timerinit timerLast = TIMER paus = 24 ' stuff size timerAdd 0, 0, 0 timerAdd 0, 1000, 1000 END SUB SUB timerprocess timerCurrent = TIMER timerDiff = timerCurrent - timerLast timerLast = timerCurrent FOR a = 0 TO 50 ctim = timerCtime(a) + timerDiff Cplace = timerCplace(a) timer2: IF timerTime(a, Cplace + 1) = -1 THEN ctim = 0 Cplace = 0 END IF IF timerTime(a, Cplace + 1) < ctim THEN IF timerTime(a, Cplace + 1) = 0 THEN timerCvalue(a) = timerValue(a, Cplace) GOTO timer1: END IF Cplace = Cplace + 1 GOTO timer2 END IF v1 = timerValue(a, Cplace) t1 = timerTime(a, Cplace) v2 = timerValue(a, Cplace + 1) t2 = timerTime(a, Cplace + 1) IF v1 = v2 THEN timerCvalue(a) = v1 ELSE Tdiff1 = t2 - t1 Tdiff2 = ctim - t1 Vdiff = v2 - v1 timerCvalue(a) = Tdiff2 / Tdiff1 * Vdiff + v1 END IF timer1: timerCplace(a) = Cplace timerCtime(a) = ctim NEXT a END SUB SUB turnoff x = 160 FOR y = 100 TO 1 STEP -1 LINE (160 - x - 5, 90 - y - 5)-(160 + x + 5, 110 + y + 5), 0, B LINE (160 - x - 3, 90 - y - 3)-(160 + x + 3, 110 + y + 3), 3, B LINE (160 - x, 90 - y)-(160 + x, 110 + y), 15, B SOUND 0, .1 NEXT y FOR x = 160 TO 0 STEP -1 LINE (160 - x - 5, 90 - 5)-(160 + x + 5, 110 + 5), 0, B LINE (160 - x - 3, 90 - 3)-(160 + x + 3, 110 + 3), 1, B LINE (160 - x, 90)-(160 + x, 110), 15, B SOUND 0, .05 NEXT x playsound "silent.mp3" SCREEN 10 SCREEN 13 CLS 1 a$ = INPUT$(1) GOTO 1 END SUB