X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=blobdiff_plain;f=graphics%2Fpresentations%2FKHK%20j%C3%B5ulud%2Fkhkdemo2.bas;fp=graphics%2Fpresentations%2FKHK%20j%C3%B5ulud%2Fkhkdemo2.bas;h=c8d7a531fc5476b795541cff5707d7ad60086817;hp=0000000000000000000000000000000000000000;hb=8d86b3981cd6ccb427dc8fd428a34313f5b55fe2;hpb=e7f38776527012dce956d07ae54b749c50671110 diff --git "a/graphics/presentations/KHK j\303\265ulud/khkdemo2.bas" "b/graphics/presentations/KHK j\303\265ulud/khkdemo2.bas" new file mode 100755 index 0000000..c8d7a53 --- /dev/null +++ "b/graphics/presentations/KHK j\303\265ulud/khkdemo2.bas" @@ -0,0 +1,294 @@ +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 +