1 ' Stroboscope presentation
\r
2 ' made by Svjatoslav Agejenko
\r
4 ' H-Page: svjatoslav.eu
\r
5 ' E-Mail: svjatoslavagejenko@gmail.com
\r
8 DECLARE SUB getkey (a$)
\r
12 DECLARE SUB get3d ()
\r
15 DECLARE SUB getfnt ()
\r
16 DECLARE SUB prn (x2%, y%, s%, c%, t$)
\r
19 DECLARE SUB start ()
\r
22 DIM SHARED font(0 TO 7, 0 TO 15, 0 TO 207)
\r
23 DIM SHARED det(1 TO 100)
\r
24 DIM SHARED px1(1 TO 1000)
\r
25 DIM SHARED py1(1 TO 1000)
\r
26 DIM SHARED px2(1 TO 1000)
\r
27 DIM SHARED py2(1 TO 1000)
\r
28 DIM SHARED opx1(1 TO 1000)
\r
29 DIM SHARED opy1(1 TO 1000)
\r
30 DIM SHARED opx2(1 TO 1000)
\r
31 DIM SHARED opy2(1 TO 1000)
\r
32 DIM SHARED linc(1 TO 1000)
\r
34 DIM SHARED myx, myy, myz
\r
35 DIM SHARED myx1, myy1, myz1
\r
36 DIM SHARED myx2, myy2, myz2
\r
104 DATA 95, 20, 115, 20
\r
135 DATA 999,999,999,999
\r
146 x1 = x1 * 30 / myz + 160
\r
147 y1 = y1 * 30 / myz + 100
\r
148 x2 = x2 * 30 / myz + 160
\r
149 y2 = y2 * 30 / myz + 100
\r
150 LINE (opx1(a), opy1(a))-(opx2(a), opy2(a)), 0
\r
151 LINE (x1, y1)-(x2, y2), linc(a)
\r
164 READ x1, y1, x2, y2
\r
165 IF x1 = 999 THEN GOTO 6
\r
174 'PRINT nl, "of lines loaded"
\r
189 IF (a > 5) AND (a < 14) THEN GOTO 1
\r
194 font(x, y, a) = POINT(x, y)
\r
208 IF a$ = "" THEN GOTO 7
\r
223 myx = myx1 + (myxv * a / tfra)
\r
224 myy = myy1 + (myyv * a / tfra)
\r
225 myz = myz1 + (myzv * a / tfra)
\r
249 SHELL "playmov.com"
\r
272 OUT &H3C9, (15 - a) * 4.5
\r
276 st$ = " Esitlus teemal:"
\r
281 c = POINT(319 - t, y)
\r
282 IF c < 100 THEN c = c + 34
\r
283 PSET (319 - t, y), c
\r
286 IF x / 16 = x \ 16 THEN
\r
288 IF s <= LEN(st$) THEN
\r
289 a$ = RIGHT$(LEFT$(st$, s), 1)
\r
290 prn x, 20, 2, 101, a$
\r
295 IF (t < 360) AND (t > 39) THEN
\r
297 c = POINT(359 - t, y)
\r
298 IF c < 100 THEN c = c - 34
\r
299 PSET (359 - t, y), c
\r
302 c = POINT(359 - t, y)
\r
303 IF c < 100 THEN c = c - 34
\r
304 PSET (359 - t, y), c
\r
312 prn 31, 101, 3, 102, "STROBOSKOOP"
\r
313 prn 29, 99, 3, 102, "STROBOSKOOP"
\r
314 prn 30, 100, 3, 103, "STROBOSKOOP"
\r
320 IF c = 102 THEN c = 103: GOTO 2
\r
321 IF c = 103 THEN c = 102: GOTO 2
\r
328 FOR y = 199 TO 120 STEP -1
\r
331 IF c = 102 THEN c = 103: GOTO 3
\r
332 IF c = 103 THEN c = 102: GOTO 3
\r
339 prn 49, 179, 1, 0, "autor: Svjatoslav Agejenko"
\r
340 prn 51, 181, 1, 0, "autor: Svjatoslav Agejenko"
\r
341 prn 50, 180, 1, 15, "autor: Svjatoslav Agejenko"
\r
345 DIM buf(1 TO 30000)
\r
346 FOR a = 1 TO 320 / 5
\r
347 GET (0, 0)-(314, 100), buf(1)
\r
348 PUT (5, 0), buf(1), PSET
\r
349 LINE (0, 0)-(4, 100), 0, BF
\r
351 GET (5, 101)-(319, 199), buf(1)
\r
352 PUT (0, 101), buf(1), PSET
\r
353 LINE (315, 101)-(319, 199), 0, BF
\r
378 prn 147, 66, 1, 3, "100 D336B 180k 680k"
\r
379 prn 180, 120, 1, 3, "50m 450V 1m"
\r
380 prn 180, 400, 2, 14, "P�him�tteline skeem"
\r
384 LINE (0, 0)-(639, 390), 0, BF
\r
414 prn 147, 66, 1, 3, "100 D336B 180k 680k"
\r
415 prn 180, 120, 1, 3, "50m 450V 1m"
\r
427 prn 35, 100, 2, 14, " T�nan"
\r
428 prn 35, 140, 2, 14, "t�helepanu eest!"
\r
430 DIM buf(1 TO 30000)
\r
432 GET (0, 100)-(319, 199), buf(1)
\r
433 FOR y = 100 TO 50 STEP -1
\r
434 PUT (0, y), buf(1), PSET
\r
442 SUB prn (x2, y, s, c, t$)
\r
445 FOR a = 1 TO LEN(t$)
\r
446 b = ASC(RIGHT$(LEFT$(t$, a), 1))
\r
449 IF font(x1, y1, b) > 0 THEN
\r
450 LINE (x1 * s + x, y1 * s + y)-(x1 * s + s - 1 + x, y1 * s + s - 1 + y), c, BF
\r