8-Bit Software Online Conversion
Test Cards - Listing
10MODE7
20CLEAR
30PROCinit
40REPEAT
50MODE7
60PROCtitle
70:
80RESTORE290
90FORZ%=1TO8
100READZ$
110PRINTTAB(5,Z%+7)Z%"."Z$
120NEXT
130REPEAT
140PROCcol(5,Z%+8,"Enter menu option:"
)
150H%=(GET-48)
160UNTILH%>0ANDH%<Z%
170PRINTTAB(23,Z%+8)H%
180IFH%=1THENPROCedit:GOTO250
190IFH%=2THENPROCload
200IFF%ANDH%=3THENPROCsave
210IFF%ANDH%=4THENPROCtest
220IFF%ANDH%=5THENPROCdelete
230IFF%ANDH%=6THENPROCprint:GOTO250
240IFH%=7THENPROCoscli
250UNTILH%=8
260CALL!-4
270:
280END
290DATAEdit Cards,Load Cards,Save Card
s,Test on cards,Delete Cards,Print Cards
,Issue a * command,Quit
300:
310DEFPROCinit
320REM*FX229,1
330*TV255
340DIMC$(4,100),C%(100)
350A%=0:B%=0:D%=0:F%=0:H%=0:P%=1:R%=0:
S%=0:T%=0:U%=0:V%=0:W%=0:Z%=0
360F$=""
370@%=&000002
380CLS
390ENDPROC
400:
410DEFPROCcol(X%,Y%,C$)
420PRINTTAB(0,Y%)SPC(40)
430PRINTTAB(0,Y%)CHR$130CHR$157CHR$133
TAB(X%,Y%)C$;
440ENDPROC
450:
460DEFPROCtitle
470PRINTTAB(0,0)CHR$146" <"STRING$(34,
",")"4"
480FORZ%=1TO2:PRINTCHR$146CHR$141TAB(2
,Z%)"5"CHR$133TAB(7,Z%)" Public Domain S
oftware"TAB(36,Z%)CHR$146"5":NEXT
490PRINTTAB(0,3)CHR$146" 5"CHR$133TAB(
7,3)"GCSE Multiple Choice Cards"TAB(36,3
)CHR$146"5"
500PRINTTAB(0,4)CHR$146" 5"TAB(37)"5"
510PRINTTAB(0,5)CHR$146" 5"CHR$133TAB(
10)"By James Dallas"TAB(36)CHR$146"5"
520PRINTTAB(0,6)CHR$146" -"STRING$(34,
",")"%"
530ENDPROC
540:
550DEFPROCedit
560P%=T%
570REPEAT
580CLS
590PROCtitle
600PROCcol(3,21," [ - Previous : Next
- ] Card "+STR$(P%))
610PROCcol(3,22,"TAB - Goto card: Quit
- ESC")
620PROCcol(5,8,"Enter question to be a
sked..")
630PROCinput(7,9,"Q) ",30,C$(0,P%)):C$
(0,P%)=T$
640PROCcol(5,11,"Enter the possible an
swers")
650FORI%=1TO3
660PROCinput(7,11+I%,STR$(I%)+") ",30,
C$(I%,P%))
670C$(I%,P%)=T$
680NEXT
690IFC%(P%)=0THENZ$=""ELSEZ$=" "+STR$(
C%(P%))
700PROCcol(5,16,"Which is the correct
answer(1-3)"+Z$)
710REPEAT
720Z%=GET-48:IFZ%=-35THENZ%=4
730IFZ%<4THENC%(P%)=Z%ELSEC%(P%)=C%(P%
)
740UNTILC%(P%)>0ANDC%(P%)<4
750PRINTTAB(37,16)C%(P%)
760PROCnext
770UNTILG%=&1B
780F%=TRUE:T%=P%
790ENDPROC
800:
810DEFPROCnext
820*FX21,0
830*FX229,1
840*FX4,1
850PROCcol(5,18,"Next ......")
860REPEAT
870G%=GET
880UNTILG%=&09ORG%=&1BORG%>&87 ANDG%<&
90
890*FX229,0
900*FX4,0
910IFG%=&09THENPROCn1
920IFG%=&1BTHENP%=P%
930IFG%=&88THENP%=P%-2
940IFG%=&89THENP%=P%
950P%=P%+1
960IFP%<1THENP%=1:IFP%>100THENP%=100
970ENDPROC
980DEFPROCn1
990*FX21,0
1000REPEAT
1010PROCcol(5,18,"Goto which card:")
1020INPUTTAB(23,18)""P%
1030UNTILP%>0ANDP%<T%+2
1040P%=P%-1
1050ENDPROC
1060:
1070DEFPROCinput(U%,V%,Y$,W%,Z$)
1080?&25A=&30
1090PRINTTAB(U%,V%)Y$;Z$;
1100REPEAT
1110G%=GET
1120Z%=LEN(Z$)
1130IFG%=13THENGOTO1200
1140IFG%<32THENGOTO1110
1150IFG%=127ANDZ%=0THENVDU7:GOTO1190
1160IFG%=127THENZ$=LEFT$(Z$,Z%-1):GOTO1
190
1170IFG%<127ANDZ%=W%THENVDU7:GOTO1190
1180Z$=Z$+CHR$G%
1190PRINTTAB(U%+LEN(Y$),V%)SPC(W%)TAB(U
%+LEN(Y$),V%)Z$;
1200UNTILG%=13
1210T$=Z$
1220IFLEN(T$)<1THENT$=""
1230ENDPROC
1240:
1250DEFPROCsave
1260PROCfile("Sav")
1270D%=OPENOUT("C."+T$)
1280FORP%=1TO100
1290PRINT#D%,C%(P%)
1300FORI%=0TO3
1310PRINT#D%,C$(I%,P%)
1320NEXT:NEXT
1330CLOSE#D%
1340P%=T%
1350ENDPROC
1360:
1370DEFPROCload
1380IFNOTF%THEN1410
1390PROCcol(5,Z%+10,"Are you sure(Y/N)"
):G$=GET$:IFG$="Y"ORG$="y"THEN1410
1400ENDPROC
1410PROCfile("Load")
1420D%=OPENUP("C."+T$)
1430IFD%=0THENPRINTTAB(3,19)" File doe
s not exist.":PROCspace:PROCload:ENDPROC
1440FORP%=1TO100
1450INPUT#D%,C%(P%)
1460FORI%=0TO3
1470INPUT#D%,C$(I%,P%)
1480NEXT:NEXT
1490CLOSE#D%
1500F%=TRUE:P%=T%
1510ENDPROC
1520:
1530DEFPROCfile(Z$)
1540CLOSE#0
1550CLS
1560PROCcol(14,0,Z$):PRINT"ing cards"
1570PRINTTAB(0,1)""
1580*INFO C.*
1590PROCcol(5,17,"Enter file name: ")
1600PROCinput(22,17,"",7,F$)
1610IFLEFT$(T$,1)=" "THENT$=RIGHT$(T$,(
LEN(T$)-1)):GOTO1610
1620IFLEN(T$)<2THENGOTO1600
1630VDU23;8202;0;0;0;
1640ENDPROC
1650:
1660DEFPROCtest
1670A%=0:B%=0
1680FORP%=1TO100
1690CLS
1700PROCtitle
1710PROCcol(5,22,"Press 4 to exit to ma
in menu")
1720PROCcol(5,8,"Question : "+C$(0,P%))
1730PROCcol(5,10,"Answers :")
1740FORI%=1TO3
1750PRINTTAB(7,11+I%);I%;") ";C$(I%,P%)
1760NEXT
1770 PROCcol(5,16,"Which one (1-3): ")
1780 REPEAT:INPUTTAB(22,16)""Z%:UNTILZ%
>0ANDZ%<5
1790IFZ%=4THENGOTO1850
1800IFZ%=C%(P%)THENPRINTTAB(5,18)" Corr
ect"ELSEPRINTTAB(5,18)" Wrong"
1810B%=B%+1
1820IFZ%=C%(P%)THENA%=A%+1
1830PROCspace
1840NEXTP%
1850PRINTTAB(4,18)" You got ";A%;" corr
ect out of ";B%;TAB(4,19)" questions."
1860IFA%=B%THENPRINTTAB(3,20)" Well do
ne 100%"
1870PROCspace
1880ENDPROC
1890:
1900DEFPROCspace
1910VDU23;8202;0;0;0;
1920PROCcol(5,22,"Press <SPACE BAR> to
continue.")
1930REPEATUNTILINKEY(-99)
1940*FX21,0
1950ENDPROC
1960:
1970DEFPROCdelete
1980PROCcol(5,Z%+10,"Are you sure?")
1990Z$=GET$
2000IFZ$="Y"ORZ$="y"THENGOTO2010:ELSEEN
DPROC
2010CLEAR
2020RUN
2030ENDPROC
2040:
2050DEFPROCprint
2060REPEAT
2070CLS
2080PROCtitle
2090PROCcol(5,8,"Print which card: (0 t
o quit) ")
2100REPEAT:INPUTTAB(35,8)""P%:UNTILP%>-
1ANDP%<100
2110IFP%=0THENGOTO2250
2120PROCprintercheck
2130VDU2
2140VDU1,27,1,77,1,27,1,71,1,27,1,48,1,
27,1,87,1,1
2150PRINTSTRING$(39,"=")
2160PRINT"Card Number :"P%
2170VDU1,27,1,87,1,0,1,27,1,50
2180PRINT'"Question : "C$(0,P%)
2190PRINT'"Optional Answers:"
2200FORI%=1TO3:PRINTI%;") "C$(I%,P%):NE
XTI%
2210PRINT'"Correct Answer : Number "C%(
P%)
2220VDU1,27,1,77,1,27,1,71,1,27,1,48,1,
27,1,87,1,1
2230PRINTSTRING$(39,"=")
2240VDU3
2250UNTILP%=0
2260ENDPROC
2270:
2280DEFPROCoscli
2290LOCALX%,Y%
2300CLS
2310PROCtitle
2320PRINTTAB(4,9)" Do not use copying o
r compacting"TAB(4,10)" commands as thes
e will corrupt the"TAB(4,11)" memory. Th
ank you"
2330REPEAT
2340INPUT'"*"O$
2350$&700=O$
2360X%=0:Y%=7:CALL&FFF7
2370UNTILO$=""
2380ENDPROC
2390:
2400DEFPROCprintercheck
2410IF FNprintertest ENDPROC
2420REPEAT:*FX15
2430PROCcol(5,8,"Printer is not on line
.")
2440VDU7:X=INKEY(300)
2450PRINTTAB(40,2)SPC(39)
2460UNTIL FNprintertest:ENDPROC
2470:
2480DEF FNprintertest
2490VDU2,1,32,1,127,3:X=INKEY(10)
2500=(ADVAL(-4)=63)