c64-basic/morse-trainer/morse-trainer.bas

25 lines
1.1 KiB
QBasic

10 PRINT CHR$(147):PRINT " MORSE TRAINER":PRINT
20 PRINT "LISTEN AND READ THE MORSE CODE."
30 PRINT "GUESS TEN LETTERS. Q=QUIT.":PRINT
40 PRINT "PRESS ANY KEY"
50 GET A$:IF A$="" THEN 50
60 R=RND(-TI):DIM L$(12),M$(12)
70 FOR I=1 TO 12:READ L$(I),M$(I):NEXT:S=54272
80 FOR I=0 TO 24:POKE S+I,0:NEXT:POKE S+5,9:POKE S+6,240:POKE S+24,12
90 SC=0:FOR T=1 TO 10:N=INT(RND(1)*12)+1
100 PRINT CHR$(147):PRINT "SIGNAL";T;"OF 10":PRINT:PRINT " ";M$(N):PRINT
110 FOR I=1 TO LEN(M$(N)):C$=MID$(M$(N),I,1):D=45
120 IF C$="-" THEN D=135
130 POKE S,52:POKE S+1,17:POKE S+4,33:FOR W=1 TO D:NEXT
140 POKE S+4,32:FOR W=1 TO 45:NEXT:NEXT
150 INPUT "LETTER";A$:IF A$="Q" THEN 250
160 IF A$=L$(N) THEN PRINT "CORRECT!":SC=SC+1:GOTO 180
170 PRINT "IT WAS ";L$(N)
180 FOR W=1 TO 600:NEXT:NEXT
190 PRINT CHR$(147):PRINT "MORSE SCORE";SC;"OUT OF 10":PRINT
200 PRINT "R=TRAIN AGAIN Q=QUIT"
210 GET A$:IF A$="R" THEN RUN
220 IF A$<>"Q" THEN 210
250 FOR I=0 TO 24:POKE S+I,0:NEXT:PRINT CHR$(147):END
300 DATA A,.-,B,-...,C,-.-.,D,-..,E,.,F,..-.
310 DATA G,--.,H,....,I,..,J,.---,K,-.-,L,.-..