Home » Personal collection » Commodore tapes » Commodore_16 » drawer_br_tape02b_c16_basic1.wav » unit4drill
unit4drill
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: | unit4drill |
| Read OK: | ✔ |
| File size: | 0D0D 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 » unit4drill
- Personal collection » Commodore tapes » Commodore_16 » drawer_br_tape02b_c16_basic1.wav » unit4drill
File contents
1 REM COPYRIGHT (C) ANDREW COLIN 1982
2 REM UNIT4DRILL(64)
3 PRINT"<home><home><clr><cursor down>"SPC(9)CHR$(27)"T":REM ***SET TEMP WINDOW
4 COLOR0,2:COLOR4,15,4:PRINT"<black>"
5 PRINT"<clr><black>PLEASE SUPPLY A":PRINT"LEVEL OF DIFFICULTY"
6 PRINT"(1 IF YOU ARE TRYING":PRINT"FOR THE 1ST. TIME)":INPUTDM
7 IFDM>0AND DM<9 THEN 9
8 PRINT"RANGE WRONG.TRY AGAIN":INPUTDM:GOTO7
9 DIMS%(15),S$(15)
10 FORBB=1TO20
11 U$=CHR$(34):D$=CHR$(32)
12 P=1:D=1:IFDM<1 THEN DM=1
13 PRINT"<home><home><clr>"CHR$(27)"M";MID$("<white><red><cyan><purple><green><blue><yellow><orange><brown><pink><dark gray><medium gray><light green><light blue><light gray>",DM,1);"<cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><reverse on> "
14 FORJ=1TO23:PRINT"<cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><reverse on> <rev off> <reverse on> "
15 NEXTJ
16 PRINT"<cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><reverse on> <black>":PRINT"<home>"CHR$(27)"L";
17 REM *** SET WINDOW TO WITHIN PRINTED BORDER***
18 PRINT"<cursor down>"SPC(9)CHR$(27)"T<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 down>"SPC(21)CHR$(27)"B"
19 U$=CHR$(34):D$=CHR$(32)
20 P=1:D=1
22 PRINT"<home><cursor down> LEVEL OF DIFFICULTY":PRINT" = ";DM
23 PRINT"<cursor down> TYPE IN EXACTLY":PRINT" WHAT THE FOLLOWING"
25 PRINT" PRINT COMMAND WOULD"
26 PRINT" GIVE : -":PRINT" FOLLOW IT WITH"
27 PRINT" RETURN":PRINT
30 FORJ=1TO10:N%(J)=0:N$(J)="":M(J)=0:M$(J)="":MS$="":NEXT
35 Q$="+"+U$+" "+U$+"+"
36 A$="+"+U$+"&"+U$+"+"
40 P$="PRINT ":W$=""
50 IF RND(1)<0.5 THEN 70
60 GOSUB1000
65 P$=P$+X$:W$=W$+STR$(X)+D$:IFX<-100ORX>100THEN20
66 GOTO80
70 GOSUB2000:P$=P$+X$:W$=W$+Y$
80 IF RND(1)>.5ORD>=DMTHEN130
90 P$=P$+";"
100 IFRND(1)<.5THEN120
105 GOSUB1000
110 P$=P$+X$:W$=W$+STR$(X):IFX<-100ORX>100THEN20
115 GOTO130
120 GOSUB2000:P$=P$+X$:W$=W$+Y$
130 REM
140 FORE=20TO1STEP-1
150 FORJ=1TO10
160 IFN%(J)=ETHENPRINTN$(J)
170 IFM(J)=ETHEN PRINTM$(J)
180 NEXTJ,E
190 PRINT:PRINTP$
200 G$="":PRINT;
201 GETH$:A=RND(1):IFH$=""THEN201
202 IFASC(H$)=13THEN210
203 IFASC(H$)<>20THEN 206
204 IFLEN(G$)=0THEN201
205 G$=MID$(G$,1,LEN(G$)-1):PRINT"<cursor left> <cursor left>";:GOTO201
206 PRINT H$;:G$=G$+H$:GOTO201
210 J=LEN(G$):IFRIGHT$(G$,1)=D$THENG$=MID$(G$,1,J-1):GOTO210
220 K=LEN(W$):IFRIGHT$(W$,1)=D$THENW$=MID$(W$,1,K-1):GOTO220
230 IFG$=W$THEN400
240 GG$=""
250 FORL=1TOJ
260 IFMID$(G$,L,1)<>D$THENGG$=GG$+MID$(G$,L,1)
270 NEXT L
280 WW$=""
290 FORL=1TOK
300 IFMID$(W$,L,1)<>D$THENWW$=WW$+MID$(W$,L,1)
310 NEXTL
320 IFGG$=WW$THEN 600
330 PRINT:PRINT"WRONG. THE ANSWER IS"
340 PRINTW$
345 IF DM>0.25THENDM=DM-0.25
350 PRINT"<cursor down>HIT ANY KEY TO GO ON"
360 GETA$:IFA$=""THEN360
370 GOTO900
400 PRINT:PRINT"THAT'S RIGHT!"
410 IFDM<9THENDM=DM+0.25
420 GOTO350
600 PRINT"<cursor down>CORRECT EXCEPT FOR":PRINT"SPACING. THE RIGHT"
610 PRINT"ANSWER IS";W$
620 GOTO350
900 NEXTBB
910 PRINT"<clr><cursor down><cursor down><cursor down>IN 20 PROBLEMS YOUR":PRINT"LEVEL OF DIFFICULTY"
915 PRINT"HAS RISEN TO";DM
920 PRINT"ENTER IT NEXT TIME":PRINT"YOU RUN THIS PROGRAM"
925 PRINT"<home><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>"
930 END
1000 IFRND(1)<.7ANDD<DMTHEND=D+1:GOTO1030
1010 IF RND(1)<0.7 AND D<DM THEN D=D+1:GOTO1030
1020 GOSUB1500:RETURN
1030 GOSUB1500:XX$=X$:XX=X
1040 GOSUB1500
1050 IFRND(1)>0.6 THEN 1070
1060 X$=XX$+"+"+X$:X=XX+X:D=D-1:RETURN
1070 IFRND(1)<0.5THEN1090
1080 X$=XX$+"-"+X$:X=XX-X:RETURN
1090 X$=XX$+"*"+X$:X=XX*X:D=D-1:RETURN
1500 IFRND(1)<.5ANDD<DMTHEND=D+1:GOTO1600
1510 IFRND(1)<.5ANDD<DMTHEND=D+1:GOTO1600
1520 X=INT(10*RND(1))
1530 X$=CHR$(X+48):RETURN
1600 V=1+INT(10*RND(1))
1610 V=1+INT(10*RND(1))
1620 IFN%(V)>0ANDN$(V)=""THEN1610
1630 IFN%(V)=0THEN1650
1635 IFN%(V)<DTHEN1610
1640 X$=CHR$(V+64):X=NS%(V):D=D-1:RETURN
1650 N%(V)=D
1660 S%(P)=V:S%(P+1)=XX:S$(P)=XX$:P=P+2
1670 GOSUB1000
1680 P=P-2:V=S%(P):XX=S%(P+1):XX$=S$(P)
1690 NS%(V)=X:N$(V)=CHR$(V+64)+" = "+X$
1700 X$=CHR$(V+64):D=D-1:RETURN
2000 IFRND(1)<.5ANDD<DMTHEND=D+2:GOTO2030
2010 IFRND(1)<0.5AND D<DM THEND=D+2:GOTO2030
2020 GOSUB2500:RETURN
2030 GOSUB2500:XX$=X$:YY$=Y$
2040 GOSUB2500:IFRND(1)<0.5THEN2060
2050 X$=XX$+Q$+X$:Y$=YY$+" "+Y$:RETURN
2060 X$=XX$+A$+X$:Y$=YY$+"&"+Y$:RETURN
2500 IFRND(1)<.5ANDD<DMTHEND=D+2:GOTO2590
2510 IFRND(1)<0.5 ANDD<DMTHEND=D+2:GOTO2590
2520 Y$=CHR$(26*RND(1)+65)
2580 X$=CHR$(34)+Y$+CHR$(34):RETURN
2590 V=1+INT(10*RND(1))
2600 IFM(V)>0ANDM$(V)=""THEN 2590
2610 IFM(V)=0THEN2630
2620 X$=CHR$(V+64)+"$":Y$=MS$(V):RETURN
2630 M(V)=D:S%(P)=V:S$(P)=XX$:S$(P+1)=YY$:P=P+2
2640 GOSUB2000
2650 P=P-2:V=S%(P):XX$=S$(P):YY$=S$(P+1)
2660 MS$(V)=Y$:M$(V)=CHR$(V+64)+"$="+X$
2670 X$=CHR$(V+64)+"$":RETURN
' � COPYRIGHT (C) ANDREW COLIN 1982 < � UNIT4DRILL(64) h �"�"�9)�(27)"T":� ***SET TEMP WINDOW ~ �0,2:�4,15,4:�"�"