RosettaCodeData/Task/Morse-code/BASIC/morse-code-3.basic

29 lines
963 B
Plaintext

100 PROGRAM "Morse.bas"
110 STRING TONE$(48 TO 90)*5,ST$*254
120 SET CHARACTER 46,0,0,0,0,24,24,0,0,0:SET CHARACTER 47,0,0,0,0,126,126,0,0,0
130 FOR I=48 TO 90
140 READ TONE$(I)
150 NEXT
160 DO
170 PRINT :PRINT "String to convert to Morse code: ":INPUT PROMPT ">":ST$
180 LET ST$=LTRIM$(RTRIM$(UCASE$(ST$)))
190 FOR I=1 TO LEN(ST$)
200 LET C=ORD(ST$(I:I))
210 IF C>47 AND C<91 THEN
220 PRINT TONE$(C);" ";
230 FOR J=1 TO LEN(TONE$(C))
240 SOUND PITCH 48,DURATION(ORD(TONE$(C)(J))-45)^3+4
250 SOUND PITCH 126,DURATION 8
260 NEXT
270 ELSE
280 PRINT
290 SOUND PITCH 126,DURATION 16
300 END IF
310 SOUND PITCH 126,DURATION 16
320 NEXT
330 PRINT
340 LOOP UNTIL ST$=""
350 CLEAR FONT
360 DATA .////,..///,...//,..../,.....,/....,//...,///..,////.,/////,"","","","","","",""
370 DATA ./,/...,/./.,/..,.,../.,//.,....,..,.///,/./,./..,//,/.,///,.//.,//./,./.,...,/,../,.../,.//,/../,/.//,//..