home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / COMPKARA.DSK / P18.bas < prev    next >
BASIC Source File  |  2014-09-09  |  20KB  |  271 lines

  1. 5  REM  (<CTRL-P>) 1984 EDWARD BADASOV
  2. 10  ONERR  GOTO 19000
  3. 11  GOTO 1333
  4. 100  VTAB V5% +6: HTAB 5 +20 *H%: PRINT RNA$(V5% +15 *H%): RETURN 
  5. 110  FOR I = 1 TO 30:RC%(I) = 0: NEXT : HOME : VTAB 23: INVERSE : PRINT " [<-]  [->]  [SPACE]  [!]=ALL  [RETURN] ";:H% = 0:V5% = 1: GOSUB 1070
  6. 115  INVERSE : GOSUB 100:XC% = V5% +K5% *H%: POKE K%,0
  7. 120  IF  PEEK(PE%) <KN%  THEN 120
  8. 125 X% =  PEEK(PE%) -KN%: IF X% = K7%  THEN  NORMAL : POP : GOSUB 1639: GOTO 6100
  9. 130  IF X% = K1%  THEN  NORMAL : GOSUB 100:V5% = V5% +1: IF V5% +K5% *H% >RC%  OR V5% >K5%  THEN H% =   NOT H%:V5% = 1: IF H%  AND RC% =  <K5%  THEN H% = 0
  10. 135  IF X% = K8%  THEN  NORMAL : GOSUB 100:V5% = V5% -1: IF V5% <1  THEN V5% = (K5% *H%) +(RC% -K5% *(RC% >K5%)) *(H% = 0):H% =   NOT H%: IF H%  AND RC% < = K5%  THEN H% = 0
  11. 140  IF X% = K8%  OR X% = K1%  THEN 115
  12. 150  IF X% = K2%  THEN RC%(XC%) =   NOT RC%(XC%): IF   NOT RC%(XC%)  THEN  NORMAL 
  13. 155  IF X% = K2%  THEN  HTAB 2 +20 *H%: VTAB  PEEK(37): PRINT SC$: GOSUB 1070: GOTO 115
  14. 160  IF X% = K9%  THEN  GOSUB 185: GOSUB 1070
  15. 165  IF X% = K3%  THEN  NORMAL : GOSUB 100: GOTO 175
  16. 170  GOTO 115
  17. 175  FOR I = 1 TO RC%: IF RC%(I)  THEN RF% = 1: RETURN 
  18. 180  NEXT : POP : GOSUB 1639: GOTO 6100
  19. 185 X3% = V5% -1: FOR I = XC% TO RC%:RC%(I) =   NOT RC%(I): IF   NOT RC%(I)  THEN  NORMAL 
  20. 195 X3% = X3% +1: IF X3% >15  THEN X3% = 1
  21. 200  HTAB 2 +20 *(I >K5%): VTAB X3% +K6%: PRINT SC$: INVERSE : NEXT : RETURN 
  22. 1020 C$ = "": GOSUB 1070: PRINT "["CU$;
  23. 1025  IF  PEEK(PE%) <128  THEN 1025
  24. 1030  GET A$: IF A$ =  CHR$(13)  OR A$ = ES$  THEN  PRINT :E =  RND( -( PEEK(78) + PEEK(79) *256)):E = 1: RETURN 
  25. 1035  IF  LEN(C$) = 1  AND A$ = BS$  THEN  PRINT A$SC$A$A$CU$;
  26. 1040  IF (A$ <SC$  AND A$ < >BS$)  OR A$ = ","  OR ( LEN(C$) <1  AND A$ = SC$)  THEN  PRINT S1$;: GOTO 1025
  27. 1045  IF  LEN(C$) <2  AND A$ = BS$  THEN C$ = "": GOTO 1025
  28. 1050  IF A$ < >BS$  AND  LEN(C$) = 15  THEN  PRINT S1$;: GOTO 1025
  29. 1055 C$ = C$ +A$
  30. 1060  IF A$ = BS$  THEN  PRINT A$SC$A$A$CU$;:C$ =  LEFT$(C$, LEN(C$) -2): GOTO 1025
  31. 1065  PRINT BS$A$CU$;: GOTO 1025
  32. 1070  POKE K%,0: POKE 6,46: POKE 7,3: CALL SD%: RETURN 
  33. 1075  CALL CL%: GOSUB 1070:VH% =  PEEK(37) +1:H% =  PEEK(36) +2: PRINT "[ ]";: HTAB H%: VTAB VH%: GET A$: RETURN 
  34. 1100  SPEED= 255: FLASH : HTAB 23: VTAB 11: CALL CL%: PRINT "WORK!! ==>";: NORMAL : PRINT " [ ]";:H% = 35: INVERSE : GOSUB 1070
  35. 1105 R% =  RND(E) *X% +X1%: HTAB H%: PRINT SC$;: HTAB H%: PRINT R%;: IF  PEEK(PE%) <128  THEN 1105
  36. 1110  FOR Z = 1 TO 1250: NEXT : HTAB 23: CALL CL%
  37. 1115  SPEED= 76: POKE K%,0: RETURN 
  38. 1300  ONERR  GOTO 1306
  39. 1303 SS% = 786: IF  PEEK(798) = 2  OR DF%  THEN 1312
  40. 1306  CALL SS%: VTAB 24: PRINT "INSERT DATA DISK IN DRIVE "; PEEK(798);" AND HIT KEY";: GOSUB 1070: GET A$: VTAB 24: HTAB 1: CALL  -958: VTAB 23: PRINT 
  41. 1309  IF A$ = ES$  AND A0%  THEN  RETURN 
  42. 1312 SS% = 787: PRINT D$"VERIFY STUDENTS & ROSTERS,D" PEEK(798)
  43. 1315 DF% = 1:A0% = 0: RETURN 
  44. 1318  ONERR  GOTO 1324
  45. 1321 SS% = 786: IF  PEEK(798) = 2  OR   NOT DF%  THEN 1327
  46. 1324  CALL SS%: VTAB 24: PRINT "INSERT GAME DISK IN DRIVE 1 AND HIT KEY";: GOSUB 1070: GET A$: VTAB 23: CALL  -958: PRINT 
  47. 1327 SS% = 787: PRINT D$"VERIFYP20,D1"
  48. 1330 DF% = 0: RETURN 
  49. 1333  GOSUB 30000
  50. 1336  GOSUB 1318: ONERR  GOTO 1393
  51. 1339  GOSUB 1378
  52. 1342  IF V% <3  THEN V% = V% +1: GOTO 1339
  53. 1345  ONERR  GOTO 19000
  54. 1348  GOSUB 1639: GOSUB 6100
  55. 1351  GOSUB 1432: GOSUB 1483
  56. 1354  GOSUB 1417: GOSUB 1450: GOSUB 1684:FL% = 0: GOSUB 1495: IF FL%  THEN  GOSUB 1432: GOSUB 1483: GOSUB 1450:FL% = 0
  57. 1357  GOSUB 1528: IF PF%  THEN  HTAB 23: VTAB 11: FLASH : PRINT "==WORKING==": NORMAL 
  58. 1360 RE% = 1: ON A% GOSUB 1459,1513: IF PF%  THEN  HTAB 23: VTAB 11: CALL CL%
  59. 1366  GOSUB 1450: GOSUB 1486: GOSUB 1495
  60. 1369  IF FL%  THEN  GOSUB 1432: GOSUB 1483: GOSUB 1450
  61. 1372  GOSUB 12000
  62. 1375  GOTO 1345
  63. 1378  PRINT D$"OPEN TOP10."V$(V%)",D1"
  64. 1381  PRINT D$"READ TOP10."V$(V%)
  65. 1384  FOR I = 1 TO 15: FOR J = 1 TO 9: INPUT T1$(V%,I,J): NEXT J,I
  66. 1387  PRINT D$"CLOSE"
  67. 1390  RETURN 
  68. 1393  CALL 787: IF  PEEK(222) = 5  THEN  PRINT D$"CLOSE": RETURN 
  69. 1396  GOTO 19020
  70. 1399  GOSUB 1318: ONERR  GOTO 19000
  71. 1402  PRINT D$"OPEN UL.4,D1"
  72. 1405  PRINT D$"READ UL.4"
  73. 1408  FOR I = 1 TO 5: INPUT IN$(I): FOR J = 1 TO 4: INPUT IA%(I,J): NEXT J,I
  74. 1411  PRINT D$"CLOSE"
  75. 1414  RETURN 
  76. 1417  VTAB 21: HTAB 1: CALL  -958: FLASH : IF US%  THEN  PRINT S$"THIS CHARACTER'S TRAINING IS COMPLETE!!": GOTO 1429
  77. 1420  IF RE% = 1  THEN  HTAB 5: PRINT S$"THIS STUDENT MUST NOW COMPETE!!": GOTO 1429
  78. 1423  IF RE% < >2  THEN  NORMAL : RETURN 
  79. 1426  PRINT S$"THIS STUDENT CURRENTLY IN A TOURNAMENT!!"
  80. 1429  POP : NORMAL : GOSUB 1456: GOTO 1348
  81. 1432  TEXT : HOME : INVERSE : PRINT SC$NA$SC$;: NORMAL : HTAB 23: PRINT "HT:" INT(HT%/12)"'"HT% - INT(HT%/12) *12 CHR$(34);: HTAB 33: PRINT "WT:"WE%: PRINT 
  82. 1435 A% = 0: FOR I = 1 TO 9: PRINT "<"I"> "AB$(I): NEXT : PRINT : PRINT "ABILITY AVERAGE = "
  83. 1438  VTAB 15: PRINT "PROGRESS POINTS = "EX%: PRINT : PRINT "RANK = "RA$(RA%);: IF RA% >6  AND RA% <16  THEN  PRINT " BLACK";
  84. 1441  VTAB 3: HTAB 23: PRINT NS$: HTAB 23: PRINT "EMPHASIZES:": FOR I = 1 TO 3: VTAB 5 +I: HTAB 24: PRINT AB$(IA%(IN%,I)): NEXT 
  85. 1444  VTAB 15: HTAB 27: PRINT "WINS -- LOSS": HTAB 27: PRINT "----    ----": HTAB 27: PRINT WNS%;: HTAB 35: PRINT LS%: VTAB 19: HTAB 1: PRINT L$: POKE 34,20
  86. 1447  VTAB 13: HTAB 26: PRINT "1ST:"T1%;: HTAB 34: PRINT "2ND:"T2%: RETURN 
  87. 1450  VTAB 21: HTAB 1: CALL  -958
  88. 1453  VTAB 24: HTAB 13: PRINT "(HAND SALUTE) ";: GOSUB 1070: IF   NOT CA%  AND   NOT PF%  THEN  GET A$: POKE K%,0:E =  RND( -( PEEK(78) + PEEK(79) *256)):E = 1
  89. 1454  HTAB 1: CALL CL%: VTAB 23: PRINT : RETURN 
  90. 1456  SPEED= 255: VTAB 24: HTAB 10: INVERSE : PRINT "STRIKE KEY WHEN READY";: NORMAL : GOSUB 1070: GET A$: VTAB 24: HTAB 1: CALL CL%: POKE K%,0: RETURN 
  91. 1459  HOME : PRINT " * * SPECIFIC WORKOUT * *": POKE 34,22: FOR K = 1 TO 3: HOME : IF PF%  THEN  ON P1% GOSUB 1549,1555:A$ =  STR$(TE%):R% =  RND(E) *6 +2: FOR J = 1 TO 500: NEXT : GOTO 1465
  92. 1462  VTAB 23: HTAB 1: PRINT WA$(K)" SPECIFIC ABILITY TO WORK ON ? ";: GOSUB 1075: PRINT A$;: IF A$ <"1"  OR A$ >"9"  THEN 1462
  93. 1465  SPEED= 76
  94. 1468 X% = 6:X1% = 2:Y% =  VAL(A$): INVERSE : VTAB Y% +2: HTAB 5: PRINT AB$(Y%),AB%(Y%);: IF   NOT PF%  THEN  GOSUB 1100
  95. 1471  VTAB Y% +2: FOR I = 1 TO R%: HTAB 17:AB%(Y%) = AB%(Y%) +1: PRINT AB%(Y%);: POKE 6,20 -I: POKE 7,1: CALL SD%: NEXT : NORMAL : HTAB 5: PRINT AB$(Y%),AB%(Y%)
  96. 1474 Y% =  RND(E) *9 +1: IF Y% =  VAL(A$)  THEN 1474
  97. 1477 X% =  RND(E) *4 +1: INVERSE : HTAB 17: VTAB Y% +2: PRINT AB%(Y%);: FOR I = 1 TO X%: HTAB 17: IF AB%(Y%) >0  THEN AB%(Y%) = AB%(Y%) -1
  98. 1480  PRINT AB%(Y%);: POKE 6,I +15: POKE 7,1: CALL SD%: NEXT : NORMAL : HTAB 17: PRINT AB%(Y%): SPEED= 255: GOSUB 1483: NEXT : POKE 34,20: RETURN 
  99. 1483 A1% = 0: VTAB 3: FOR I = 1 TO 9: HTAB 17: PRINT "   ";: HTAB 17: PRINT AB%(I):A1% = A1% +AB%(I): NEXT :AV% = A1%/9 +.5: PRINT : HTAB 19: PRINT AV%: RETURN 
  100. 1486  HOME : PRINT " * * INSTRUCTOR/STYLE BONUS * *": SPEED= 76: VTAB 3: HTAB 23: INVERSE : PRINT NS$: NORMAL 
  101. 1489  FOR I = 1 TO 3:X% =  RND(E) *3 +1:Y% = IA%(IN%,I): INVERSE : VTAB Y% +2: HTAB 5: PRINT AB$(Y%),AB%(Y%);: FOR J = 1 TO X%: HTAB 17:AB%(Y%) = AB%(Y%) +1: PRINT AB%(Y%);: POKE 6,20 -J: POKE 7,1: CALL SD%: NEXT : NORMAL : HTAB 5: PRINT AB$(Y%),AB%(Y%): NEXT 
  102. 1492  VTAB 3: HTAB 23: PRINT NS$: SPEED= 255: GOSUB 1483: GOSUB 1450: RETURN 
  103. 1495  FOR I = 16 TO 1  STEP  -1: IF EX% > = PR%(I)  AND AV% > = AA%(I)  AND RA% <I  THEN 1501
  104. 1498  NEXT : RETURN 
  105. 1501  HOME : VTAB 20: INVERSE : HTAB 5: PRINT S$;S$;" C O N G R A T U L A T I O N S ": NORMAL : VTAB 22: HTAB 5: SPEED= 20: PRINT NA$;" IS BEING PROMOTED!!": SPEED= 255: POKE 34,0
  106. 1504  GOSUB 1318:RW% = 3: ONERR  GOTO 19000
  107. 1507  GR : PRINT D$"BLOAD UR.1,D1"
  108. 1510  GOSUB 1642: GOSUB 1738: RETURN 
  109. 1513  VTAB 21: HTAB 1: CALL  -958: PRINT " * * GENERAL WORKOUT * *"
  110. 1516  SPEED= 76: FOR I = 1 TO 9: IF PF%  THEN R% =  RND(E) *3: FOR J = 1 TO 500: NEXT 
  111. 1519 X% = 3:X1% = 0: INVERSE : HTAB 5: VTAB I +2: PRINT AB$(I),AB%(I);: IF   NOT PF%  THEN  GOSUB 1100
  112. 1522  VTAB I +2: FOR J = 1 TO R%: IF R% < >0  THEN  HTAB 17:AB%(I) = AB%(I) +1: PRINT AB%(I);: POKE 6,18 -J: POKE 7,1: CALL SD%
  113. 1525 : NEXT : NORMAL : HTAB 5: PRINT AB$(I),AB%(I): NEXT : SPEED= 255: GOSUB 1483: RETURN 
  114. 1528  HOME : PRINT "WORKOUT:": POKE K%,0: IF CA%  THEN A$ = "C": GOTO 1537
  115. 1531  VTAB 23: HTAB 1: PRINT W$;: GOSUB 1075: PRINT A$;: IF A$ < >"S"  AND A$ < >"G"  AND A$ < >"C"  AND A$ < >ES$  THEN 1531
  116. 1534  IF A$ = ES$  THEN A$ = "": PRINT : POP : GOTO 1345
  117. 1537  IF A$ = "C"  THEN  GOSUB 1549:PF% = 1:P1% = 1: IF  RND(E) <.35  AND AB%(TE%) >AV% -7  THEN A% = 1:P1% = 2: RETURN 
  118. 1540  IF A$ = "C"  AND AB%(TE%) <AV% -4  THEN A% = 1: RETURN 
  119. 1543  IF A$ = "S"  THEN A% = 1: RETURN 
  120. 1546 A% = 2: RETURN 
  121. 1549 TE% = 1: FOR J = 1 TO 9: IF AB%(TE%) >AB%(J)  AND  RND(E) <.85  THEN TE% = J
  122. 1552  NEXT : RETURN 
  123. 1555  ON  INT( RND(E) *6) +1 GOTO 1558,1561,1564,1567,1558,1561
  124. 1558 TE% = 7 +(AB%(8) >AB%(7)): RETURN 
  125. 1561 TE% = 2 +2 *(AB%(4) <AB%(2)): RETURN 
  126. 1564 TE% = 3 +2 *(AB%(5) <AB%(3)): RETURN 
  127. 1567 TE% = 1 +(AB%(2) <AB%(1)): RETURN 
  128. 1570  POKE 34,5: HOME : VTAB 12: HTAB 8: PRINT "ONE ETERNAL MOMENT PLEASE"
  129. 1573  GOSUB 1318: ONERR  GOTO 19000
  130. 1576  FOR V = 0 TO 3: IF   NOT VFL%(V)  THEN 1603
  131. 1579  PRINT D$"UNLOCK TOP10."V$(V)",D1"
  132. 1582  PRINT D$"OPEN TOP10."V$(V)
  133. 1585  PRINT D$"DELETE TOP10."V$(V)
  134. 1588  PRINT D$"OPEN TOP10."V$(V)
  135. 1591  PRINT D$"WRITE TOP10."V$(V)
  136. 1594  FOR I = 1 TO 15: FOR J = 1 TO 9: PRINT T1$(V,I,J): NEXT J,I
  137. 1597  PRINT D$"CLOSE"
  138. 1600  PRINT D$"LOCK TOP10."V$(V)
  139. 1603  NEXT V
  140. 1606  GOSUB 1318: ONERR  GOTO 19000
  141. 1609  PRINT D$"RUN P20,D1"
  142. 1612  END 
  143. 1615  GOSUB 1318: ONERR  GOTO 19000
  144. 1618  PRINT D$"UNLOCK UL.4,D1"
  145. 1621  PRINT D$"OPEN UL.4,D1"
  146. 1624  PRINT D$"WRITE UL.4"
  147. 1627  FOR I = 1 TO 5: PRINT IN$(I): FOR J = 1 TO 4: PRINT IA%(I,J): NEXT J,I
  148. 1630  PRINT D$"CLOSE"
  149. 1633  PRINT D$"LOCK UL.4"
  150. 1636  RETURN 
  151. 1639  TEXT : HOME : FOR J = 1 TO 2: VTAB J: PRINT L$: NEXT J: VTAB 3: PRINT " W E L C O M E   T O   T H E   D O J O": PRINT L$: FOR J = 5 TO 23  STEP 2: VTAB J: PRINT L$;: NEXT J: RETURN 
  152. 1642 FL% = 0: GOSUB 1657: GOSUB 1450
  153. 1645  VTAB 22: SPEED= 135: PRINT "PLEASE REMOVE YOUR BELT, " LEFT$(NA$,14)".": GOSUB 1456: HOME : SPEED= 35: IF RA% < >1  THEN  GOSUB 1675
  154. 1648  HOME : SPEED= 135: VTAB 22: PRINT NS$;" PRESENTS THE NEW BELT": PRINT "TO "NA$".": GOSUB 1738: HOME : VTAB 22: PRINT "PLEASE PUT YOUR NEW BELT ON...": GOSUB 1456: HOME : SPEED= 35:RA% = RA% +1:FL% = 1: GOSUB 1657
  155. 1651  HOME : SPEED= 135: VTAB 22: IF RA% = 16  THEN  GOSUB 1744: POP : POP : GOTO 1369
  156. 1654  PRINT "CONGRATULATIONS, "NA$".": SPEED= 255: RETURN 
  157. 1657  IF FL%  THEN  FOR J = 1 TO 1000: NEXT 
  158. 1660  COLOR= CL%(RA%): FOR Y = 23 TO 24: PLOT 20,Y: PLOT 19,Y: PLOT 21,Y: PLOT 18,Y: IF FL%  THEN  FOR J = 1 TO 1000: NEXT 
  159. 1663  NEXT Y
  160. 1666  PLOT 20,25: PLOT 19,25: IF FL%  THEN  FOR J = 1 TO 1000: NEXT 
  161. 1669  FOR Y = 26 TO 28: PLOT 21,Y: PLOT 18,Y: IF FL%  THEN  FOR J = 1 TO 1000: NEXT 
  162. 1672  NEXT : RETURN 
  163. 1675  FOR J = 1 TO 850: NEXT : COLOR= 15: FOR Y = 28 TO 26  STEP  -1: PLOT 21,Y: PLOT 18,Y: FOR J = 1 TO 850: NEXT J,Y
  164. 1678  PLOT 20,25: PLOT 19,25: FOR J = 1 TO 850: NEXT 
  165. 1681  FOR Y = 24 TO 23  STEP  -1: PLOT 20,Y: PLOT 19,Y: PLOT 21,Y: PLOT 18,Y: FOR J = 1 TO 850: NEXT J,Y: RETURN 
  166. 1684 FL% = 0: IF WNS% +LS% <7  THEN  RETURN 
  167. 1687  VTAB 22: PRINT "*  REGISTERING WITH TOP 10 COMMISSION  *"
  168. 1690  GOSUB 1726:VFL%(V%) = 1: IF   NOT V%  THEN 1699
  169. 1693  FOR I = 1 TO 15: IF T1$(V% -1,I,1) = NA$  THEN X% = I:Y% = 14:Z% = 1:V1% = V% -1: GOSUB 1723:VFL%(V% -1) = 1: FOR J = 1 TO 9:T1$(V% -1,15,J) = "": NEXT :I = 15
  170. 1696  NEXT : IF RA% = 16  THEN  RETURN 
  171. 1699  FOR I = 1 TO 15: IF T1$(V%,I,1) = NA$  THEN X% = I:Y% = 15:Z% = 1:V1% = V%: GOSUB 1723: FOR J = 1 TO 9:T1$(V%,15,J) = "": NEXT :I = 15
  172. 1702  NEXT 
  173. 1705 PCT% = WNS%/(WNS% +LS%) *1000: FOR I = 1 TO 15: IF PCT% > VAL(T1$(V%,I,5))  THEN X% = 15:Y% = I +1:Z% =  -1:V1% = V%: GOSUB 1723:I = 15:FL% = 1: GOTO 1714
  174. 1708  IF PCT% =  VAL(T1$(V%,I,5))  AND WNS% > VAL(T1$(V%,I,3))  THEN X% = 15:Y% = I +1:Z% =  -1:V1% = V%: GOSUB 1723:I = 15:FL% = 1: GOTO 1714
  175. 1711  IF PCT% =  VAL(T1$(V%,I,5))  AND WNS% =  VAL(T1$(V%,I,3))  AND AV% > VAL(T1$(V%,I,7))  THEN X% = 15:Y% = I +1:Z% =  -1:V1% = V%: GOSUB 1723:I = 15:FL% = 1
  176. 1714  NEXT I: IF   NOT FL%  THEN  RETURN 
  177. 1717 T1$(V%,Y% -1,1) = NA$:T1$(V%,Y% -1,2) = RA$(RA%):T1$(V%,Y% -1,3) =  STR$(WNS%):T1$(V%,Y% -1,4) =  STR$(LS%):T1$(V%,Y% -1,5) =  STR$(PCT%)
  178. 1720 T1$(V%,Y% -1,6) =  STR$(IN%):T1$(V%,Y% -1,7) =  STR$(AV%):T1$(V%,Y% -1,8) =  STR$(T1%):T1$(V%,Y% -1,9) =  STR$(T2%): RETURN 
  179. 1723  FOR J = X% TO Y%  STEP Z%: FOR Z = 1 TO 9:T1$(V1%,J,Z) = T1$(V1%,J +Z%,Z): NEXT Z,J: RETURN 
  180. 1726  IF RA% <3  THEN V% = 0: RETURN 
  181. 1729  IF RA% <5  THEN V% = 1: RETURN 
  182. 1732  IF RA% <7  THEN V% = 2: RETURN 
  183. 1735 V% = 3: RETURN 
  184. 1738  POKE K%,0: FOR I = 1 TO 23: POKE 6,PI%(I): POKE 7,DU%(I): CALL SD%: IF  PEEK(PE%) >127  THEN  POKE K%,0: RETURN 
  185. 1741  NEXT : RETURN 
  186. 1744 V% = 4: GOSUB 1693: IF WNS%/(WNS% +LS%) *1000 <600  THEN  HOME : PRINT "YOU HAVE ACHEIVED RED BELT, BUT YOUR    OVERALL RECORD IS NOT GOOD ENOUGH TO    ALLOW YOU TO BECOME AN INSTRUCTOR.": GOSUB 1456: GOTO 1771
  187. 1747  PRINT S$S$NA$" IS NOW READY TO BECOME A": PRINT "COMPETITION KARATE INSTRUCTOR!!": GOSUB 1738
  188. 1750  IF   NOT IA%(IN%,4)  THEN 1774
  189. 1753  HOME : VTAB 22: PRINT "IS "NA$" WILLING TO ACCEPT THE": VTAB 23: HTAB 1: PRINT "HONOR OF BECOMING A COMPETITION KARATE  INSTRUCTOR [YES/NO] ? ";: SPEED= 255: GOSUB 1020:A$ = C$: HOME : IF A$ < >"YES"  AND A$ < >"NO"  THEN 1753
  190. 1756  SPEED= 135: IF A$ = "NO"  THEN 1771
  191. 1759  HOME : VTAB 22: PRINT NS$" GRACIOUSLY RETIRES, AND": PRINT "TURNS THE DOJO OVER TO "NA$".": SPEED= 255: GOSUB 1453
  192. 1762 A2% = IA%(IN%,4):US% = 2:IN$(IN%) = NA$:ITFL% = 1:IA%(IN%,4) = 0: GOSUB 1615:RE% = 0: IF A2% = 1  THEN  RETURN 
  193. 1765  GOSUB 1432: GOSUB 1483: GOSUB 1450: GOSUB 12000:NA$ = NS$:A0% = 0: GOSUB 1300: ONERR  GOTO 19000
  194. 1768  GOSUB 11030:US% = 3:RE% = 0: GOSUB 12000: POP : POP : POP : GOTO 1345
  195. 1771  HOME : VTAB 22: SPEED= 135: PRINT "THE WORLD OF COMPETITION KARATE BIDS YOUFOND FAREWELL.  ENJOY YOUR RETIREMENT.": SPEED= 255: GOSUB 1453: GOSUB 1738:US% = 3: RETURN 
  196. 1774  HOME : VTAB 22: PRINT "WILL "NS$" VOLUNTARILLY": PRINT "RETIRE AND NO LONGER BE AN INSTRUCTOR   [YES/NO] ? ";: SPEED= 255: GOSUB 1020:A$ = C$: HOME : IF A$ < >"NO"  AND A$ < >"YES"  THEN 1774
  197. 1777  SPEED= 135: IF A$ = "YES"  THEN 1753
  198. 1780  HOME : VTAB 22: PRINT "DOES "NA$" WISH TO CHALLENGE": PRINT NS$;: PRINT " [YES/NO] ? ";: SPEED= 255: GOSUB 1020:A$ = C$: HOME : IF A$ < >"NO"  AND A$ < >"YES"  THEN 1780
  199. 1783  SPEED= 135: IF A$ = "NO"  THEN : GOTO 1771
  200. 1786  VTAB 22: PRINT "YOU MUST FACE EACH OTHER IN A CHALLENGE.":US% = 1: SPEED= 255: GOSUB 1453: RETURN 
  201. 2000  POKE 34,5: HOME : PRINT D$"CAT,D" PEEK(798): PRINT : GET A$: GOSUB 1639: RETURN 
  202. 2100  POKE 34,4: HOME : POKE 34,6: VTAB 7: FOR I = 1 TO 30: HTAB 1 +20 *(I >15): IF I = 16  THEN  VTAB 7
  203. 2105  PRINT BR$ LEFT$(RN$(I),15): NEXT : POKE 34,22
  204. 2110  VTAB 5: HTAB 1: INVERSE : PRINT PN$;: NORMAL : HTAB 30: PRINT  SPC( RC% <10)RC%SC$"STUDENT";: IF RC% < >1  THEN  PRINT "S"
  205. 2115  RETURN 
  206. 2120  VTAB 23: CALL CL%: PRINT "COMPUTER WORK OUT FOR ALL [Y/N] ? [N]";: HTAB 36: GOSUB 1070: GET A$: IF A$ = ES$  THEN  POP : GOTO 6100
  207. 2122  IF A$ = "Y"  THEN  PRINT A$:CA% = 1
  208. 2123  RETURN 
  209. 2150 NA$ = "": FOR I = 1 TO RC%: IF  PEEK(PE%) -KN% = K7%  THEN 2165
  210. 2155  IF RC%(I)  THEN RC%(I) = 0:NA$ = RN$(I): RETURN 
  211. 2160  NEXT :RF% = 0: RETURN 
  212. 2165  VTAB 24: FLASH : PRINT S1$"ROSTER ENTRY ABORTED";: GOSUB 3000: POP :RF% = 0: GOTO 6100
  213. 2170  VTAB 14: PRINT "FROM TEAM ROSTER: ";: INVERSE : PRINT SC$PN$SC$: NORMAL : RETURN 
  214. 2180  VTAB 10: HTAB 1: CALL CL%: PRINT "GETTING STUDENT : ";: INVERSE : PRINT SC$NA$SC$: NORMAL : RETURN 
  215. 3000  NORMAL : PRINT RW$;: POKE K%,0: GET A$: HTAB 1: CALL CL%: RETURN 
  216. 6100 PF% = 0: IF RF%  THEN 7045
  217. 6105 CA% = 0: VTAB 10: CALL CL%: PRINT "[STUDENT]  [R]OSTER  [C]ATALOG": VTAB 14: CALL CL%: PRINT "=> ";: GOSUB 1020:NA$ = C$
  218. 6110  IF  RIGHT$(NA$,1) =  CHR$(32)  THEN NA$ =  LEFT$(NA$, LEN(NA$) -1): GOTO 6110
  219. 6120  IF NA$ = "C"  THEN  GOSUB 2000: GOTO 6100
  220. 6125  IF NA$ = "R"  THEN 7000
  221. 6127  IF NA$ < >""  AND NA$ < >ES$  THEN  VTAB 14: CALL CL%: GOSUB 2180: GOSUB 11000: RETURN 
  222. 6130  VTAB 18: FLASH : PRINT S1$"ARE YOU READY TO LEAVE";: NORMAL : PRINT " [Y/N] ? [N]";: HTAB  PEEK(36) -1: GET A$: IF A$ = "Y"  THEN  PRINT A$: GOTO 1570
  223. 6140  HTAB 1: CALL CL%: PRINT : GOTO 6100
  224. 7000  VTAB 10: HTAB 1: CALL CL%: PRINT "[ROSTER]  [C]ATALOG": VTAB 14: CALL CL%: PRINT "=> ";: GOSUB 1020: IF C$ = ""  THEN 6100
  225. 7010  IF  LEFT$(C$,1) <"A"  THEN  VTAB 22: FLASH : PRINT S$"INVALID ROSTER NAME";: GOSUB 3000: GOTO 7000
  226. 7020 PN$ = C$: IF PN$ = "C"  THEN  GOSUB 2000: GOTO 7000
  227. 7030  VTAB 14: CALL CL%: VTAB 10: CALL CL%: PRINT "GETTING TEAM ROSTER: ";: INVERSE : PRINT SC$PN$SC$: NORMAL : PRINT : GOSUB 13000: IF RC% <1  THEN  VTAB 22: FLASH : PRINT S$"EMPTY ROSTER";: GOSUB 3000: GOTO 6100
  228. 7040  GOSUB 2100: GOSUB 110: GOSUB 2120: GOSUB 1639
  229. 7045  GOSUB 2150: IF   NOT RF%  THEN 6105
  230. 7050  GOSUB 2180: GOSUB 2170: GOSUB 11000: RETURN 
  231. 8000  POP : GOTO 6100
  232. 11000  PRINT :RW% = 1:ST% = 1:A0% = 1: GOSUB 1300: ONERR  GOTO 19000
  233. 11010  IF A$ = ES$  THEN : POP :A$ = "": GOTO 6100
  234. 11030  PRINT D$"VERIFY^"NA$",D" PEEK(798)
  235. 11040  PRINT D$"OPEN^"NA$
  236. 11050  PRINT D$"READ^"NA$
  237. 11060  FOR I = 1 TO 9: INPUT AB%(I): NEXT : INPUT US%,AV%,IN%,WE%,HT%,RA%,WNS%,LS%,EX%,T1%,T2%,T3%,PN%,RE%,NS$
  238. 11090  PRINT D$"CLOSE"
  239. 11100  IF   NOT US%  THEN NS$ = IN$(IN%)
  240. 11110  RETURN 
  241. 12000 RW% = 3:ST% = 1: GOSUB 1300: ONERR  GOTO 19000
  242. 12010  VTAB 21: HTAB 14: CALL  -958: FLASH : PRINT " SAYONARA! ": NORMAL : VTAB 23: IF   NOT US%  THEN  HTAB 4: PRINT "GOOD LUCK IN THE NEXT TOURNAMENT"
  243. 12020  PRINT D$"UNLOCK^"NA$",D" PEEK(798)
  244. 12030  IF   NOT US%  THEN NS$ = ""
  245. 12040  PRINT D$"OPEN^"NA$
  246. 12050  PRINT D$"WRITE^"NA$
  247. 12060  FOR I = 1 TO 9: PRINT AB%(I): NEXT 
  248. 12070  PRINT US%: PRINT AV%: PRINT IN%: PRINT WE%: PRINT HT%: PRINT RA%
  249. 12080  PRINT WNS%: PRINT LS%: PRINT EX%: PRINT T1%: PRINT T2%: PRINT T3%: PRINT PN%: PRINT RE%: PRINT NS$
  250. 12090  PRINT D$"CLOSE"
  251. 12100  PRINT D$"LOCK^"NA$
  252. 12110  RETURN 
  253. 13000  FOR I = 1 TO 30:RN$(I) = "": NEXT :RW% = 1:ST% = 2:A0% = 1: GOSUB 1300: ONERR  GOTO 19000
  254. 13010  IF A$ = ES$  THEN  POP :A$ = "": GOTO 6100
  255. 13020  PRINT D$"VERIFY"PN$".ROSTER,D" PEEK(798)
  256. 13030  PRINT D$"OPEN"PN$RS$
  257. 13040  PRINT D$"READ"PN$RS$
  258. 13050  INPUT RC%: IF RC%  THEN  FOR I = 1 TO RC%: INPUT RN$(I): NEXT 
  259. 13060  PRINT D$"CLOSE"
  260. 13070  RETURN 
  261. 19000  CALL 787: POKE K%,0: IF  PEEK(222) = 255  THEN  CALL 803
  262. 19005  IF  PEEK(222) = 5  THEN  PRINT : PRINT D$"CLOSE": GOTO 1348
  263. 19010  IF  PEEK(222) = 6  THEN  FLASH : VTAB 21 +RW%: PRINT S$HK$(ST%)" NOT ON DISK";: GOSUB 3000: PRINT : ON RW% GOTO 8000,12010,12010
  264. 19015  IF  PEEK(222) = 9  THEN  FLASH : VTAB 23: PRINT S$"DISK FULL";: GOSUB 3000: PRINT : RESUME 
  265. 19020  FLASH : VTAB 21 +RW%: PRINT S1$" DISK ERROR ";: NORMAL : PRINT " CHECK SETUP AND STRIKE KEY";: GET A$: HTAB 1: CALL CL%: VTAB  PEEK(37): PRINT : RESUME 
  266. 30000 SD% = 768:SC$ = " ":BS$ =  CHR$(8):D$ =  CHR$(4): SPEED= 255: GOSUB 1399:ITFL% = 0: DIM T1$(3,16,9),V$(3),RA$(16),PR%(16),AA%(16),CL%(16),VFL%(3),PI%(23),DU%(23),RN$(30),RC%(30):DF% = 0:L$ = "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^":RW$ = " - STRIKE KEY "
  267. 30005 V% = 0:PE% =  -16384:BR$ = "[ ] ":K5% = 15:K6% = 6:K2% = 32:K3% = 13:K8% = 8:K1% = 21:K7% = 27:K9% = 33:RS$ = ".ROSTER":KN% = 128:HK$(1) = "STUDENT":HK$(2) = "ROSTER":CU$ = "]":ES$ =  CHR$(27):CL% =  -868:W$ = "[G]ENERAL  [S]PECIFIC  [C]OMPUTER ? "
  268. 30010 K% =  -16368: FOR I = 1 TO 9: READ AB$(I): NEXT : FOR I = 1 TO 16: READ RA$(I),PR%(I),AA%(I),CL%(I): NEXT : FOR I = 0 TO 3: READ V$(I): NEXT : FOR I = 1 TO 3: READ WA$(I): NEXT : FOR I = 1 TO 23: READ PI%(I),DU%(I): NEXT :S1$ =  CHR$(7):S$ = S1$ +S1$: POKE 44452,18: POKE 44605,17: RETURN 
  269. 40032  DATA  STRENGTH,AGILITY,QUICKNESS,STAMINA,PERCEPTION,COURAGE,ARMS,LEGS,BODY,WHITE,1,10,15,YELLOW,110,20,13,PURPLE,310,31,3,BLUE,520,43,2,GREEN,750,56,4,BROWN,1020,71,8
  270. 40035  DATA 1ST DEG,1420,91,0,2ND DEG,1830,112,0,3RD DEG,2260,134,0,4TH DEG,2730,157,0,5TH DEG,3200,181,0,6TH DEG,3700,206,0,7TH DEG,4230,232,0,8TH DEG,4760,259,0,9TH DEG,5320,287,0,RED,6070,317,1
  271. 40040  DATA  WHITE,BLUE,BROWN,BLACK,FIRST,SECOND,THIRD,68,255,76,120,68,255,51,220,57,220,68,120,76,120,68,255,57,120,76,255,68,220,64,220,51,120,68,120,68,255,57,120,76,220,76,220,68,220,64,220,68,120,57,120,51,255