167 lines
6.5 KiB
QBasic
167 lines
6.5 KiB
QBasic
1 REM--ROGER VAN SCOY
|
|
2 REM--COUNTER
|
|
19 D1=53392
|
|
20 W=0:KEY=57088
|
|
21 DEF FNZ(F)=55-INT(LOG(F)/LOG(2)-.5)
|
|
22 POKE530,1
|
|
25 DIMC(25):FORX=1TO25:READC(X):NEXT
|
|
27 DIMA(23):FORX=1TO23:READA(X):NEXT
|
|
29 DIMB(19):FORX=1TO19:READB(X):NEXT
|
|
30 DIMD(24):FORX=1TO24:READD(X):NEXT
|
|
33 FORX=1TO34:PRINT:NEXT
|
|
35 PRINT"HI, WHAT'S YOU'RE NAME":INPUTN$
|
|
40 FORX=1TO34:PRINT:NEXT
|
|
50 A=53991:P=53487:C=54032:B=P+7*64:D=54181:CN=0
|
|
70 R=ASC(N$)
|
|
75 PRINT"TODAY, ";N$
|
|
80 PRINT"WE'LL PRACTICE"
|
|
85 PRINT"COUNTING TO TEN!!!"
|
|
90 FORX=1TO14:PRINT:NEXT
|
|
91 POKE54117,32
|
|
94 FORX=1TO4000:NEXT
|
|
95 FORX=53530TO53700:POKEX,32:NEXT
|
|
97 GOSUB6000:GOTO1150
|
|
100 REM---ONE
|
|
110 Z=P+1:FORX=ZTOZ+6*64STEP64:POKEX,49:NEXT
|
|
120 POKEZ+63,49:POKEZ+6*64-1,49:POKEZ+6*64+1,49
|
|
130 POKEB,79:POKEB+1,78:POKEB+2,69
|
|
135 POKEC,9:POKEC+1,10
|
|
140 RETURN
|
|
200 REM---TWO
|
|
210 POKEP+63,50:FORX=PTOP+2:POKEX,50:NEXT
|
|
220 Z=P+3:POKEZ+64,50:POKEZ+128,50
|
|
230 Z=Z+192:POKEZ-1,50:POKEZ-2,50:Z=Z+61:POKEZ,50
|
|
240 Z=Z+63:POKEZ,50:Z=Z+64:FORX=ZTOZ+4:POKEX,50:NEXT
|
|
250 POKEB,84:POKEB+1,87:POKEB+2,79
|
|
260 POKEC-2,181:POKEC-1,182:POKEC,32:POKEC+1,181:POKEC+2,182
|
|
270 RETURN
|
|
300 FORX=1TO300
|
|
320 FORX=P+1TOP+5:POKEX,51:NEXT
|
|
330 Z=P+69:POKEZ,51:POKEZ+63,51:POKEZ+127,51:POKEZ+126,51:Z=Z+192
|
|
340 POKEZ,51:POKEZ+64,51
|
|
350 Z=Z+128:FORX=Z-1TOZ-3STEP-1:POKEX,51:NEXT:POKEZ-68,51
|
|
360 POKEB+1,84:POKEB+2,72:POKEB+3,82:POKEB+4,69:POKEB+5,69
|
|
370 POKEC-2,214:POKEC-1,211:POKEC,32:POKEC+1,214:POKEC+2,211
|
|
380 POKEC+4,214:POKEC+5,211
|
|
390 RETURN
|
|
400 REM---FOUR
|
|
410 Z=P+2:FORX=ZTOZ+6*64STEP64:POKEX,52:NEXT
|
|
420 Z=Z+62:POKEZ+1,52:POKEZ+64,52:Z=Z+127:POKEZ,52:Z=Z+64
|
|
430 FORX=ZTOZ+4:POKEX,52:NEXT
|
|
440 POKEB,70:POKEB+1,79:POKEB+2,85:POKEB+3,82
|
|
450 POKEC-4,7:POKEC-3,8:POKEC-2,32:POKEC-1,7:POKEC,8:POKEC+1,32
|
|
460 POKEC+2,7:POKEC+3,8:POKEC+4,32:POKEC+5,7:POKEC+6,8
|
|
470 RETURN
|
|
500 REM---FIVE
|
|
510 FORX=PTOP+4:POKEX,53:NEXT:Z=P+128:POKEZ-64,53
|
|
520 FORX=ZTOZ+3:POKEX,53:NEXT:Z=Z+68:FORX=ZTOZ+128STEP64:POKEX,53:NEXT
|
|
530 Z=Z+191:FORX=ZTOZ-2STEP-1:POKEX,53:NEXT:POKEZ-67,53
|
|
540 POKEB,70:POKEB+1,73:POKEB+2,86:POKEB+3,69
|
|
550 FORX=C-4TOC+8:POKEX,32:NEXT:POKEC-4,0:POKEC-2,0:POKEC,0:POKEC+2,0
|
|
560 POKEC+4,0:RETURN
|
|
600 REM---SIX
|
|
610 Z=P+2:FORX=ZTOZ+2:POKEX,54:NEXT:POKEZ+63,54:Z=Z+126
|
|
620 FORX=ZTOZ+192STEP64:POKEX,54:NEXT:Z=Z+64
|
|
630 FORX=ZTOZ+3:POKEX,54:NEXT
|
|
640 Z=Z+68:POKEZ,54:POKEZ+64,54:Z=Z+127
|
|
650 FORX=ZTOZ-2STEP-1:POKEX,54:NEXT
|
|
660 POKEB+1,83:POKEB+2,73:POKEB+3,88
|
|
670 FORX=C-4TOC+4:POKEX,32:NEXT
|
|
680 POKEC-4,15:POKEC-2,15:POKEC,15:POKEC+2,15:POKEC+4,15
|
|
690 POKEC+60,15:RETURN
|
|
700 REM---SEVEN
|
|
710 FORX=PTOP+4:POKEX,55:NEXT:POKEP+68,55:POKEP+131,55:POKEP+194,55
|
|
720 FORX=P+1+4*64TOP+1+6*64STEP64:POKEX,55:NEXT
|
|
730 POKEB,83:POKEB+1,69:POKEB+2,86:POKEB+3,69:POKEB+4,78
|
|
740 POKEC-4,236:POKEC-2,236:POKEC,236:POKEC+2,236:POKEC+4,236
|
|
750 POKEC+60,236:POKEC+62,236:RETURN
|
|
800 REM---EIGHT
|
|
810 Z=P+1:FORX=ZTOZ+2:FORX1=Z+192TOZ+194:FORX2=Z+384TOZ+386
|
|
820 POKEX,56:POKEX1,56:POKEX2,56:NEXTX2:NEXTX1:NEXTX
|
|
830 Z=P+64:POKEZ,56:POKEZ+4,56:POKEZ+64,56:POKEZ+68,56
|
|
840 Z=P+256:POKEZ,56:POKEZ+4,56:POKEZ+64,56:POKEZ+68,56
|
|
850 POKEB,69:POKEB+1,73:POKEB+2,71:POKEB+3,72:POKEB+4,84
|
|
860 POKEC-4,248:POKEC-2,248:POKEC,248:POKEC+2,248:POKEC+4,248
|
|
870 POKEC+60,248:POKEC+62,248:POKEC+64,248:RETURN
|
|
900 REM---NINE
|
|
910 Z=P+1:FORX=ZTOZ+2:POKEX,57:NEXT
|
|
920 Z=Z+67:FORX=ZTOZ+196STEP64:POKEX,57:NEXT
|
|
930 POKEP+64,57:POKEP+128,57:Z=P+193:FORX=ZTOZ+2:POKEX,57:NEXT
|
|
940 Z=P+6*64:FORX=ZTOZ+2:POKEX,57:NEXT:POKEZ-61,57
|
|
950 POKEB,78:POKEB+1,73:POKEB+2,78:POKEB+3,69
|
|
960 POKEC-4,16:POKEC-2,17:POKEC,18:POKEC+2,19:POKEC+4,20
|
|
970 POKEC+60,20:POKEC+62,19:POKEC+64,18:POKEC+66,17:RETURN
|
|
1000 REM---TEN
|
|
1005 Z=P-3:FORX=ZTOZ+6*65STEP64:POKEX,49:NEXT
|
|
1010 POKEZ+63,49:POKEZ+6*64-1,49:POKEZ+6*64+1,49
|
|
1020 Z=P+1:Z1=Z+6*64:FORX=ZTOZ+2:FORX1=Z1TOZ1+2:POKEX,48:POKEX1,48
|
|
1030 NEXTX1:NEXTX
|
|
1040 Z=P+64:Z1=P+68:FORX=ZTOZ+256STEP64:FORX1=Z1TOZ1+256STEP64
|
|
1050 POKEX,48:POKEX1,48:NEXTX1:NEXTX
|
|
1060 POKEB-1,84:POKEB,69:POKEB+1,78:V=240
|
|
1080 POKEC-4,V:POKEC-2,V:POKEC,V:POKEC+2,V:POKEC+4,V
|
|
1090 FORX=60TO68STEP2:POKEX+C,V:NEXT:RETURN
|
|
1095 RETURN
|
|
1150 FORX=C-4TOC+8:POKEX,32:NEXT:FORX=C+60TOC+68:POKEX,32:NEXT
|
|
1170 FORX=1TO23:POKED+X,A(X):NEXT
|
|
1180 FORX=1TO5000:NEXT:FORX=1TO28:POKED+X,32:NEXT:FORE=1TO25
|
|
1190 FORX=1TO19:POKED+X,B(X):NEXTX:FORX=20TO24:POKED+X,32:NEXTX
|
|
1200 R1=INT(25*RND(R))+1:R2=INT(9*RND(R))+1
|
|
1300 FORX=ATOA+2*R2STEP2:POKEX,C(R1):NEXT
|
|
1325 GOSUB2000:R3=R2+1
|
|
1330 IFW=0THEN1325
|
|
1375 IFW=R3THENCN=CN+1:GOSUB7000
|
|
1400 IFW<>R3THENFORX=1TO1000:GOSUB7500
|
|
1500 IFR3=1THENGOSUB100:GOSUB5000:GOSUB8000
|
|
1510 IFR3=2THENGOSUB200:GOSUB5000:GOSUB8000
|
|
1520 IFR3=3THENGOSUB300:GOSUB5000:GOSUB8000
|
|
1530 IFR3=4THENGOSUB400:GOSUB5000:GOSUB8000
|
|
1540 IFR3=5THENGOSUB500:GOSUB5000:GOSUB8000
|
|
1550 IFR3=6THENGOSUB600:GOSUB5000:GOSUB8000
|
|
1560 IFR3=7THENGOSUB700:GOSUB5000:GOSUB8000
|
|
1570 IFR3=8THENGOSUB800:GOSUB5000:GOSUB8000
|
|
1580 IFR3=9THENGOSUB900:GOSUB5000:GOSUB8000
|
|
1590 IFR3=10THENGOSUB1000:GOSUB5000:GOSUB8000
|
|
1595 FORX=D1TOD1+7:POKEX,32:NEXT
|
|
1600 POKED+21,32:POKED+22,32:W=0:NEXTE
|
|
1800 FORX=0TO24:POKEX+D,32:NEXT
|
|
1850 PRINTN$;"YOU GOT"
|
|
1900 PRINTCN;"RIGHT OUT OF 25"
|
|
1950 PRINT"QUESTIONS!!":END
|
|
2000 POKEKE,127:F=255-PEEK(KE)
|
|
2117 IFF=0THEN2500
|
|
2150 IFF=128THENPOKED+21,49:W=1:GOSUB3000:RETURN
|
|
2200 POKED+21,FNZ(F):W=FNZ(F)-48:RETURN
|
|
2500 POKEKE,191:F=255-PEEK(KE)
|
|
2800 IFF=0THEN2000
|
|
2850 IFF<64THEN2000
|
|
2900 POKED+21,FNZ(F)+7:W=FNZ(F)-41:RETURN
|
|
3000 FORX=1TO100
|
|
3100 POKEKE,128:F=254-PEEK(KE)
|
|
3200 IFF=32THENPOKED+22,48:W=10:RETURN
|
|
3300 NEXT:RETURN
|
|
4900 DATA0,1,14,15,16,17,18,19,20,21,22,23,169,170,176,177,229
|
|
4950 DATA232,236,240,248,246,238,239,237
|
|
4960 DATA73,84,39,83,32,89,79,85,82,32,84,85,82,78,32,84,79,32
|
|
4970 DATA67,79,85,78,84
|
|
4980 DATA72,79,87,32,77,65,78,89,32,65,82,69,32,84,72,69,82,69,63
|
|
4990 DATA87,82,79,78,71,44,32,84,72,69,32,65,78,83,87,69,82,32
|
|
4991 DATA73,83,32,32,32,46
|
|
5000 FORX=1TO4000:NEXT:FORX=P-10TOP+480:POKEX,32:NEXT:RETURN
|
|
6000 GOSUB100:GOSUB5000:GOSUB200:GOSUB5000:GOSUB300:GOSUB5000
|
|
6100 GOSUB400:GOSUB5000:GOSUB500:GOSUB5000:GOSUB600:GOSUB5000
|
|
6200 GOSUB700:GOSUB5000:GOSUB800:GOSUB5000:GOSUB900:GOSUB5000
|
|
6300 GOSUB1000:GOSUB5000:RETURN
|
|
7000 FORX=-2TO24:POKEA+X,32:NEXT
|
|
7005 POKED1,82:POKED1+1,105:POKED1+2,103:POKED1+3,104:POKED1+4,116
|
|
7010 FORX=5TO7:POKED1+X,33:NEXT
|
|
7100 FORX=P-4+6*64TOP+7*64:POKEX,32:NEXT
|
|
7200 RETURN
|
|
7500 FORX=-2TO24:POKEA+X,32:NEXT
|
|
7505 FORX=1TO24:POKED+X,D(X):NEXT
|
|
7510 IFR3=10THENPOKED+22,49:POKED+23,48:GOTO7550
|
|
7520 POKED+22,R3+48
|
|
7550 FORX=P-4+6*64TOP+7*64:POKEX,32:NEXT
|
|
7700 RETURN
|
|
8000 FORX=-4TO8:POKEC+X,32:NEXT:FORX=60TO68:POKEC+X,32:NEXT
|
|
8100 RETURN
|