home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
C64Educational
/
MUL-MASTER
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
3KB
|
98 lines
5 POKE 53272,PEEK(53272)OR2: PRINT CHR$(5)
10 PRINT "[147] [215]ELCOME TO [205]ULMASTER"
20 PRINT " [212]HIS PROGRAM WILL TEST YOUR SKILL"
30 PRINT "IN THE MULTIPLICATION TABLES UP TO"
40 PRINT "12 [216] 12. [201]T IS A MULTIPLE CHOICE"
50 PRINT "QUIZ. [211]ELECT YOUR CHOICE BY PRESSING"
60 PRINT "THE APPROPRIATE FUNCTION KEY ON THE "
70 PRINT "RIGHT SIDE OF THE KEYBOARD."
80 PRINT
90 PRINT " [217]OU WILL HAVE 30 SECONDS TO GET"
100 PRINT "AS MANY CORRECT ANSWERS AS YOU CAN."
110 PRINT "[217]OUR SCORE FOR EACH CORRECT ANSWER WILL"
120 PRINT "DEPEND ON THE DEGREE OF DIFFICULTY. [198]OR"
130 PRINT "INSTANCE 7[216]9 IS WORTH MORE THAN 1[216]2."
140 PRINT "[193]S SOON AS YOU PRESS F7[146], YOUR 30 SECONDS"
142 PRINT "WILL BEGIN."
144 PRINT SPC(10)"[208][210][197][211][211][160]F7 [212][207][160][194][197][199][201][206]"
146 GET A$:IF A$=""GOTO 146:IF ASC(A$)<>136 GOTO 146
190 SS=TI: TC=0
200 X=RND(0)
210 NC=0: TS=0
230 X=INT(RND(1)*12)+1:Y=INT(RND(1)*12)+1
235 IF Y=0 AND X=0 GOTO 230
250 X1=X+1: Y1=Y+1: Y2=Y-1
260 R(1)=X*Y: R(2)=X*Y1: R(3)=X*Y2: R(4)=X1*Y
262 IF X=0 THEN R(2)=Y+1:R(3)=Y+3
264 IF Y=0 THEN R(3)=R(2)+1:R(4)=R(3)+1
270 PN=INT(RND(1)*4)+1: REM POSITION OF CORRECT ANSWER
280 J=1: FOR K=1 TO 4
290 IF K=PN THEN PR(K)=R(1):GOTO 310
300 J=J+1: PR(K)=R(J)
310 NEXT
320 PRINT "[147]"
330 PRINT SPC(10) "F1[146] ";PR(1):PRINT
340 PRINT SPC(10) "F3[146] ";PR(2)
345 PRINT SPC(17) ;X;"X";Y
350 PRINT SPC(10) "F5[146] ";PR(3):PRINT
360 PRINT SPC(10) "F7[146] ";PR(4):PRINT
370 POKE 198,0
400 GET A$:IF TI>SS+1800 GOTO 2000
401 IF A$="" GOTO 400
402 N=7+2*(ASC(A$)-132):L=N*40+14
404 POKE 1023+L,122
406 POKE 55295+L,1
408 TC=TC+1
410 IF ASC(A$)-132=PN THEN GOSUB 1000:GOTO 230
440 PRINT SPC(5);"[215][210][207][206][199] [212]HE CORRECT ANSWER IS ";R(1)
450 FOR J=1 TO 10 : FOR K=1 TO 100:NEXT:NEXT
460 GOTO 230
1000 NC=NC+1
1020 IF X>3 GOTO 1050
1030 IF Y<12 THEN TS=TS+1:RETURN
1040 TS=TS+2: RETURN
1050 IF X>6 GOTO 1090
1060 IF Y>6 AND Y<10 THEN TS=TS+2:RETURN
1070 IF Y=12 THEN TS=TS+4: RETURN
1080 TS=TS+1: RETURN
1090 IF X>9 GOTO 1098
1091 IF
44832 Y<7 THEN TS=TS+2:RETURN
1092 IF Y>6 AND Y<10 THEN TS=TS+3
1094 IF Y=12 THEN TS=TS+5: RETURN
1096 TS=TS+1: RETURN
1098 IF X>9 AND X<12 AND Y<>12 THEN TS=TS+1: RETURN
1099 IF X>9 AND X<12 AND Y=12 THEN TS=TS+5: RETURN
1100 IF Y>3 AND X<7 THEN TS=TS+4:RETURN
1110 IF Y<4 THEN TS=TS+2: RETURN
1120 IF Y=10 THEN TS=TS+1: RETURN
1130 TS=TS+5: RETURN
2000 REM
2040 XX=TS :LC=10
2050 FOR K=0 TO 9
2060 IF HS(K)=0 THEN LC=K: GOTO 2085
2070 IF HS(K)<XX THEN XX=HS(K):LC=K
2080 NEXT
2085 :
2090 IF LC>9 GOTO 2200
2100 HS(LC)=TS
2200 PRINT "[147] [217]OUR SCORE: ";TS
2202 IF NC=0 OR TC=0 THEN PT=0: GOTO 2210
2204 PT=INT(NC/TC*100)
2210 PRINT " [208][197][210][195][197][206][212][193][199][197] ";PT;"%";
2048 PRINT " (";NC;" OUT OF";TC;")"
2225 PRINT
2230 PRINT SPC(5);"[212][197][206][160][200][201][199][200][197][211][212][160][211][195][207][210][197][211][160][212][200][201][211][160][211][197][211][211][201][207][206]"
2235 PRINT
2240 FOR K=0 TO 9
2250 IF HS(K)=0 GOTO 2270
2260 PRINT SPC(15);HS(K)
2270 NEXT
2280 PRINT SPC(5) "[212]RY AGAIN?"
2290 PRINT SPC(15)"F2[146] [217][197][211]"
2300 PRINT SPC(15)"F8[146] [206][207] "
2310 GET A$: IF A$="" GOTO 2310
2320 IF ASC(A$)=137 GOTO 190
2330 IF ASC(A$)=140 THEN END
2340 GOTO 2310