home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Educational / ADDING-QUIZ (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  14.9 KB  |  479 lines

  1. 10 REM *   ORIGINAL PET VERSION BY    *
  2. 11 REM *          R. CURRIE           *
  3. 12 REM *                              *
  4. 13 REM * COLOUR FOR THE 64 VERSION BY *
  5. 14 REM *         JOHN CURRIE          *
  6. 15 :
  7. 30 FORI=679TO699:READA:POKEI,A:NEXT
  8. 31 DATA169,1,160,0,153,0,216,153,0,217,153,0,218,153,0,219,200,208,241,96,0
  9. 90 POKE 53272,21:POKE53280,0:POKE53281,0:PRINT""CHR$(8)
  10. 100 ZZ=1024:Z=42:GOSUB 2000:PRINT:IF AZ<>0 THEN 130
  11. 110 PRINT"";:FOR D=0 TO 39:PRINT "*";:GOSUB 2910:NEXT D:PRINT "[145][145][145]":AZ=1
  12. 120 A=3:D=2:A$="ADDING QUIZ  * AUTHOR: R. CURRIE":GOSUB 2060
  13. 130 PRINT "":D=2:A=10:A$="1. START ADDING 1[146].":GOSUB 2060:PRINT
  14. 140 A$="2. TEACHER INSTRUCTIONS.":GOSUB 2060:PRINT
  15. 160 A$="3. QUIT.":GOSUB 2060:PRINT ""
  16. 170 A$="PLEASE TYPE 1, 2 OR 3":GOSUB 2060
  17. 200 POKE ZZ+622,49:POKE ZZ+625,178:POKE ZZ+630,51:GOSUB 2900
  18. 210 GET A$:IF A$<>"" THEN 250
  19. 220 POKE ZZ+622,177:POKE ZZ+625,50:POKE ZZ+630,179:GOSUB 2900
  20. 230 GET A$:IF A$="" THEN 200
  21. 250 IF A$="1" THEN 3000
  22. 260 IF A$="2" THEN 400
  23. 280 IF A$="3" THEN 20000
  24. 290 GOTO 200
  25. 400 Z=42:GOSUB 2000:POKE 53272,23:A$="[212][197][193][195][200][197][210][160][201][206][211][212][210][213][195][212][201][207][206][211]":GOSUB 880
  26. 430 A$="   [212]HIS PROGRAM WILL DISPLAY ADD-":GOSUB 2060:PRINT
  27. 440 A$="ITION QUESTIONS OF VARYING DEGREES":GOSUB 2060:PRINT
  28. 450 A$="OF DIFFICULTY.  [196]EPENDING ON THE":GOSUB 2060:PRINT
  29. 460 A$="LEVEL CALLED FOR, ONE OR MORE OF":GOSUB 2060:PRINT
  30. 470 A$="THE DIGITS IN THE QUESTION WILL BE":GOSUB 2060:PRINT
  31. 480 A$="BLANKED OUT.":GOSUB 2060:PRINT
  32. 490 A$="   [212]HE STUDENT'S TASK WILL BE TO":GOSUB 2060:PRINT
  33. 500 A$="ENTER THE CORRECT DIGIT(S).":GOSUB 2060:PRINT
  34. 510 A$="   [193]NY NUMBER OF QUESTIONS, AT ANY":GOSUB 2060:PRINT
  35. 520 A$="LEVEL OF DIFFICULTY CAN BE CALLED FOR.":GOSUB 2060
  36. 600 GOTO 850
  37. 850 A$="[208][210][197][211][211] [193][206][217][160][203][197][217]":A=13:GOSUB 2060
  38. 860 GET A$:IF A$="" THEN 860
  39. 870 POKE 53272,21:GOTO 100
  40. 880 D=2:A=9:GOSUB 2060:PRINT SPC(3)"-";:FOR B=1 TO 32
  41. 890 GOSUB 2960:PRINT "-";:NEXT B:PRINT:A=2:RETURN
  42. 2000 POKE680,6:PRINT"[147]":SYS679:FOR A=0 TO 39:POKEZZ+A,Z:POKEZZ+960+A,Z:NEXTA
  43. 2010 FOR A=1 TO 23:POKE ZZ+40*A,Z:POKE ZZ+39+(40*A),Z:NEXT A:RETURN
  44. 2060 C=LEN(A$)
  45. 2070 B=1:PRINT SPC(A)MID$(A$,B,1);:FOR B=2 TO C:IF MID$(A$,B,1)<>" " THEN 2090
  46. 2080 PRINT " ";:GOTO 2100
  47. 2090 PRINT MID$(A$,B,1);:ON D GOSUB 2900,2910,2980
  48. 2100 NEXT B:PRINT:RETURN
  49. 2200 D1=D:FOR A=1 TO 5:POKE ZZ+D,102:GOSUB 2920:D=D+40:NEXT A:D=D1:RETURN
  50. 2210 D1=D:FOR A=1 TO 4:POKE ZZ+(D-1)+A,102:GOSUB 2920:NEXT A:D=D1:RETURN
  51. 2220 GOSUB 2200:FOR A=1 TO 2:FOR B=1 TO 2:POKE ZZ+D+B,102:GOSUB 2920
  52. 2230 NEXT B:D=D+160:NEXT A:D=D-317:GOSUB 2200:RETURN
  53. 2240 D=D+1:GOSUB 2200:D=D+1:GOSUB 2200:RETURN
  54. 2250 GOSUB 2210:POKE ZZ+D+43,102:GOSUB 2920:D=D+80:GOSUB 2210:POKE ZZ+D+40,102
  55. 2260 GOSUB 2920:D=D+80:GOSUB 2210:RETURN
  56. 2270 FOR A=1 TO 3:POKE ZZ+(D-1)+A,102:GOSUB 2920:NEXT A:RETURN
  57. 2280 GOSUB 2270:D=D+3:GOSUB 2200:POKE ZZ+D+78,102:GOSUB 2920
  58. 2290 POKE ZZ+D+79,102:GOSUB 2920:D=D+157:GOSUB 2270:RETURN
  59. 2300 FOR A=1 TO 3:POKE ZZ+D,102:GOSUB 2920:D=D+40:NEXT A:POKE ZZ+(D-39),102
  60. 2310 GOSUB 2920:POKE ZZ+(D-38),102:GOSUB 2920:D=D-117:GOSUB 2200:RETURN
  61. 2320 GOSUB 2210:POKE ZZ+D+40,102:GOSUB 2920:D=D+80:GOSUB 2210
  62. 2330 POKE ZZ+D+43,102:GOSUB 2920:D=D+80:GOSUB 2210:RETURN
  63. 2340 GOSUB 2200:POKE ZZ+D+1,102:GOSUB 2920:POKE ZZ+D+2,102:GOSUB 2920
  64. 2350 D=D+81:GOSUB 2270:POKE ZZ+D+42,102:D=D+80:GOSUB 2270:RETURN
  65. 2360 GOSUB 2270:D=D+3:GOSUB 2200:RETURN
  66. 2370 GOSUB 2200:FOR A=1 TO 3:FOR B=1 TO 2:POKE ZZ+D+B,102:GOSUB 2920
  67. 2380 NEXT B:D=D+80:NEXT A:D=D-237:GOSUB 2200:RETURN
  68. 2390 GOSUB 2270:POKE ZZ+D+40,102:GOSUB 2960:D=D+80:GOSUB 2270:D=D-77
  69. 2400 GOSUB 2200:POKE ZZ+D+159,102:GOSUB 2920:POKE ZZ+D+158,102:RETURN
  70. 2410 GOSUB 2200:D=D+79:GOSUB 2270:RETURN
  71. 2420 D1=D:D=D-1:FOR A=1 TO 5:POKE ZZ+D,103:GOSUB 2920
  72. 2425 POKE ZZ+D+5,101:GOSUB 2920:D=D+40:NEXT A:D=(D1-40):FOR A=1 TO 4
  73. 2430 POKE ZZ+D,100:GOSUB 2920:POKE ZZ+D+240,99:GOSUB 2920:D=D+1:NEXT A
  74. 2435 POKE ZZ+D1+81,63:POKE ZZ+D1+82,63:RETURN
  75. 2450 POKE680,7:PRINT"[147]";:SYS679:A$=B$:D=2:A=0:GOSUB 2060:R=41:FOR A=0 TO 8
  76. 2455 POKE ZZ+R+A,100:POKE ZZ+R+(A+240),99:NEXT A:R=80:FOR A=1 TO 5
  77. 2460 POKE ZZ+R,103:POKE ZZ+R+10,101:R=R+40:NEXT A:PRINT ""
  78. 2465 PRINT SPC(1)RI;:A$="RIGHT":A=1:GOSUB 2060:PRINT:PRINT SPC(1)WR;
  79. 2470 A$="WRONG":GOSUB 2060:PRINT ""
  80. 2475 A$="TYPE 'C' FOR CORRECTION OR 'H' FOR HELP":A=0:GOSUB 2060
  81. 2480 FOR A=1 TO 10:GET A$:NEXT A:RETURN
  82. 2500 ON I GOTO 2510,2515,2520,2520,2520,2525,2525,2525
  83. 2510 D=622:B=4:C=9:GOTO 2530
  84. 2515 D=629:B=11:C=99:GOTO 2530
  85. 2520 D=629:B=18:C=999:GOTO 2530
  86. 2525 D=636:B=25:C=9999
  87. 2530 GOSUB 2540:GOTO 2550
  88. 2540 FOR A=1 TO B:POKE ZZ+D,230:GOSUB 2910:D=D-1:NEXT A:RETURN
  89. 2550 IF H>C THEN 2560
  90. 2555 RETURN
  91. 2560 B=7:GOSUB 2540:GOTO 2555
  92. 2600 A=A-1:FOR A1=0 TO A:POKE ZZ+R+A1,C:NEXT A1:R1=R+A:FOR D1=1 TO D
  93. 2610 R=R+40:POKE ZZ+R,C:NEXT D1:R=R+40:FOR A1=0 TO A:POKE ZZ+R+A1,C
  94. 2620 NEXT A1:R=R1:FOR D1=1 TO D:R=R+40:POKE ZZ+R,C:NEXT D1:RETURN
  95. 2900 FOR E=1 TO 5:NEXT E:RETURN
  96. 2910 FOR E=1 TO 20:NEXT E:RETURN
  97. 2920 FOR E=1 TO 10:NEXT E:RETURN
  98. 2930 FOR E=1 TO 100:NEXT E:RETURN
  99. 2940 FOR E=1 TO 200:NEXT E:RETURN
  100. 2950 FOR E=1 TO 300:NEXT E:RETURN
  101. 2960 FOR E=1 TO 10:NEXT E:RETURN
  102. 2970 FOR E=1 TO 30:NEXT E:RETURN
  103. 2980 FOR E=1 TO 40:NEXT E:RETURN
  104. 3000 POKE680,3:PRINT"[147]":SYS679:A=40:D=23:R=0:C=42:GOSUB 2600:A=36:D=19
  105. 3002 R=82:C=170:GOSUB2600
  106. 3010 A=32:D=15:R=164:C=42:GOSUB 2600:A=28:D=11:R=246:C=170:GOSUB 2600
  107. 3020 A=24:D=7:R=328:C=42:GOSUB 2600:PRINT "":FOR A=1 TO 7
  108. 3030 PRINT SPC(9)"+";:FOR B=1 TO 5:GOSUB 2910:PRINT "ADD+";
  109. 3040 NEXT B:PRINT "+":NEXT A
  110. 3050 A=38:D=21:R=41:C=48:GOSUB 2600:A=34:D=17:R=123:GOSUB 2600
  111. 3060 A=30:D=13:R=205:GOSUB 2600:A=26:D=9:R=287:GOSUB 2600
  112. 3070 GOSUB2950:POKE680,2:PRINT"[147]":SYS679:A$="HELLO, MY NAME IS ADDER[146]."
  113. 3080 D=2:A=8:GOSUB 2060:PRINT:A$="WHAT IS YOUR NAME?":A=11:GOSUB 2060
  114. 3085 FOR A=1 TO 10:GET A$:NEXT A
  115. 3090 INPUT B$:PRINT:PRINT "HELLO,":PRINT
  116. 3100 A=LEN(B$):IF A=1 THEN 3190
  117. 3110 IF A<20 THEN 3130
  118. 3120 A=19
  119. 3130 R=400:B=(A*2)-1:A=B+2:D=4:B=(40-A)/2:R=R+B:C=42:GOSUB 2600
  120. 3150 PRINT:B=B+1:FOR A=1 TO LEN(B$):FOR BB=1 TO 4
  121. 3160 PRINT SPC(B)MID$(B$,A,1):GOSUB 2910:NEXT BB:PRINT "[145][145][145][145][145]"
  122. 3170 B=B+2:GOSUB 2910:NEXT A:GOSUB 2950
  123. 3190 POKE680,4:PRINT"[147]":SYS679:A$=B$:D=2:A=0:GOSUB 2060:PRINT
  124. 3192 A$="PICK A NUMBER FROM 1 TO 8."
  125. 3200 A=7:GOSUB 2060:PRINT:A$="1 IS THE EASIEST AND 8 IS THE HARDEST."
  126. 3210 A=0:GOSUB 2060:PRINT:A$="TYPE ONE OF THESE-":A=11:GOSUB 2060
  127. 3230 R=532:A=48:FOR C=1 TO 2:FOR B=1 TO 8:POKE ZZ+R,A+B:GOSUB 2900
  128. 3240 R=R+2:NEXT B:R=R-16:A=176:NEXT C:GET A$:IF A$="" THEN 3230
  129. 3245 IF A$="H" THEN 100
  130. 3250 C$="12345678":FOR I=1 TO 8:IF MID$(C$,I,1)=A$ THEN 3262
  131. 3260 NEXT I:GOTO 3230
  132. 3262 PRINT "[147]":PRINT B$",":A$="HOW MANY QUESTIONS DO YOU WANT?":PRINT
  133. 3265 D=2:A=4:GOSUB 2060:PRINT:PRINT SPC(10)" ";:INPUT NQ$
  134. 3267 IF NQ$="H" THEN 100
  135. 3268 NQ=VAL(NQ$):IF NQ=0 THEN 3262
  136. 3270 ON I GOTO 4000,5000,6000,6000,6000,7000,7000,7000
  137. 4000 GOSUB 2450:F2=INT(10*RND(1)):G2=INT(10*RND(1)):F=F2:G=G2
  138. 4010 H=F+G:H3=H:H2=0:IF H<10 THEN 4030
  139. 4020 H3=H-10:H2=(H-H3)/10
  140. 4030 D=99:BB=F:B1=INT(4*RND(1))+1:ON B1 GOTO 4040,4120,4125,4125
  141. 4040 GOSUB 2420:D=379:BB=G:GOSUB 4130
  142. 4045 D=372:GOSUB 2410
  143. 4050 GOSUB 2500:ON B1 GOTO 4060,4060,4080,4100
  144. 4060 D=739:BB=H3:GOSUB 4130:IF H2=0 THEN 4140
  145. 4070 D=732:BB=H2:GOSUB 4130:GOTO 4140
  146. 4080 D=739:GOSUB 2420:IF H2=0 THEN 4140
  147. 4090 GOTO 4070
  148. 4100 IF H2=0 THEN 4080
  149. 4110 D=739:BB=H3:GOSUB 4130:D=732:GOSUB 2420:GOTO 4140
  150. 4120 GOSUB 4130:D=379:GOSUB 2420:GOTO 4045
  151. 4125 GOSUB 4130:D=379:BB=G:GOSUB 4130:GOTO 4045
  152. 4130 BB=BB+1:IF BB>9 THEN 4137
  153. 4135 ON BB GOSUB 2220,2240,2250,2280,2300,2320,2340,2360,2370:GOTO 4138
  154. 4137 GOSUB 2390
  155. 4138 RETURN
  156. 4140 GOTO 7800
  157. 5000 GOSUB 2450:F2=INT(9*RND(1))+1:F3=INT(10*RND(1)):F=F3+(F2*10)
  158. 5010 G2=INT(9*RND(1))+1:G3=INT(10*RND(1)):G=G3+(G2*10):H=F+G:H2=0
  159. 5020 B=1000:D=0
  160. 5030 D=D+1:B=B/10:A=B
  161. 5040 IF A>H THEN 5060
  162. 5050 A=A+B:GOTO 5040
  163. 5060 A=A-B:H=H-A:A=A/B:ON D GOTO 5080,5090,5100
  164. 5080 H2=A:GOTO 5030
  165. 5090 H3=A:GOTO 5030
  166. 5100 H4=A:H=F+G:D=99:BB=F2:B1=INT(7*RND(1))+1
  167. 5110 ON B1 GOTO 5120,5200,5205,5210,5130,5130,5130
  168. 5120 GOSUB 2420:GOTO 5135
  169. 5130 GOSUB 4130
  170. 5135 D=106:BB=F3:GOSUB 4130
  171. 5140 D=379:BB=G2:GOSUB 4130
  172. 5145 D=386:BB=G3:GOSUB 4130
  173. 5150 D=372:GOSUB 2410:GOSUB 2500
  174. 5160 ON B1 GOTO 5180,5180,5180,5180,5220,5225,5230
  175. 5180 D=746:BB=H4:GOSUB 4130
  176. 5185 :D=739:BB=H3:GOSUB 4130
  177. 5190 IF H2=0 THEN 7800
  178. 5195 D=732:BB=H2:GOSUB 4130:GOTO 7800
  179. 5200 GOSUB 4130:D=106:GOSUB 2420:GOTO 5140
  180. 5205 GOSUB 4130:D=106:BB=F3:GOSUB 4130:D=379:GOSUB 2420:GOTO 5145
  181. 5210 GOSUB 4130:D=106:BB=F3:GOSUB 4130:D=379:BB=G2:GOSUB 4130
  182. 5215 D=386:GOSUB 2420:GOTO 5150
  183. 5220 D=746:GOSUB 2420:GOTO 5185
  184. 5225 D=746:BB=H4:GOSUB 4130:D=739:GOSUB 2420:GOTO 5190
  185. 5230 D=746:BB=H4:GOSUB 4130:IF H2=0 THEN 5240
  186. 5235 D=739:BB=H3:GOSUB 4130:D=732:GOSUB 2420:GOTO 7800
  187. 5240 D=739:GOSUB 2420:GOTO 7800
  188. 6000 GOSUB 2450:GOSUB 7010:H1=0:F=F3:F=F+(F2*10):F=F+(F1*100)
  189. 6005 :G=G3:G=G+(G2*10):G=G+(G1*100):H=F+G:B=10000:D=0:I1=I-2
  190. 6010 :D=D+1:B=B/10:A=B
  191. 6020 IF A>H THEN 6040
  192. 6030 A=A+B:GOTO 6020
  193. 6040 A=A-B:H=H-A:A=A/B:ON D GOTO 6060,6070,6080,6090
  194. 6060 H1=A:GOTO 6010
  195. 6070 H2=A:GOTO 6010
  196. 6080 H3=A:GOTO 6010
  197. 6090 H4=A:H=F+G
  198. 6100 F5=INT(3*RND(1))+1:G5=INT(3*RND(1))+1:IF F5=G5 THEN 6100
  199. 6105 IF H<1000 THEN 6120
  200. 6110 H6=INT(4*RND(1))+1:GOTO 6125
  201. 6120 H6=INT(3*RND(1))+1
  202. 6125 ON H6 GOTO 6130,6132,6135,6129
  203. 6127 IF H7=G5 THEN 6105
  204. 6128 IF H7=F5 THEN 6105
  205. 6129 ON I1 GOTO 6250,6300,6350
  206. 6130 H7=3:GOTO 6127
  207. 6132 H7=2:GOTO 6127
  208. 6135 H7=1:GOTO 6127
  209. 6140 D=92:BB=F1:GOSUB 4130
  210. 6145 D=99:BB=F2:GOSUB 4130
  211. 6150 D=106:BB=F3:GOSUB 4130
  212. 6153 IF G5<>0 THEN 6400
  213. 6155 D=372:BB=G1:GOSUB 4130
  214. 6160 D=379:BB=G2:GOSUB 4130
  215. 6165 D=386:BB=G3:GOSUB 4130
  216. 6170 D=365:GOSUB 2410:GOSUB 2500
  217. 6175 IF H6<>0 THEN 6450
  218. 6180 D=746:BB=H4:GOSUB 4130
  219. 6185 D=739:BB=H3:GOSUB 4130
  220. 6190 D=732:BB=H2:GOSUB 4130
  221. 6195 IF H<1000 THEN 7800
  222. 6200 D=725:BB=H1:GOSUB 4130:GOTO 7800
  223. 6250 ON F5 GOTO 6260,6270,6280
  224. 6260 F5=0:H6=0:GOTO 6140
  225. 6270 F5=0:G5=0:GOTO 6140
  226. 6280 G5=0:H6=0:GOTO 6350
  227. 6300 ON G5 GOTO 6310,6320,6330
  228. 6310 F5=0:GOTO 6140
  229. 6320 G5=0:GOTO 6350
  230. 6330 H6=0:GOTO 6350
  231. 6350 D=92:BB=F1:ON F5 GOTO 6360,6370,6380
  232. 6360 GOSUB 2420:GOTO 6145
  233. 6370 GOSUB 4130:D=99:GOSUB 2420:GOTO 6150
  234. 6380 GOSUB 4130:D=99:BB=F2:GOSUB 4130:D=106:GOSUB 2420:GOTO 6153
  235. 6400 D=372:BB=G1:ON G5 GOTO 6410,6420,6430
  236. 6410 GOSUB 2420:GOTO 6160
  237. 6420 GOSUB 4130:D=379:GOSUB 2420:GOTO 6165
  238. 6430 GOSUB 4130:D=379:BB=G2:GOSUB 4130:D=386:GOSUB 2420:GOTO 6170
  239. 6450 D=746:BB=H4:ON H6 GOTO 6460,6470,6480,6490
  240. 6460 GOSUB 2420:GOTO 6185
  241. 6470 GOSUB 4130:D=739:GOSUB 2420:GOTO 6190
  242. 6480 GOSUB 4130:D=739:BB=H3:GOSUB 4130:D=732:GOSUB 2420:GOTO 6195
  243. 6490 GOSUB 4130:D=739:BB=H3:GOSUB 4130:D=732:BB=H2:GOSUB 4130:D=725
  244. 6495 GOSUB 2420:GOTO 7800
  245. 7000 I1=I-5:GOSUB 2450:GOSUB 7010:GOTO 7200
  246. 7010 F1=INT(9*RND(1))+1:F2=INT(10*RND(1)):F3=INT(10*RND(1)):F4=INT(10*RND(1))
  247. 7020 G1=INT(9*RND(1))+1:G2=INT(10*RND(1)):G3=INT(10*RND(1)):G4=INT(10*RND(1))
  248. 7030 IF I<6 THEN 7180
  249. 7040 F=F4:F=F+(F3*10):F=F+(F2*100):F=F+(F1*1000):G=G4:G=G+(G3*10)
  250. 7050 G=G+(G2*100):G=G+(G1*1000):H=F+G
  251. 7055 IF I<6 THEN 7180
  252. 7070 B=100000:D=0
  253. 7080 D=D+1:B=B/10:A=B
  254. 7090 IF A>H THEN 7110
  255. 7100 A=A+B:GOTO 7090
  256. 7110 A=A-B:H=H-A:A=A/B:ON D GOTO 7130,7140,7150,7160,7170
  257. 7130 H1=A:GOTO 7080
  258. 7140 H2=A:GOTO 7080
  259. 7150 H3=A:GOTO 7080
  260. 7160 H4=A:GOTO 7080
  261. 7170 H5=A:H=F+G
  262. 7180 RETURN
  263. 7200 D=92:D2=D:F5=0:G5=0:A=INT(4*RND(1))+1:IF I1>1 THEN 7500
  264. 7210 B=INT(2*RND(1))+1:IF B=2 THEN 7230
  265. 7220 F5=A:GOTO 7235
  266. 7230 G5=A
  267. 7235 J1=F1:J2=F2:J3=F3:J4=F4:J5=F5
  268. 7240 FOR AA=1 TO 2:IF J5<>1 THEN 7260
  269. 7250 GOSUB 2420:GOTO 7270
  270. 7260 ON J1 GOSUB 2240,2250,2280,2300,2320,2340,2360,2370,2390
  271. 7270 D2=D2+7:D=D2:IF J5<>2 THEN 7290
  272. 7280 GOSUB 2420:GOTO 7330
  273. 7290 J2=J2+1:IF J2>9 THEN 7320
  274. 7300 ON J2 GOSUB 2220,2240,2250,2280,2300,2320,2340,2360,2370
  275. 7310 GOTO 7330
  276. 7320 GOSUB 2390
  277. 7330 D2=D2+7:D=D2:IF J5<>3 THEN 7350
  278. 7340 GOSUB 2420:GOTO 7400
  279. 7350 J3=J3+1:IF J3>9 THEN 7380
  280. 7360 ON J3 GOSUB 2220,2240,2250,2280,2300,2320,2340,2360,2370
  281. 7370 GOTO 7400
  282. 7380 GOSUB 2390
  283. 7400 D2=D2+7:D=D2:IF J5<>4 THEN 7420
  284. 7410 GOSUB 2420:GOTO 7470
  285. 7420 J4=J4+1:IF J4>9 THEN 7450
  286. 7430 ON J4 GOSUB 2220,2240,2250,2280,2300,2320,2340,2360,2370
  287. 7440 GOTO 7470
  288. 7450 GOSUB 2390
  289. 7470 D=372:D2=D:J1=G1:J2=G2:J3=G3:J4=G4:J5=G5:NEXT AA:GOTO 7550
  290. 7500 F5=A:A=INT(4*RND(1))+1:G5=A:IF F5<>G5 THEN 7235
  291. 7510 GOTO 7500
  292. 7550 D=365:GOSUB 2410
  293. 7560 GOSUB 2500
  294. 7580 H6=0:H7=0:IF I<8 THEN 7630
  295. 7590 IF H<10000 THEN 7610
  296. 7600 H6=INT(5*RND(1))+1:GOTO 7612
  297. 7610 H6=INT(4*RND(1))+1
  298. 7612 ON H6 GOTO 7620,7622,7624,7626,7630
  299. 7615 IF H7=G5 THEN 7590
  300. 7617 IF H7=F5 THEN 7590
  301. 7618 GOTO 7630
  302. 7620 H7=4:GOTO 7615
  303. 7622 H7=3:GOTO 7615
  304. 7624 H7=2:GOTO 7615
  305. 7626 H7=1:GOTO 7615
  306. 7630 D2=760:DD=0:J1=H5
  307. 7640 DD=DD+1:D2=D2-7:D=D2:J1=J1+1
  308. 7650 IF DD=H6 THEN 7780
  309. 7660 IF J1>9 THEN 7680
  310. 7670 ON J1 GOSUB 2220,2240,2250,2280,2300,2320,2340,2360,2370:GOTO 7700
  311. 7680 GOSUB 2390
  312. 7700 ON DD GOTO 7710,7720,7730,7740,7760
  313. 7710 J1=H4:GOTO 7640
  314. 7720 J1=H3:GOTO 7640
  315. 7730 J1=H2:GOTO 7640
  316. 7740 IF H<10000 THEN 7760
  317. 7750 J1=H1:GOTO 7640
  318. 7760 GOTO 7800
  319. 7780 GOSUB 2420:GOTO 7700
  320. 7800 R1=194:L=0:ER=0
  321. 7810 R=R1:L=L+1:IF PEEK(ZZ+R)=63 THEN 7855
  322. 7820 R=R+280:L=L+1:IF PEEK(ZZ+R)=63 THEN 7860
  323. 7830 R=R+360:L=L+1:IF PEEK(ZZ+R)=63 THEN 7870
  324. 7833 R1=R1-7:IF R1=159 THEN 8200
  325. 7835 GOTO 7810
  326. 7840 ON L1 GOTO 7820,7830,7833
  327. 7855 L1=1:GOTO 7875
  328. 7860 L1=2:GOTO 7875
  329. 7870 L1=3
  330. 7875 GOSUB 7880:GOTO 7950
  331. 7880 POKE ZZ+R,191:POKE ZZ+R+1,63:GOSUB 2900:POKE ZZ+R,63
  332. 7890 POKE ZZ+R+1,191:GOSUB 2900:GET A$:IF A$="" THEN 7880
  333. 7895 IF A$="H" THEN 100
  334. 7900 IF A$="C" THEN 10050
  335. 7910 FOR B=1 TO 10:C$="0123456789":IF A$=MID$(C$,B,1) THEN 7930
  336. 7920 NEXT B:GOTO 7880
  337. 7930 B=B-1:RETURN
  338. 7950 POKE ZZ+R,32:POKE ZZ+R+1,32:B=B+1:D=R-81:BB=B:IF B>9 THEN 7970
  339. 7960 ON B GOSUB 2220,2240,2250,2280,2300,2320,2340,2360,2370:GOTO 7990
  340. 7970 GOSUB 2390
  341. 7990 B=BB:B=B-1:IF L>9 THEN 8010
  342. 8000 ON L GOTO 8030,8040,8050,8060,8070,8080,8090,8100,8110
  343. 8010 ON L-9 GOTO 8120,8130,8140,8160,8160,8150
  344. 8030 IF F4=B THEN 7840
  345. 8035 GOTO 8160
  346. 8040 IF G4=B THEN 7840
  347. 8045 GOTO 8160
  348. 8050 IF H5=B THEN 7840
  349. 8055 GOTO 8160
  350. 8060 IF F3=B THEN 7840
  351. 8065 GOTO 8160
  352. 8070 IF G3=B THEN 7840
  353. 8075 GOTO 8160
  354. 8080 IF H4=B THEN 7840
  355. 8085 GOTO 8160
  356. 8090 IF F2=B THEN 7840
  357. 8095 GOTO 8160
  358. 8100 IF G2=B THEN 7840
  359. 8105 GOTO 8160
  360. 8110 IF H3=B THEN 7840
  361. 8115 GOTO 8160
  362. 8120 IF F1=B THEN 7840
  363. 8125 GOTO 8160
  364. 8130 IF G1=B THEN 7840
  365. 8135 GOTO 8160
  366. 8140 IF H2=B THEN 7840
  367. 8145 GOTO 8160
  368. 8150 IF H1=B THEN 7840
  369. 8160 ER=1:GOTO 7840
  370. 8200 IF ER=0 THEN 8500
  371. 8210 GOTO 10000
  372. 8500 PRINT:FOR A=1 TO 5:PRINT SPC(1)"         ":NEXT A:PRINT "[145][145][145][145][145][145][145]"
  373. 8505 PRINT:A=INT(3*RND(1))+1:ON A GOTO 8510,8530,8550
  374. 8510 PRINT SPC(3)"THAT":GOSUB 2940:PRINT:PRINT SPC(6)"IS"
  375. 8515 PRINT:GOSUB 2940:PRINT SPC(2)"RIGHT":GOSUB 2940:PRINT "[145][145]"
  376. 8520 PRINT SPC(2)"RIGHT":GOSUB 2940:GOTO 8555
  377. 8530 R=3:FOR D=1 TO 3:R=R+80:FOR D1=1 TO 3:A=7:B=15:C=4:FOR D2=1 TO 2
  378. 8533 POKE ZZ+R,A:GOSUB 2910:POKE ZZ+R+1,B:GOSUB 2910:POKE ZZ+R+2,B
  379. 8535 GOSUB 2910:POKE ZZ+R+3,C:GOSUB 2910:A=135:B=143:C=132:NEXT D2
  380. 8540 NEXT D1:NEXT D:GOSUB 2940:GOTO 8600
  381. 8550 A$="RIGHT":D=3:FOR A=1 TO 5:GOSUB 2060:GOSUB 2930:NEXT A:GOSUB 2940
  382. 8555 PRINT "[145][145][145][145][145][145][145]":GOTO 8600
  383. 8600 POKE680,9:PRINT"[147]":SYS679:A=INT(3*RND(1))+1:ON A GOTO 8615,8620,8625
  384. 8615 C=86:C1=87:GOTO 8627
  385. 8620 C=91:C1=90:GOTO 8627
  386. 8625 C=35:C1=37
  387. 8627 GOSUB 8630:GOTO 8643
  388. 8630 A=24:D=7:R=328:GOSUB 2600:A=28:D=11:R=246:GOSUB 2600
  389. 8635 A=32:D=15:R=164:GOSUB 2600:A=36:D=19:R=82:GOSUB 2600
  390. 8640 A=40:D=23:R=0:GOSUB 2600:RETURN
  391. 8643 PRINT ""
  392. 8645 A=INT(3*RND(1))+1:ON A GOTO 8650,8750,8790
  393. 8650 R=328:FOR B=1 TO 7:R=R+40:FOR A=1 TO 22:POKE ZZ+R+A,102
  394. 8655 GOSUB 2900:NEXT A:NEXT B:R=379:FOR A=1 TO 7:POKE ZZ+R,42
  395. 8660 GOSUB 2900:R=R+40:NEXT A:R=495:FOR A=1 TO 7:POKE ZZ+R+A,42
  396. 8665 GOSUB 2900:NEXT A:R=376:FOR A=1 TO 7:POKE ZZ+R,42:GOSUB 2900:R=R+41
  397. 8670 NEXT A:R=382:FOR A=1 TO 7:POKE ZZ+R,42:GOSUB 2900:R=R+39:NEXT A
  398. 8675 GOSUB 8680:GOSUB 2940:GOTO 8690
  399. 8680 C=C1:A=26:D=9:R=287:GOSUB 2600:A=30:D=13:R=205:GOSUB 2600
  400. 8685 A=34:D=17:R=123:GOSUB 2600:A=38:D=21:R=41:GOSUB 2600:RETURN
  401. 8690 RE=0:ER=0:RI=RI+1
  402. 8693 IF NQ=RI+WR THEN 8700
  403. 8695 GOTO 3270
  404. 8700 PRINT "[147]":A$=B$:D=2:A=0:GOSUB 2060:PRINT
  405. 8705 A$="DO YOU WANT TO TRY SOME MORE?":A=5:GOSUB 2060:PRINT
  406. 8710 A$="TYPE 'Y' OR 'N'":A=12:GOSUB 2060
  407. 8715 POKE ZZ+338,153:POKE ZZ+345,14:GOSUB 2960:POKE ZZ+338,25
  408. 8720 POKE ZZ+345,142:GOSUB 2960:GET A$:IF A$="" THEN 8715
  409. 8723 IF A$="H" THEN 100
  410. 8725 IF A$="N" THEN 20000
  411. 8730 IF A$<>"Y" THEN 8715
  412. 8735 RI=0:WR=0:NQ=0:GOTO 3190
  413. 8750 A=22:D=5:R=369:GOSUB 2600:R=370:FOR A=1 TO 5:R=R+40
  414. 8755 D=7:DD=15:D1=4:FOR B=1 TO 2:FOR C=1 TO 5:POKE ZZ+R,D
  415. 8760 GOSUB 2960:POKE ZZ+R+1,DD:GOSUB 2960:POKE ZZ+R+2,DD:GOSUB 2960
  416. 8765 POKE ZZ+R+3,D1:GOSUB 2960:R=R+4:NEXT C:R=R-20:D=135:DD=143
  417. 8770 D1=132:NEXT B:NEXT A:GOTO 8675
  418. 8790 R=368:FOR D=1 TO 2:FOR A=1 TO 3:FOR B=1 TO 22:POKE ZZ+R+B,C
  419. 8795 GOSUB 2960:NEXT B:R=R+40:NEXT A:R=R+40:NEXT D
  420. 8800 C$="KEEP UP THE GOOD WORK.":B=30:PRINT ""
  421. 8805 FOR A=1 TO 22:PRINT SPC(B)MID$(C$,1,A):GOSUB 2970:PRINT "[145][145]"
  422. 8810 B=B-1:NEXT A:GOTO 8675
  423. 10000 ER=0:IF RE=1 THEN 10150
  424. 10010 RE=1:PRINT:A$="I'M SORRY":A=1:D=3:GOSUB 2060:A$="THAT IS  "
  425. 10020 GOSUB 2060:A$="WRONG.   ":GOSUB 2060:A$="PLEASE   ":GOSUB 2060
  426. 10030 A$="TRY AGAIN":GOSUB 2060:PRINT "[145][145][145][145][145][145][145]"
  427. 10050 R=199:FOR A=1 TO 3:FOR B=1 TO 5:R=R-7:IF PEEK(ZZ+R)=103 THEN 10070
  428. 10060 NEXT B:R=R+315:NEXT A:GOTO 7800
  429. 10070 R1=R:IF R>600 THEN 10090
  430. 10080 R=R-80
  431. 10090 FOR C=1 TO 5:FOR D=1 TO 4:POKE ZZ+R+D,32:NEXT D:R=R+40
  432. 10100 NEXT C:POKE ZZ+(R-118),63:POKE ZZ+(R-117),63:R=R1:GOTO 10060
  433. 10150 PRINT ""
  434. 10155 A$="I'M SORRY, BUT THE CORRECT ANSWER IS--"
  435. 10160 A=0:D=3:GOSUB 2060:R=157:FOR A=1 TO 3:FOR B=1 TO 5:R=R+7
  436. 10165 IF PEEK(ZZ+R)=103 THEN 10180
  437. 10170 NEXT B:R=R+245:NEXT A:GOTO 10350
  438. 10180 R1=R:A1=A:B1=B:IF R>600 THEN 10200
  439. 10190 R=R-80
  440. 10200 FOR C=1 TO 5:FOR DD=1 TO 4:POKE ZZ+R+DD,32:GOSUB 2910:NEXT DD
  441. 10210 R=R+40:NEXT C:R=R-199:D=R:ON A GOTO 10220,10260,10300
  442. 10220 ON B GOTO 10230,10230,10235,10240,10245
  443. 10230 BB=F1:GOTO 10340
  444. 10235 BB=F2:GOTO 10340
  445. 10240 BB=F3:GOTO 10340
  446. 10245 BB=F4:GOTO 10340
  447. 10260 ON B GOTO 10270,10270,10275,10280,10285
  448. 10270 BB=G1:GOTO 10340
  449. 10275 BB=G2:GOTO 10340
  450. 10280 BB=G3:GOTO 10340
  451. 10285 BB=G4:GOTO 10340
  452. 10300 ON B GOTO 10310,10315,10320,10325,10330
  453. 10310 BB=H1:GOTO 10340
  454. 10315 BB=H2:GOTO 10340
  455. 10320 BB=H3:GOTO 10340
  456. 10325 BB=H4:GOTO 10340
  457. 10330 BB=H5
  458. 10340 GOSUB 4130:B=B1:A=A1:R=R1:GOTO 10170
  459. 10350 R=960:FOR A=0 TO 39:POKE ZZ+R+A,32:NEXT A
  460. 10355 PRINT "[145][145]":A$="PRESS ANY KEY[146] WHEN YOU ARE READY......":A=0
  461. 10360 D=3:GOSUB 2060:RE=0:WR=WR+1
  462. 10370 GET A$:IF A$="" THEN 10370
  463. 10380 GOTO 8693
  464. 20000 POKE680,2:PRINT"[147]":SYS679:R=41:C=42:A=22:D=8:GOSUB2600:R=561:A=22:D=8
  465. 20002 GOSUB2600
  466. 20010 R=57:A=22:D=8:GOSUB 2600:R=577:A=22:D=8:GOSUB 2600
  467. 20020 R=97:GOSUB 20030:R=617:GOSUB 20030:GOTO 20050
  468. 20030 FOR B=1 TO 8:FOR A=1 TO 4:POKE ZZ+R+A,102:GOSUB 2910:NEXT A:R=R+40
  469. 20040 NEXT B:RETURN
  470. 20050 PRINT "":A$=B$:A=3:D=3:IF LEN(B$)<13 THEN 20060
  471. 20055 C=12:GOSUB 2070:GOTO 20065
  472. 20060 GOSUB 2060
  473. 20065 PRINT "[145][145]":A$="YOU HAD":A=24:GOSUB 2060:PRINT:PRINT SPC(24)RI;"RIGHT"
  474. 20070 PRINT:PRINT SPC(26)"AND":PRINT:PRINT SPC(24)WR;"WRONG"
  475. 20075 PRINT "":A$="IT HAS BEEN":A=3:GOSUB 2060:PRINT SPC(6)"NICE"
  476. 20080 PRINT:A$="WORKING WITH":GOSUB 2060:PRINT SPC(6)"YOU":PRINT "[145][145][145][145][145]"
  477. 20085 A$="I HOPE TO":A=24:GOSUB 2060:PRINT:A$="SEE YOU AGAIN."
  478. 20090 GOSUB 2060:PRINT:A$="GOODBYE":A=28:GOSUB 2060:PRINT:END
  479.