Products: Word Twister & Vocabuilder
Developer(s): Chia-Chi Chao
Date: 198x
Type: Cassette
Platform(s): TS 1000
Related Products
Vocabulary learning programs.
Source Code
90 GOTO 100 95 LET W=100 97 LET N=1 100 FAST 101 DIM B$(1) 102 DIM G$(32) 103 LET Q=0 104 LET F=Q 105 CLS 110 PRINT "\:'\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\':\: VOCABUILDER 1000 VERSION 2.0\ :\:.\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.:" 115 PRINT ,,"%S%L%O%T%S% %U%S%E%D ";N-1,"%S%L%O%T%S% %L%E%F%T ";W-N+1 120 PRINT AT 7,11;"**% %M%E%N%U% **" 130 PRINT AT 9,0;"<1> EDIT / ADD / CHECK FILE" 140 PRINT "<2> PRACTICE VOCABULARIES" 150 PRINT "<3> TEST 1--RANDOM ONLY" 160 PRINT "<4> TEST 2--RANDOM + INTERCHANGE" 170 PRINT "<5> SETUP NEW FILE" 180 PRINT "<6> HARD COPY--PRINTER OUTPUT" 190 PRINT "<7> SAVE ON TAPE" 200 PRINT AT 20,0;" INPUT YOUR CHOICE BY NUMBER ?",," \''\''\''\''\''\''\''\''\''" 205 SLOW 210 INPUT Y$ 215 FAST 220 IF Y$="" OR Y$<"1" OR Y$>"7" THEN GOTO 205 225 IF VAL Y$>7 OR Y$<>"1" AND Y$<>"5" AND Y$<>"7" AND N<2 THEN GOTO 205 230 CLS 240 LET A=VAL Y$ 250 GOTO A*1000 1000 LET S=PI/PI 1003 FAST 1004 LET Y=1 1005 FOR Z=S TO N 1010 PRINT "% %N%U%M%B%E%R% ";Z;"---" 1020 PRINT A$(1,Z) 1030 PRINT A$(2,Z) 1040 IF Y=5 THEN GOTO 1060 1045 LET Y=Y+1 1050 NEXT Z 1060 PRINT AT 16,0;"% % E%D%I%T% % % A%D%D% % % I%N%S%E%R%T% % % D%E%L%E%T%E% % % % C%O%N%T%I%N%U%E% % % B%A%C%K% % % S%T%A%R%T% %F%R%O%M% % " 1065 IF N>W THEN PRINT ,,,,,,"% %F%I%L%E% %F%U%L%L% " 1069 SLOW 1070 INPUT Y$ 1075 FAST 1080 IF Y$="" THEN GOTO 100 1090 LET Z$=Y$(1) 1100 IF Z$="B" OR Z$="C" OR Z$="S" THEN GOTO 1200 1110 IF Z$="I" OR Z$="D" THEN GOTO 1300 1120 IF Z$="E" OR Z$="A" THEN GOTO 1500 1130 GOTO 1069 1200 IF Z$="C" THEN LET Z=Z+1 1210 IF Z$="B" THEN LET Z=Z-9 1215 IF Z$="S" AND LEN Y$=1 THEN GOTO 1069 1220 IF Z$="S" THEN LET Z=VAL Y$(2 TO ) 1230 IF Z>N THEN LET Z=N-4 1240 IF Z<1 THEN LET Z=1 1245 LET S=Z 1250 CLS 1260 GOTO 1004 1300 IF LEN Y$=1 THEN GOTO 1069 1302 IF VAL Y$(2 TO )>=N OR VAL Y$(2 TO )<1 THEN GOTO 1069 1305 IF Z$="D" THEN GOTO 1400 1307 IF N>W THEN GOTO 1069 1310 FOR Q=N+1 TO VAL Y$(2 TO )+1 STEP -1 1320 LET A$(1,Q)=A$(1,Q-1) 1330 LET A$(2,Q)=A$(2,Q-1) 1340 NEXT Q 1350 LET Z$="E" 1360 LET N=N+1 1370 GOTO 1510 1400 FOR Q=VAL Y$(2 TO ) TO N 1410 LET A$(1,Q)=A$(1,Q+1) 1420 LET A$(2,Q)=A$(2,Q+1) 1430 NEXT Q 1440 IF N>1 THEN LET N=N-1 1450 LET S=VAL Y$(2 TO )-2 1455 IF S+4>N THEN LET S=N-4 1457 IF S<1 THEN LET S=1 1460 CLS 1470 GOTO 1003 1500 IF Z$="E" AND LEN Y$=1 THEN GOTO 1069 1510 IF Z$="E" THEN LET E=VAL Y$(2 TO ) 1512 IF Z$="E" THEN IF E>N-1 THEN GOTO 1069 1515 IF Z$="A" AND N>W THEN GOTO 1069 1520 IF Z$="A" THEN LET E=N 1525 PRINT AT 16,0;"% % N%E%X%T% % % % % ""ENTER""% %T%O% %T%E%R%M%I%N%A%T%E% % % % % % % % % % % % %W%H%E%N% %"%>%"% %I%S% %S%H%O%W%I%N%G% % " 1530 PRINT AT 19,0;"% %N%U%M%B%E%R% ";E;TAB 14;"?>";N$(1) 1540 INPUT Y$ 1545 IF Y$="N" THEN GOTO 1580 1550 IF Y$="" THEN GOTO 1700 1560 LET A$(1,E)=Y$ 1570 PRINT A$(1,E) 1580 PRINT AT 19,15;" ";N$(2) 1590 INPUT Y$ 1600 IF Y$="" OR Y$="N" THEN GOTO 1530 1610 LET A$(2,E)=Y$ 1700 LET Y$=Z$+STR$ E 1705 IF Z$="A" THEN LET N=N+1 1710 GOTO 1450 2000 PRINT "***********% %P%R%A%C%T%I%C%E% ***********" 2010 PRINT AT 3,0;" INPUT LANGUAGE TO BE TESTED ? (BY NUMBER)" 2020 PRINT ,,"<1> ";N$(1);TAB 0;"<2> ";N$(2) 2022 PRINT AT 21,0;" INPUT ""0"" TO TERMINATE" 2025 SLOW 2030 INPUT L 2035 IF L<1 THEN GOTO 100 2040 IF L>2 THEN GOTO 2030 2050 PRINT AT 3,30;L 2060 PRINT AT 11,0;" INPUT STARTING NUMBER ? "; 2070 INPUT S 2080 IF S<1 THEN GOTO 100 2090 IF S>=N THEN LET S=N-1 2095 IF S<1 THEN LET S=1 2100 PRINT S 2110 PRINT ,," INPUT ENDING NUMBER ? " 2120 INPUT E 2125 FAST 2130 IF E<1 THEN GOTO 100 2135 IF E<S THEN LET E=S 2140 IF E>=N THEN LET E=N-1 2150 DIM B$(2,E) 2170 CLS 2195 LET Z=0 2200 LET R=INT (RND*(E-S+1))+S 2202 LET Z=Z+1 2203 IF A=4 AND Z>10 THEN GOTO 2600 2205 IF B$(L,R)<>" " THEN GOTO 2200 2207 LET B$(L,R)="1" 2210 PRINT "** ";N$(1+NOT (L-1)) 2220 PRINT ,,A$(1+NOT (L-1),R) 2245 PRINT AT 20,3;"% %I%N%P%U%T% %S%H%I%F%T% %"%Q%"% %T%O% %Q%U%I%T% " 2250 PRINT AT 6,0;"PLEASE INPUT ";N$(L);" ?" 2252 PRINT TAB 13;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"( TO LEN N$(1)) 2255 SLOW 2260 INPUT G$ 2270 FAST 2272 IF G$(1)="""" THEN GOTO (2380 AND A=2)+(3070 AND A>2) 2275 IF F=0 THEN PRINT G$ 2280 LET F=0 2290 IF G$<>A$(L,R) THEN LET F=1 2300 IF A=3 OR A=4 THEN RETURN 2310 IF F=0 THEN GOTO 2360 2320 PRINT AT 10,10;"**% %W%R%O%N%G% **",,," THE CORRECT ANSWER IS..." 2330 PRINT ,,A$(L,R) 2340 PRINT ,,,,,,"PLEASE INPUT THE CORRECT ANSWER?\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''" 2345 LET B$(L,R)=" " 2350 GOTO 2255 2360 LET Q=Q+1 2365 IF B$(L,R)=" " THEN LET Q=Q-1 2370 IF Q<=E-S THEN GOTO 2160 2380 CLS 2390 PRINT AT 10,11;"% %F%I%N%I%S%H%E%D% " 2400 SLOW 2500 PAUSE 180 2510 GOTO 100 2600 FOR Z=S TO E 2610 IF B$(L,Z)=" " THEN GOTO 2650 2620 NEXT Z 2630 LET L=1+NOT (L-1) 2640 GOTO 2180 2650 LET R=Z 2660 GOTO 2207 3000 PRINT "************% %T%E%S%T% %1% ************" 3010 GOSUB 2010 3025 IF F=1 THEN LET B$(L,R)="X" 3030 LET Q=Q+1 3035 IF Q=(E-S+1)*(1+(A=4)) THEN GOTO 3070 3040 IF A=4 THEN LET L=INT (RND*2)+1 3050 GOSUB 2160 3060 GOTO 3020 3070 CLS 3080 PRINT "*********% %T%E%S%T% %R%E%P%O%R%T% **********" 3085 PRINT AT 3,11;"% %O%P%T%I%O%N%S% " 3090 PRINT ,,,,"<1> OUTPUT MISSED WORDS" 3100 PRINT "<2> OPTION <1> + PRINTER OUTPUT" 3110 PRINT "<3> SCORE REPORT--ONLY WHEN THE TEST WAS COMPLETED." 3120 PRINT "<4> RETURN TO MENU" 3130 PRINT AT 20,0;" INPUT YOUR CHOICE BY NUMBER ?",," \''\''\''\''\''\''\''\''\''" 3140 SLOW 3150 INPUT Q 3160 FAST 3170 IF Q<1 OR Q>4 OR Q=3 AND G$(1)="""" THEN GOTO 3140 3175 CLS 3180 IF Q=4 THEN GOTO 100 3190 IF Q=3 THEN GOTO 3400 3210 LET Y=1 3220 FOR Z=S TO E 3230 IF B$(1,Z)<>"X" AND B$(2,Z)<>"X" THEN GOTO 3290 3240 PRINT "% %N%U%M%B%E%R% ";Z;"---" 3250 PRINT A$(1,Z);A$(2,Z) 3260 IF Q=2 THEN LPRINT A$(1,Z);A$(2,Z),, 3270 IF Y=7 THEN GOTO 3300 3280 LET Y=Y+1 3290 NEXT Z 3300 POKE 16418,0 3310 PRINT AT 23,0;"PRESS ANY KEY TO CONTINUE" 3320 POKE 16418,2 3330 SLOW 3340 IF INKEY$="" THEN GOTO 3340 3345 FAST 3347 CLS 3350 IF Z>=E THEN GOTO 3070 3360 LET Y=1 3370 GOTO 3290 3400 LET Q=0 3410 FOR Z=S TO E 3420 IF B$(1,Z)="X" THEN LET Q=Q+1 3425 IF B$(2,Z)="X" THEN LET Q=Q+1 3430 NEXT Z 3440 PRINT "% %W%O%R%D%S% %T%E%S%T%E%D% ";(E-S+1)*((A=3)+(2 AND A=4)) 3450 PRINT ,,"% %C%O%R%R%E%C%T% %A%N%S%W%E%R%S% ";(E-S+1)*((A=3)+(2 AND A=4))-Q 3460 PRINT ,,"% %W%R%O%N%G% %A%N%S%W%E%R%S% ";Q 3470 LET Z=INT ((1-Q/(E-S+1)/((A=3)+(2 AND A=4)))*100+.5) 3480 PRINT ,,,,"% %S%C%O%R%E% ";Z;" PERCENT" 3490 PRINT AT 20,0;"PRESS ANY KEY TO CONTINUE" 3500 SLOW 3510 IF INKEY$="" THEN GOTO 3510 3520 FAST 3530 GOTO 3070 4000 PRINT "************% %T%E%S%T% %2% ************" 4005 PRINT AT 4,6;"INTERCHANGE BETWEEN" 4007 PRINT AT 6,9;"TWO LANGUAGES" 4010 LET L=INT (RND*2)+1 4020 PRINT AT 21,NOT PI;" INPUT ""0"" TO TERMINATE" 4030 SLOW 4040 GOSUB 2060 4050 GOTO 3020 5000 PRINT "********% %N%E%W% %F%I%L%E% %S%E%T%U%P% ********";AT 20,0;"PRESS ""ENTER"" TO TERMINATE" 5010 PRINT AT 3,0;" INPUT FIRST LANGUAGE ?", 5015 SLOW 5020 INPUT Y$ 5030 IF Y$="" THEN GOTO 100 5035 PRINT Y$ 5040 PRINT AT 7,NOT PI;" INPUT SECOND LANGUAGE ?" 5050 INPUT Z$ 5055 FAST 5060 IF Z$="" THEN GOTO 100 5070 LET N=(LEN Y$ AND LEN Y$>=LEN Z$)+(LEN Z$ AND LEN Z$>LEN Y$) 5075 IF N>16 THEN LET N=16 5080 DIM N$(2,N) 5083 LET N$(1)=Y$ 5086 LET N$(2)=Z$ 5090 DIM A$(2,W+1,32) 5100 LET N=1 5110 CLS 5120 GOTO 1000 6000 PRINT "********% %P%R%I%N%T%E%R% %O%U%T%P%U%T% ********" 6010 PRINT AT 3,NOT PI;" INPUT SELECTION ?","<1> ";N$(1);TAB 0;"<2> ";N$(2);TAB 0;"<3> BOTH" 6011 PRINT AT 21,NOT PI;" INPUT ""0"" TO TERMINATE MODE" 6012 SLOW 6013 INPUT Z 6014 IF Z<1 THEN GOTO 100 6015 IF Z>3 THEN GOTO 6012 6016 PRINT AT 3,18;Z 6017 PRINT AT 8,0;"SPACE BETWEEN EACH GROUP ? "; 6018 LET Z$=INKEY$ 6019 IF Z$="" THEN GOTO 6018 6020 IF Z$="0" THEN GOTO 100 6021 IF Z$<>"Y" THEN LET Z$="N" 6022 PRINT Z$ 6025 PRINT AT 12,0;" INPUT STARTING NUMBER ? "; 6030 INPUT S 6040 IF S<1 THEN GOTO 100 6050 IF S>N THEN GOTO 6030 6060 PRINT S 6070 PRINT AT 14,0;" INPUT ENDING NUMBER ? "; 6080 INPUT E 6090 IF E<1 THEN GOTO 100 6100 IF E<S THEN GOTO 6080 6105 IF E>N THEN LET E=N-1 6110 PRINT E 6120 PRINT AT 20,0;"PRESS ANY KEY TO PRINT OR " 6130 LET Y$=INKEY$ 6140 IF Y$="" THEN GOTO 6130 6150 IF Y$="0" THEN GOTO 100 6155 FAST 6160 FOR Q=S TO E 6170 IF Z=1 OR Z=3 THEN LPRINT A$(1,Q) 6180 IF Z=2 OR Z=3 THEN LPRINT A$(2,Q) 6185 IF Z$="Y" THEN LPRINT 6190 NEXT Q 6200 SLOW 6210 GOTO 100 7000 PRINT "*************% %S%A%V%E% *************" 7005 DIM G$(1) 7010 PRINT AT 5,0;"<1> PREPARE RECORDER FOR ""SAVE""" 7020 PRINT "<2> REWIND TAPE" 7030 PRINT "<3> PRESS ""RECORD"" AND ""PLAY""" 7040 PRINT "<4> PRESS ANY KEY TO SAVE "," (TAPE LEADER IS"," AUTOMATICALLY COMPENSATED)" 7050 PRINT AT 21,5;"PRESS ""0"" TO TERMINATE" 7055 SLOW 7057 IF INKEY$<>"" THEN GOTO 7057 7060 LET Y$=INKEY$ 7070 IF Y$="" THEN GOTO 7060 7080 IF Y$="0" THEN GOTO 100 7083 PRINT AT 15,10;"% %P%R%O%C%E%S%S%I%N%G% " 7085 PRINT AT 21,0;" " 7087 PAUSE 420 7088 FAST 7090 CLS 7100 SAVE "%V" 7110 PRINT "*******% %V%O%C%A%B%U%I%L%D%E%R% %1%0%0%0% *******" 7120 PRINT AT 6,11;"WRITTEN BY";AT 11,8;"\:'\''\''\''\''\''\''\''\''\''\''\''\''\''\''\':";TAB 8;"\: CHIA-CHI CHAO\ :";TAB 8;"\:.\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.:" 7135 SLOW 7140 FOR Q=1 TO 30 7150 NEXT Q 7200 GOTO 100 9998 SAVE "VOCAB 100%0" 9999 RUN 95