10 KEY OFF:CLS 20 SCREEN 0 30 WIDTH 40 40 PRINT"???????????????????????????????????????" 50 PRINT"??????????????????????????????????????" 60 PRINT"?? ??" 70 PRINT"?? 5016-A.BAS ??" 80 PRINT"?? FLASH CARD ??" 90 PRINT"?? ??" 100 PRINT"?? ??" 110 PRINT"?? BROUGHT TO YOU BY THE MEMBERS OF ??" 120 PRINT"?? ????? ????? ????? ????? ??" 130 PRINT"?? ? ? ? ? ? ? ??" 140 PRINT"?? ? ????? ? ? ? ??" 150 PRINT"?? ? ? ? ? ? ??" 160 PRINT"?? ????? ? ????? ????? ??" 170 PRINT"?? ??" 180 PRINT"?? International PC Owners ??" 190 PRINT"?? ??" 200 PRINT"??P.O. Box 10426, Pittsburgh PA 15234??" 210 PRINT"?? ??" 220 PRINT"??????????????????????????????????????" 230 PRINT"???????????????????????????????????????" 240 PRINT 250 PRINT " PRESS ANY KEY TO CONTINUE 260 A$=INKEY$: IF A$="" THEN 260 270 WIDTH 80 280 CLS 1000 WIDTH 40 1010 COLOR 7,0,0 1020 KEY OFF:COLOR 7,0,0:CLS:SCREEN 0,1 1030 ' * * * Makes cover * * * 1040 COLOR 9,0,0:PRINT CHR$(201)+STRING$(37,205)+CHR$(187); 1050 FOR X=2 TO 23:LOCATE X,1:PRINT STRING$(1,186):LOCATE X,39:PRINT STRING$(1,186);:NEXT X:PRINT CHR$(200)+STRING$(37,205)+CHR$(188); 1060 PLAY "L8MBO0AAAAAAAAAAAAAAA" 1070 S$="FLASH CARD " 1080 COLOR 15:FOR X=1 TO 23:A$=LEFT$(S$,X):LOCATE 3,39-X,0:PRINT A$:FOR Y=1 TO 100:NEXT Y,X 1090 LOCATE 22,8!:COLOR 17:PRINT "PRESS SPACEBAR TO CONTINUE." 1100 COLOR 4:LOCATE 9,9:PRINT CHR$(201)+STRING$(20,205)+CHR$(187):FOR X=10 TO 15:LOCATE X,9:PRINT STRING$(1,186):LOCATE X,30:PRINT STRING$ (1,186):NEXT X:LOCATE 15,9:PRINT CHR$(200)+STRING$(20,205)+CHR$(188) 1110 COLOR 9:LOCATE 11,15:PRINT "Practice":LOCATE 13,15,0 :PRINT "and Drill" 1120 Q$=INKEY$:IF Q$=" " THEN 1130 ELSE 1120 1130 KEY OFF:CLS:COLOR 7,0 1140 ' * * * Dirctions * * * 1150 LOCATE 1,15:PRINT "DIRCTIONS" 1160 PRINT :PRINT "You may only enter thirty cards and theymust be no longer then forty characters per side.":PRINT 1170 PRINT "You can save your lists on disk and youcan call your lists back at a latertime.There is an option to choose either side of the card you wish.There is also an option to edit your cards in case of a mistake." 1180 PRINT :PRINT "All you have to do is follow the menus and pick which option you want and the computer will do the rest.Good luck and happy studying, well good luck at least." 1190 INPUT"Enter drive for data (AB)";D$ 1200 IF D$<>"b" AND D$<>"B" THEN D$="A" 1210 LOCATE 23,7:PRINT "PRESS SPACEBAR TO CONTINUE." 1220 A$=INKEY$:IF A$=" " THEN GOTO 1230 ELSE 1220 1230 ' * * * Initializing * * * 1240 DIM S1$(30), S2$(30), SS1$(30), SS2$(30) 1250 RANDOMIZE(VAL(RIGHT$(TIME$,2)+MID$(TIME$,4,2))) 1260 X=0:FF=1:Q=0:S=-1:SCREEN 0,1:KEY OFF:CLS:GOTO 2600 1270 ' * * * Makes cards * * * 1280 INPUT "ENTER NUMBER OF CARDS";N 1290 FOR A=1 TO N 1300 PRINT "ENTER SIDE ONE OF CARD";A:INPUT S1$(A) 1310 PRINT "ENTER SIDE TWO OF CARD";A:INPUT S2$(A) 1320 PRINT :PRINT:NEXT A 1330 RETURN 1340 ' * * * Save cards * * * 1350 GOSUB 2910 1360 GOSUB 2760 1370 LOCATE 2,16:COLOR 21:PRINT "Files used":COLOR 15 1380 ON ERROR GOTO 1400 1390 LOCATE 6,1:FILES D$+":*. " 1400 RESUME NEXT 1410 LOCATE 23,1:INPUT "ENTER FILE NAME,(0)FOR NONE.";F$ 1420 IF F$="0" THEN RETURN ELSE O$=D$+":"+F$+".LST" 1430 OPEN O$ FOR OUTPUT AS #2 1440 PRINT#2,N 1450 CLOSE #2 1460 IF N=0 THEN N=X 1470 FF$=D$+":"+F$:GOSUB 2940 1480 OPEN FF$ AS #1 LEN=80 1490 FOR X=1 TO N 1500 FIELD #1, 40 AS SS1$(X), 40 AS SS2$(X) 1510 LSET SS1$(X)=S1$(X) 1520 LSET SS2$(X)=S2$(X) 1530 PUT #1,X 1540 NEXT X 1550 X=X-1:CLOSE #1 1560 RETURN 1570 ' * * * Load cards * * * 1580 GOSUB 2910 1590 LU=3 1600 GOSUB 2760 1610 LOCATE 2,16:COLOR 21:PRINT "Data files":COLOR 15 1620 ON ERROR GOTO 1640 1630 LOCATE 6,1:FILES D$+":*. " 1640 RESUME NEXT 1650 LOCATE 23,1:Q=1:INPUT "ENTER NAME OF FILE,(0)FOR NONE";F$ 1660 IF F$="0" THEN RETURN ELSE O$=D$+":"+F$+".LST" 1670 OPEN O$ FOR INPUT AS #2 1680 INPUT #2,N 1690 CLOSE #2 1700 FF$=D$+":"+F$ 1710 OPEN FF$ AS #1 LEN=80 1720 FOR X=1 TO N 1730 FIELD #1, 40 AS SS1$(X), 40 AS SS2$(X) 1740 GET #1,X 1750 S1$(X)=SS1$(X):S2$(X)=SS2$(X) 1760 NEXT X 1770 CLOSE #1 1780 RETURN 1790 ' * * * Drill cards * * * 1800 GOSUB 2760 1810 LOCATE 2,15:COLOR 21:PRINT "Test options":COLOR 15 1820 LOCATE 7,14:PRINT "[1] SIDE ONE" 1830 LOCATE 9,14:PRINT "[2] SIDE TWO" 1840 LOCATE 11,14:PRINT "[3] BOTH SIDES" 1850 LOCATE 13,14:PRINT "[4] MENU" 1860 LOCATE 21,11:PRINT "[Esc] END PROGRAM" 1870 LOCATE 23,8:PRINT "ENTER OPTION TO CONTINUE." 1880 P$=INKEY$:IF P$=CHR$(27) THEN RETURN ELSE IF VAL(P$)<1 OR VAL(P$)>4 THEN 1880 1890 P=VAL(P$) 1900 IF P=4 THEN RETURN 1910 CLS:WIDTH 80:GOTO 1930 1920 FOR Y=1 TO 3000:NEXT Y:CLS:COLOR 15 1930 SIDE=INT(RND*2)+1 1940 CARD=INT(RND*N)+1 1950 IF P=3 THEN 1970 1960 IF P=1 THEN SIDE=2 ELSE SIDE=1 1970 IF S1$(CARD)="" OR S2$(CARD)="" THEN WIDTH 40:LOCATE 11,16,0:PRINT "BAD DATA":FOR TT=1 TO 2000:NEXT TT:RETURN 1980 LOCATE 1,20:PRINT "SIDE";SIDE:LOCATE 1,58:PRINT "NO.";CARD 1990 GOSUB 2820 2000 FFF=1:FF=1 2010 JJ$=RIGHT$(S1$(CARD),FF):LL=ASC(JJ$):IF LL<>32 THEN CC=40-FF ELSE FF=FF+1:GOTO 2010 2020 JJJ$=RIGHT$(S2$(CARD),FFF):LLL=ASC(JJJ$):IF LLL<>32 THEN CCC=40-FFF ELSE FFF=FFF+1:GOTO 2020 2030 IF LU<>3 THEN CC=LEN(S1$(CARD)):CCC=LEN(S2$(CARD)) 2040 IF SIDE=1 THEN WW=40-CC:HH=WW/2:LOCATE 4,21+HH:PRINT S1$(CARD) ELSE WW=40-CCC:HH=WW/2:LOCATE 4,21+HH:PRINT S2$(CARD) 2050 LOCATE 4,61:PRINT CHR$(179) 2060 GOSUB 2860 2070 LOCATE 8,20:PRINT "ENTER OTHER SIDE OF CARD." 2080 LOCATE 23,20:PRINT "TYPE IN {END} FOR SCORE AND TO END TEST." 2090 LOCATE 11,21:INPUT "",AAW$ 2100 IF AAW$="END" OR AAW$="end" THEN 2190 2110 IF Q=1 THEN W=LEN(AAW$):Z=40-W:K$=SPACE$(Z):AW$=AAW$+K$ ELSE AW$=AAW$ 2120 S=S+1:IF SIDE=1 THEN 2130 ELSE 2160 2130 IF SIDE=1 AND AW$=S2$(CARD) THEN R=R+1:LOCATE 15,38:PRINT "RIGHT" ELSE H=H+1:LOCATE 15,26:PRINT "WRONG,THE ANSWER IS AS FOLLOWS" 2140 IF AW$<>S2$(CARD) THEN LOCATE 17,30:PRINT S2$(CARD) 2150 GOTO 1920 2160 IF SIDE=2 AND AW$=S1$(CARD) THEN R=R+1:LOCATE 15,38:PRINT "RIGHT" ELSE H=H+1:LOCATE 15,26:PRINT "WRONG,THE ANSWER IS AS FOLLOWS" 2170 IF AW$<>S1$(CARD) THEN LOCATE 17,30:PRINT S1$(CARD) 2180 GOTO 1920 2190 WIDTH 40:CLS:LOCATE 8,11,0:PRINT R;"RIGHT ";H;"WRONG" 2200 FOR L=1 TO 4000:NEXT L:RETURN 2210 ' * * * Editing cards * * * 2220 LOCATE 23,1:INPUT "WHAT CARD DO YOU WANT TO EDIT.";E 2230 LOCATE 1,1:PRINT "CARD";E;" SIDE ONE" 2240 PRINT S1$(E) 2250 PRINT "CARD";E;" SIDE TWO" 2260 PRINT S2$(E) 2270 LOCATE 23,1:PRINT SPACE$(39):LOCATE 23,1:INPUT "ENTER SIDE TO BE EDITED.";W 2280 IF W=0 THEN RETURN 2290 IF W=1 THEN 2300 ELSE 2340 2300 LOCATE 23,1:PRINT "ENTER NEW DATA FOR CARD. ";S1$(E) 2310 INPUT S1$(E) 2320 K=40-LEN(S1$(E)):IF Q=1 THEN S1$(E)=S1$(E)+SPACE$(K) 2330 RETURN 2340 LOCATE 23,1:PRINT "ENTER NEW DATA FOR CARD. " 2350 INPUT S2$(E) 2360 K=40-LEN(S2$(E)):IF Q=1 THEN S2$(E)=S2$(E)+SPACE$(K) 2370 RETURN 2380 ' * * * Lists whats in file * * * 2390 CLS:LOCATE 9,14:PRINT "TURN ON PRINTER" 2400 LOCATE 12,15:PRINT "INSERT PAPER" 2410 LOCATE 23,6:PRINT "{P} FOR PRINTER {S} FOR SCREEN" 2420 LOCATE 21,9:PRINT "PRESS {C} FOR CHEAT NOTES" 2430 A$=INKEY$:IF A$="" THEN 2420 ELSE IF A$="P" THEN ZA=1 ELSE IF A$="C" THEN ZA=2 2440 IF N=0 THEN 2450 ELSE X=N:GOTO 2460 2450 IF X=0 THEN X=N-1 2460 CLS:GOSUB 3120:WIDTH 80 2470 FOR L=1 TO X:YY=0 2480 PRINT "NO.";L;" SIDE 1 ";S1$(L) 2490 YY=YY+1 2500 BB$=MID$(S1$(L),40-YY,1):IF BB$=" " THEN 2490 ELSE SS1$(L)=LEFT$(S1$(L),40-YY) 2510 IF ZA=2 THEN LPRINT CHR$(27)"1";CHR$(15);CHR$(27)"S"CHR$(1);SS1$(L)+"-"+S2$(L) 2520 IF ZA=1 THEN LPRINT CHR$(13);:LPRINT "NO.";L;" SIDE 1 ";S1$(L) 2530 PRINT "NO.";L;" SIDE 2 ";S2$(L) 2540 IF ZA=1 THEN LPRINT "NO.";L;" SIDE 2 ";S2$(L) 2550 PRINT :T=T+1:IF T=7 OR L=X THEN LOCATE 23,30,0:PRINT "PRESS SPACEBAR TO CONTINUE.":T=0 ELSE GOTO 2570 2560 A$=INKEY$:IF A$=" " THEN CLS:GOTO 2570 ELSE 2560 2570 NEXT L 2580 WIDTH 40:IF X=0 THEN LOCATE 11,17,0:PRINT "NO CARDS":FOR TT=1 TO 2000:NEXT TT 2590 RETURN 2600 ' * * * Options * * * 2610 CLS:WIDTH 40:GOSUB 2760 2620 LOCATE 2,16:COLOR 21:PRINT "Flash Card":COLOR 15 2630 LOCATE 7,14:PRINT "[1] MAKE CARDS" 2640 LOCATE 9,14:PRINT "[2] SAVE CARDS" 2650 LOCATE 11,14:PRINT "[3] TEST CARDS 2660 LOCATE 13,14:PRINT "[4] LOAD CARDS" 2670 LOCATE 15,14:PRINT "[5] EDIT CARDS 2680 LOCATE 17,14:PRINT "[6] LIST CARDS 2690 LOCATE 21,11:PRINT "[Esc] END PROGRAM" 2700 LOCATE 23,8,0:PRINT "ENTER OPTION TO CONTINUE." 2710 O$=INKEY$:IF O$=CHR$(27) THEN CLS:END ELSE IF VAL(O$)<1 OR VAL(O$)>7 THEN 2710 2720 CLS:ON VAL(O$) GOSUB 1280,1340,1790,1570,2220,2380,2380 2730 GOTO 2600 2740 END 2750 ' * * * Makes title outline * * * 2760 P=0:R=0:H=0 2770 COLOR 10:CLS:LOCATE 1,13:PRINT CHR$(201)+STRING$(14,205)+CHR$(187) 2780 FOR U=2 TO 3:LOCATE U,13:PRINT CHR$(186):LOCATE U,28:PRINT CHR$(186):NEXT 2790 LOCATE 3,13:PRINT CHR$(200)+STRING$(14,205)+CHR$(188) 2800 RETURN 2810 ' * * * Makes cards outline * * * 2820 LOCATE 2,20:PRINT CHR$(218)+STRING$(40,196)+CHR$(191) 2830 FOR V=3 TO 5:LOCATE V,20:PRINT CHR$(179):LOCATE V,61:PRINT CHR$(179):NEXT V 2840 LOCATE 6,20:PRINT CHR$(192)+STRING$(40,196)+CHR$(217) 2850 RETURN 2860 LOCATE 9,20:PRINT CHR$(218)+STRING$(40,196)+CHR$(191) 2870 FOR V=10 TO 12:LOCATE V,20:PRINT CHR$(179):LOCATE V,61:PRINT CHR$(179):NEXT V 2880 LOCATE 13,20:PRINT CHR$(192)+STRING$(40,196)+CHR$(217) 2890 RETURN 2900 ' * * * Save and load dirctions * * * 2910 LOCATE 10,13:PRINT "INSERT DATA DISK" 2920 LOCATE 23,8:PRINT "PRESS SPACEBAR TO CONTINUE." 2930 A$=INKEY$:IF A$=" " THEN RETURN ELSE 2930 2940 ' * * * Checks to see if file is used * * * 2950 CLS:GOSUB 2750:COLOR 21:LOCATE 2,16:PRINT "File check":COLOR 15 2960 ON ERROR GOTO 2980 2970 NAME FF$ AS FF$ 2980 Z=ERR:RESUME 2990 2990 ON ERROR GOTO 0 3000 IF Z=53 THEN 3110 ELSE IF Z<>58 THEN PRINT "UNEXPECTED ERROR";ERR:STOP 3010 LOCATE 6,9:PRINT "FILE ";F$" ALREADY EXISTS." 3020 LOCATE 9,10:PRINT "[1] ENTER ANOTHER NAME" 3030 LOCATE 11,10:PRINT "[2] SAVE FILE" 3040 LOCATE 13,10:PRINT "[3] MENU" 3050 LOCATE 21,11:PRINT "[Esc] END PROGRAM" 3060 LOCATE 23,8,0:PRINT "ENTER OPTION TO CONTINUE." 3070 O$=INKEY$:IF O$=CHR$(27) THEN CLS:END ELSE IF VAL(O$)<1 OR VAL(O$)>3 THEN 3070 3080 CLS:ON VAL(O$) GOSUB 1340,3110,2600 3090 GOTO 3110 3100 KILL "fF$":X=0 3110 RETURN 3120 ' * * * ABC TO LIST * * * 3130 LOCATE 11,14:PRINT "Getting Cards" 3140 FOR I=1 TO X-1 3150 FOR J=I TO X 3160 IF S1$(J)