home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Rockford Magazine
/
Rockford_Magazine_022_19xx_-_de_Disk_4_of_4_Side_B.d64
/
morsen
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
3KB
|
99 lines
100 poke53280,6:poke53281,6:printchr$(147);chr$(142);chr$(8)
110 gosub 55000
400 dim a$(47):fori=1to47:reada$(i):next
450 if peek(2)>0 then 600
500 print"[147]":print" geschwindigkeit "
510 print" -1- 40 bpm"
520 print" -2- 50 bpm"
530 print" -3- 60 bpm"
540 print" -4- 90 bpm"
550 print" -5- 140 bpm"
560 print" bitte waehlen sie "
561 print"":for i=1 to (6-g)*2+1:print:next:print"x"
570 geta$:if(a$<"1" or a$>"5")and a$<>chr$(13) then 570
575 if a$=chr$(13) then 600
580 poke2,(6-val(a$))
600 print"[147] morsetrainer "
601 ta=1
602 print"-1- training"
603 print"-2- umsetzung"
604 print"-3- simultan"
605 print"-4- geschwindigkeit"
606 print"-5- ende"
610 print" bitte waehlen sie "
615 mo=0:g=peek(2)
620 geta$:if a$<"1" or a$>"5" then 620
625 if a$="5" then end
630 if a$="4"then500
640 if a$="3" then 4000
650 if a$="1" then ta=0:goto3000
660 if a$="2" then input "[147]text: ";a$:rp=0:input"wiederholungen";rp:rp=rp+1
1000 rem
1005 forh=1torp:ifta then printchr$(13)
1007 for k=1to len(a$)
1010 b$=mid$(a$,k,1)
1020 b=asc(b$):b=b-43:ifb<1 or b>47 then b$="":goto1040
1030 b$=a$(b)
1040 ifb$=""thenforj=1tog*10:nextj:goto1100
1050 forj=1tolen(b$)
1060 on val(mid$(b$,j,1)) goto 1070,1080
1070 zz=g*20:gosub 55100:iftathenprint".";
1075 goto1090
1080 zz=g*60:gosub55100:if tathenprint"-";
1090 nextj
1100 forj=1to(g-1)*30:nextj:iftathenprint"[146] ";
1105 if mo<>1 and mx<>1 then next:next
1110 forj=1 to (g-1)*30:iftathenprint"[146] ";
1115 ifaf=1thenreturn
1120 if mo=1 then return
1130 iftathengetx$:ifx$=""then1130
1140 run
2000 a$=d$:printd$;:ifd$="*"then500
2020 ifd$=""thena$=" "
2030 return
3000 af=1:printchr$(147):print" morsetraining "
3010 print"ascii-zeichenbereich:"
3012 input"von";a1:input"bis";a2
3015 if a1<44 or a2<44 or a1>91 or a2>91 or a1>a2 then3000
3020 for i=1 to 10
3030 t$(i)="":forj=1to5:t$(i)=t$(i)+chr$(a1+int(rnd(0)*(a2-a1)+.5)):next:next
3040 a$="":fori=1to10:a$=a$+t$(i)+" ":next:rp=1
3050 print"ok?[160]"
3053 geta$:ifa$=""then3053
3070 printchr$(147):fori=1to10:a$=t$(i):gosub1000
3080 print"gruppe"i;:inputd$(i):next
3090 print"[147]":k=0:print"gruppe","gegeben","empfangen","fehler"
3100 f=0:fori=1to10:printi,t$(i),d$(i),:s=5
3105 forj=1to5:ifmid$(t$(i),j,1)=mid$(d$(i),j,1)thens=s-1
3110 next:prints:f=f+s:next
3120 print"fehler gesamt:"f
3125 print"w[146]eiter oder zum m[146]enue?"
3130 geta$:ifa$<>"w"anda$<>"m"then3130
3140 if a$="w" then 3000
3150 af=0:goto 600
4000 print"[147]":print"simultanuebersetzung: ende mit * [146]"
4001 print"eingabe des textes:"
4002 ta=0
4004 getd$:ifd$=""then4004
4005 if d$="*"then 600
4006 if peek(198)>6 then poke53281,1
4007 if peek(198)<3 then poke53281,6
4010 gosub 2000:mo=1
4020 gosub 1000:goto4004
10000 data "221122","21112","121212","21121","22222","12222"
10010 data "11222","11122","11112","11111","21111","22111"
10020 data "22211","22221","222111","","",""
10030 data "","112211","","12","2111","2121"
10040 data "211","1","1121","221","1111","11"
10050 data "1222","212","1211","22","21","222"
10060 data "1221","2212","121","111","2","112"
10070 data "1112","122","2112","2122","2211"
50000 end
55000 poke54295,0:poke54276,0:poke54273,0:poke54296,15
55005 poke54277,21:poke54278,160
55010 return
55100 poke54276,33
55110 poke54273,70:forw=1tozz:next
55120 poke54276,0
55130 return