initial cammit
[qbasicapps.git] / networking / morse / morse.bas
1 ' Svjatoslav Agejenko 2003\r
2 \r
3 DECLARE SUB say ()\r
4 DECLARE SUB laus (a$)\r
5 DECLARE SUB char (a!)\r
6 DIM SHARED mors(0 TO 255, 0 TO 9)\r
7 DIM SHARED spd\r
8 spd = 1\r
9 CLS\r
10 \r
11 OPEN "morse.txt" FOR INPUT AS #1\r
12 2\r
13 IF EOF(1) THEN GOTO 1\r
14 LINE INPUT #1, a$\r
15 \r
16 FOR b = 1 TO LEN(a$)\r
17 c = ASC(RIGHT$(LEFT$(a$, b), 1))\r
18 IF b = 1 THEN m = c\r
19 IF b > 2 THEN\r
20 d = 0\r
21 IF c = ASC(".") THEN d = 1\r
22 IF c = ASC("-") THEN d = 2\r
23 mors(m, b - 2) = d\r
24 END IF\r
25 NEXT b\r
26 GOTO 2\r
27 1\r
28 CLOSE\r
29 \r
30 \r
31 PRINT "Type '.bye' to quit"\r
32 3\r
33 PRINT ""\r
34 INPUT "", a$\r
35 IF a$ = ".bye" THEN SYSTEM\r
36 laus a$\r
37 GOTO 3\r
38 \r
39 SUB char (a)\r
40 PRINT CHR$(a);\r
41 FOR b = 0 TO 9\r
42 IF mors(a, b) = 1 THEN\r
43 SOUND 1000, 1 * spd\r
44 SOUND 0, 1 * spd\r
45 END IF\r
46 \r
47 IF mors(a, b) = 2 THEN\r
48 SOUND 1000, 3 * spd\r
49 SOUND 0, 1 * spd\r
50 END IF\r
51 NEXT b\r
52 \r
53 FOR a = 0 TO 160\r
54 SOUND 0, .1\r
55 NEXT a\r
56 END SUB\r
57 \r
58 SUB laus (a$)\r
59 \r
60 FOR b = 1 TO LEN(a$)\r
61 c = ASC(RIGHT$(LEFT$(a$, b), 1))\r
62 char c\r
63 NEXT b\r
64 END SUB\r
65 \r