Home » Personal collection » Commodore tapes » Commodore_16 » drawer_br_tape02b_c16_basic1.wav » unit5quiz
unit5quiz
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
| Tape/disk: | Home » Personal collection » Commodore tapes » Commodore_16 » drawer_br_tape02b_c16_basic1.wav |
| Filename: | unit5quiz |
| Read OK: | ✔ |
| File size: | 0D31 bytes |
| Load address: | 1001 |
| Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Personal collection » Commodore tapes » Commodore_16 » drawer_br_tape02a_c16_basic1.wav » unit5quiz
- Personal collection » Commodore tapes » Commodore_16 » drawer_br_tape02b_c16_basic1.wav » unit5quiz
File contents
10 REM UNIT5QUIZ64
20 REM COPYRIGHT (C) ANDREW COLIN 1982
25 COLOR0,2:COLOR4,15,4:PRINT"<black>"
30 PRINT"<clr><cursor down><black> QUESTION AND ANSWER PROGRAM."
40 PRINT:PRINT" AT ALL TIMES, HIT ANY KEY TO"
50 PRINT" GET THE NEXT QUESTION"
60 PRINT:PRINT" ALWAYS FOLLOW YOUR REPLY
70 PRINT" WITH THE RETURN KEY"
80 PRINT:PRINT:PRINT" GOOD LUCK!"
90 FORJ=1TO12:READY$:NEXT
100 READN
110 DIMZ(N)
120 FORJ=1TON:Z(N)=0:NEXT
130 SC=0
140 FORJ=1TON
150 IFZ(J)>=0THEN 220
160 NEXTJ
170 PRINT"<red><clr><cursor down> YOU SCORED";SC
180 PRINT:PRINT" QUESTIONS RIGHT FIRST"
190 PRINT:PRINT" TIME OUT OF";N
200 PRINT:PRINT" THIS IS";INT(100*SC/N+0.5);"PERCENT"
210 END
220 D=1+INT(N*RND(1))
230 IF Z(D)=-1THEN220
240 C=Z(D)+1
250 GOSUB510
260 FORT=1TO3
265 POKE 239,0
270 GETA$:IFA$=""THEN270
280 GOSUB370
290 GOSUB590
300 GOSUB850
310 IFR=1ANDT=1ANDZ(D)=0THEN SC=SC+1
320 IF R=1 AND T=1 THENZ(D)=-1:GOTO360
330 IF R=1 THEN 350
340 NEXTT
350 Z(D)=Z(D)+1:GOTO140
360 GOTO140
370 PRINT"<clr>"
380 PRINT"<clr>"
390 FORJ=0TO39:POKE3072+J,160:POKE 2048+J,C:NEXT
400 FORJ=0TO920STEP40:POKE3151+J,160:POKE 2127+J,C:NEXT
410 FORJ=39TO0STEP-1:POKE4032+J,160:POKE 3008+J,C:NEXT
420 FORJ=920TO0STEP-40:POKE3112+J,160:POKE 2088+J,C:NEXT
430 W=2:IFLEN(X$)>120THENW=1
440 P=1:J=3: K=3
450 A$=MID$(X$,P,1):P=P+1
460 IFA$="#"THEN 500
470 IFA$="%"THENJ=J+W:K=3:GOTO450
480 POKE3072+40*J+K,ASC(A$)AND 63:POKE 2048+40*J+K,15:K=K+1
490 GOTO450
500 RETURN
510 RESTORE
520 FORJ=1TO12:READX$:NEXT
530 READN
540 FORJ=1TOD
550 READX$:READY$
560 X$=X$+Y$:READY$
570 NEXT J
580 RETURN
590 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><flash on>▒<flash off><cursor left>";
600 A$=""
605 POKE 239,0
610 GETQ$:IFQ$=""THEN 610
620 IFASC(Q$)<>20 THEN650
630 IFA$=""THEN610
640 PRINT"<cursor left><flash on>▒<flash off> <cursor left><cursor left>";:A$=LEFT$(A$,LEN(A$)-1):GOTO610
650 IFASC(Q$)=13 THEN PRINT" ":GOTO 690
660 IF Q$<"0" OR (Q$>"9" AND Q$<"A")OR Q$>"Z" THEN 610
670 PRINTQ$;"<flash on>▒<flash off><cursor left>";
680 A$=A$+Q$:GOTO610
690 P=LEN(A$):IF P=0THEN590
700 IFASC(RIGHT$(A$,1))<>32THEN730
710 A$=MID$(A$,1,P-1)
720 GOTO690
730 IF LEFT$(Y$,1)<>"%"THEN780
740 P=2
750 IFMID$(Y$,P,1)<>"-"THENP=P+1:GOTO750
760 IFVAL(A$)>=VAL(MID$(Y$,2,P-1))ANDVAL(A$)<=VAL(MID$(Y$,P+1,LEN(Y$))) THEN840
770 R=0:RETURN
780 P=1
790 IFMID$(Y$,P,1)="#"THEN770
800 Q=P
810 IFMID$(Y$,Q,1)<>"%"THENQ=Q+1:GOTO810
820 IFMID$(Y$,P,Q-P)=A$THEN840
830 P=Q+1:GOTO790
840 :R=1:RETURN
850 RESTORE
860 S=6*(1-R)+INT(6*RND(1))+1
870 FORJ=1TOS:READZ$:NEXT
880 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right>";Z$
890 IFT<=2 THEN GOTO960
900 PRINT"<cursor right><cursor right>THE RIGHT ANSWER IS":PRINT"<cursor right><cursor right>";
910 IF LEFT$(Y$,1)="%"THEN950
920 P=1
930 IFMID$(Y$,P,1)="%"THENGOTO960
940 PRINTMID$(Y$,P,1);:P=P+1:GOTO930
950 PRINTMID$(Y$,2,LEN(Y$)):GOTO960
960 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right> NOW TYPE ANY KEY":RETURN
970 X$="ABCD"
980 INPUTY$
990 IFX$=Y$THEN1010
1000 PRINT"NO":GOTO970
1010 PRINT"YES"
1020 STOP
1030 DATAYES,CORRECT,RIGHT,GOOD,"THAT'S RIGHT",OK
1040 DATANO,WRONG,"THAT'S WRONG",NOT RIGHT,"NO-THAT'S WRONG",INCORRECT
1050 DATA9
1060 DATA" IS% X+1=X% A LEGAL BASIC COMMAND?","% A) YES% B) NO%#"
1070 DATA"B%N%NO%#"
1080 DATA" HOW FAST IS THE COMMODORE 16%%(COMMANDS PER SECOND)%%A ROUGH FIGURE
1090 DATA" WILL DO%#","%50-150#"
1100 DATA" HOW MANY COMMANDS CAN THE%%MACHINE REMEMBER AT THE SAME TIME?%%A) A
1110 DATA"S MANY AS YOU NEED%%B) TEN%%C) AS MANY AS FIT IN THE STORE%%#","C%#"
1120 DATA"COMMANDS ARE KEPT%%A) IN THE ORDER THEY ARE TYPED%B) IN ASCENDING SEQU"
1130 DATA"ENCE% OF LABEL NUMBER%C) NEITHER OF THESE%#","B%#"
1140 DATA" EVERY LABEL NUMBER MUST END%WITH A ZERO.%% TRUE OR FALSE ?%"
1150 DATA"%#","FALSE%F%#"
1160 DATA"HOW CAN YOU SLOW THE COMPUTER DOWN?%%A) BY TYPING R U N VERY SLOWLY%%"
1170 DATA"B) WITH THE COMMODORE KEY%%C) BY HOLDING DOWN SPACE %%#","B%COMMODORE%#"
1180 DATA" A SEMICOLON AFTER A STRING%MEANS%A) START A NEW LINE%B) DON'T ST"
1190 DATA"ART A NEW LINE%C) RESTART THE PRESENT LINE%%#","B%#"
1200 DATA" A VARIABLE CAN HOLD%A) JUST ONE VALUE%B) MANY VALUES,ONE AFTER"
1210 DATA"%THE OTHER%C) MANY VALUES AT THE SAME TIME%#","B%#"
1220 DATA" IS%% LET G = G + 5%%A PROPER BASIC COMMAND ?%"
1230 DATA"A) YES%B) NO%#","A%YES%Y%TRUE%#"
� UNIT5QUIZ64 9 � COPYRIGHT (C) ANDREW COLIN 1982 O �0,2:�4,15,4:�"�"