260 X% = PEEK(KP%) -KN%: IF X% = K7% THEN RF% = 1: NORMAL : RETURN
270 IF X% = K1% THEN NORMAL : GOSUB 210:V% = V% +1: IF V% +K5% *H% >RC% OR V% >K5% THEN H% = NOT H%:V% = 1: IF H% AND RC% = <K5% THEN H% = 0
280 IF X% = K8% THEN NORMAL : GOSUB 210:V% = V% -1: IF V% <1 THEN V% = (K5% *H%) +(RC% -K5% *(RC% >K5%)) *(H% = 0):H% = NOT H%: IF H% AND RC% < = K5% THEN H% = 0
281 IF X% = K8% OR X% = K1% THEN 240
285 IF X1% = X2% AND X% = K2% AND NOT RC%(XC%) THEN GOSUB 422: GOTO 240
290 IF X% = K2% THEN RC%(XC%) = NOT RC%(XC%): IF NOT RC%(XC%) THEN NORMAL :X1% = X1% -2
640 CALL SS%: VTAB 24: PRINT "INSERT GAME DISK IN DRIVE 1 AND HIT KEY";: GOSUB 422: GET A$: VTAB 23: CALL -958: PRINT
645 SS% = 787: PRINT D$"VERIFYP20,D1"
650 DF% = 1: VTAB 23: ONERR GOTO 19000
651 RETURN
900 GOSUB 22205: GOSUB 22380
910 GOSUB 1030: GOSUB 1000: POKE 34,22: VTAB 23
915 IF NOT SG% THEN GOSUB 26000
920 GOSUB 630
922 CLEAR : GOSUB 40000
945 ONERR GOTO 965
950 PRINT D$"VERIFY GC,D1"
955 ONERR GOTO 19000
960 PRINT D$"RUNP14,D1"
965 ONERR GOTO 19000
969 PRINT D$"BLOADUL.5,A520,D1"
970 CALL 520"P16"
975 POKE 34,4: HOME : VTAB 12: HTAB 8: PRINT "ONE ETERNAL MOMENT PLEASE": IF NOT GS% THEN 992
980 GOSUB 630
983 PRINT D$"OPENSG,D1"
986 PRINT D$"DELETESG,D1"
987 PRINT D$CL$
989 GOSUB 26000
992 GOSUB 630
995 PRINT D$"RUNP20,D1"
1000 HOME : PRINT "THE STUDENTS ARE NOW INSTRUCTED TO SIT DOWN AROUND THE MAT, WHERE THEY WILL SOON FACE EACH OTHER IN FIERCE COMBAT."
1015 PRINT : PRINT : PRINT "ANY SECOND NOW, THE FIRST PAIR OF BRAVE MARTIAL ARTISTS WILL BE CALLED ONTO THE MAT TO PUT THEIR SKILLS TO THE ULTIMATE TEST...": RETURN
1030 POKE 34,5: HOME : PRINT "WE ARE READY TO BEGIN THE MATCHES.": PRINT : PRINT "PROCEED TO THE ARENA [Y/N] ? [Y]";: HTAB 31: GOSUB 422: GET A$: IF A$ < >"N" AND A$ < >ES$ THEN POKE KB%,0: RETURN
1031 PRINT "N": PRINT : POKE KB%,0: IF EL% < >1 THEN 1040
1035 PRINT "SAVE THIS TOURNAMENT"U2$;: GOSUB 422: HTAB 31: GET A$: IF A$ = ES$ THEN 1030
1036 IF A$ = "Y" THEN PRINT A$:GS% = 1: POP : GOTO 975
1037 PRINT : PRINT
1040 FLASH : PRINT CN$;: NORMAL : PRINT U2$;: HTAB 36: GET A$: IF A$ < >"Y" THEN 1030
1045 PRINT A$: POP : GOTO 900
1050 HOME : VTAB 8: FLASH : PRINT CN$;: NORMAL : PRINT U2$;: HTAB 36: GET A$: IF A$ < >"Y" THEN 900
19000 CALL 787: POKE KB%,0: IF PEEK(222) = 255 THEN CALL 803
19003 IF PEEK(222) = 6 THEN GOSUB 2000: PRINT HK$(ST%)" NOT ON DISK";: GOSUB 2010: POP : ON V1% +1 GOTO 22305,22305,22305,22305,22182
19010 FLASH : PRINT : PRINT S$" DISK ERROR ";: NORMAL : PRINT " CHECK SETUP AND STRIKE KEY";: GET A$: HTAB 1: CALL -868: VTAB PEEK(37): PRINT : RESUME
20000 POKE 34,3: HOME : INVERSE : PRINT PN$: HTAB 14: PRINT U3$: NORMAL : POKE 34,6: VTAB 7: FOR I = 1 TO 30: HTAB 1 +20 *(I >15): IF I = 16 THEN VTAB 7
20005 PRINT BR$ LEFT$(RN$(I),15): NEXT : POKE 34,22
20010 VTAB 4: HTAB 30: PRINT SPC( RC% <10)RC%SP$"STUDENT";: IF RC% < >1 THEN PRINT "S"
20015 RETURN
20200 HOME : VTAB 24: INVERSE : PRINT "[ROSTER] [C]ATALOG";: NORMAL : PRINT SP$;: GOSUB 400: HOME : IF C$ = "" THEN 22305
20203 IF LEFT$(C$,1) <"A" THEN GOSUB 2000: PRINT "INVALID ROSTER NAME";: GOSUB 2010: GOTO 20200
20205 PN$ = C$: IF PN$ = "C" THEN GOSUB 22120: GOTO 20200
20208 VTAB 24: PRINT "GETTING TEAM ROSTER: ";: INVERSE : PRINT SP$PN$SP$;: NORMAL : VTAB 5: PRINT : GOSUB 25100: IF RC% <1 THEN GOSUB 2000: PRINT "EMPTY ROSTER";: GOSUB 2010: GOTO 22305
22160 POKE 34,3: HOME : VTAB 5: PRINT "LEFT TEAM----";: INVERSE : PRINT U3$;: NORMAL : PRINT "---RIGHT TEAM": POKE 34,6: HOME : FOR K = 0 TO 1: VTAB 7: FOR J = 1 TO CO%: HTAB 19 *K +1: PRINT "-";NA$(K,J): NEXT J,K: POKE 34,22: RETURN
22165 FOR I = 0 TO 1: FOR J = 1 TO CO%:NA$(I,J) = "": NEXT J,I: RETURN
22170 FOR K = 0 TO T%: FOR J = 1 TO CO%: IF A$ = NA$(K,J) THEN POKE KB%,0: HOME : VTAB 24: FLASH : PRINT : PRINT S2$"STUDENT ALREADY ENTERED";: NORMAL : PRINT HK$(3);: GET A$: HOME : POP : GOTO 22305
22172 NEXT J,K: RETURN
22180 X = FRE(0): FOR Z = 0 TO 1: FOR P = 1 TO CO%
22189 IF T% AND INST%(T%,P) < >INST%(0,P) THEN GOSUB 2000: PRINT "WRONG INSTRUCTOR";: GOSUB 2010: GOTO 22182
22190 HOME : VTAB 24: HTAB 14: PRINT HK$(4);: GOSUB 422: GET A$: GOSUB 22150: NEXT P,Z: GOSUB 22500: POKE 35,24: HOME : POKE 34,4: RETURN
22193 IF RIGHT$(A$,1) = SP$ THEN A$ = LEFT$(A$, LEN(A$) -1): GOTO 22193
22194 RETURN
22205 POKE 34,3: HOME : INVERSE : VTAB 5: HTAB 12: PRINT " STAGE TOURNAMENT ": NORMAL : POKE 34,5: PRINT : IF SG% THEN 26340
22206 ONERR GOTO 19000
22220 PRINT "STAGE AN [O]FFICAL DIVISION TOURNAMENT OR JUST [R]EGULAR MATCHES ? [R]";: HTAB PEEK(36) -1: GOSUB 422: GET A$: IF A$ = ES$ THEN PRINT : POP : GOTO 1050
22225 IF A$ < >"O" THEN PRINT : GOTO 22265
22235 PRINT A$: PRINT : PRINT "WHICH DIVISION:": FOR I = 0 TO 4: PRINT " ["I +1"] "V1$(I): NEXT
22237 VTAB 17: PRINT "SELECT --->";: GOSUB 500:V$ = A$: IF V$ <"1" OR V$ >"5" THEN 22237
22243 VTAB 19: PRINT "WHICH DEGREE [1-9] ?";: GOSUB 500:DEG% = VAL(A$) +6: IF DEG% <7 OR DEG% >15 THEN 22243
22250 VTAB 19 +2 *(V$ = "4"):CO% = 0: PRINT "2, 4, 8 OR 16 ENTRANTS PER TEAM ?";: GOSUB 500: IF A$ < >"2" AND A$ < >"4" AND A$ < >"8" AND A$ < >"1" THEN 22250
22252 IF A$ = "1" THEN VTAB PEEK(37): HTAB 37: PRINT "6]":CO% = 16
22265 V1% = 0: VTAB 10: PRINT "HOW MANY ENTRANTS PER TEAM [1-16] ?";: GOSUB 500: IF A$ <"1" OR A$ >"9" THEN 22265
22267 IF A$ < >"1" THEN CO% = VAL(A$): PRINT : GOTO 22275
22268 POKE KB%,0: IF A$ = "1" THEN VTAB PEEK(37): HTAB 39: PRINT " ]";: HTAB 39: VTAB PEEK(37): GET B$: IF B$ = CHR$(13) THEN CO% = 1: PRINT : GOTO 22275
22269 PRINT B$: IF B$ <"0" OR B$ >"6" THEN 22265
22270 CO% = 10 + VAL(B$)
22275 VTAB 12: PRINT "HOW MANY MATCHES [1-5] ?";: GOSUB 500: IF A$ <"1" OR A$ >"5" THEN 22275
22280 RO% = VAL(A$):EL% = 0
22285 POKE KB%,0:A0% = 1: GOSUB 600: GOSUB 22165: GOSUB 22160: FOR Z = 0 TO 1:T% = Z: GOSUB 22300: NEXT
22290 GOSUB 22500: POKE 35,24: HOME : POKE 34,3: RETURN
22300 X = FRE(0):RF% = 1: FOR P = 1 TO CO%:NA$(T%,P) = "": NEXT : FOR P = 1 TO CO%
22305 GOSUB 20400:ST% = 5:NA$(T%,P) = "": VTAB 6 +P: HTAB 2 +19 *T%: PRINT BL$;: HTAB 2 +19 *T%: IF NOT RF% THEN GOSUB 20300: PRINT A$: IF RF% THEN 22305
22306 IF NOT RF% THEN 22314
22307 GOSUB 400:A$ = C$: IF A$ = "C" THEN GOSUB 22120: GOTO 22305
22310 IF A$ = "" THEN PRINT : GOSUB 22100: GOTO 22305
22312 IF A$ = "R" THEN GOTO 20200
22314 GOSUB 22193: GOSUB 22170:NA$(T%,P) = A$
22315 X$ = NA$(T%,P): GOSUB 25010: IF US%(T%,P) THEN GOSUB 2000: PRINT "NOT ELIGIBLE FOR FIGHTING";: GOSUB 2010: GOTO 22305
22317 IF EL% AND ((V1% <3 AND (RA%(T%,P) >V1%(V1%) OR RA%(T%,P) <V1%(V1%) -1)) OR (V1% = 3 AND RA%(T%,P) < >DEG%)) THEN GOSUB 2000: PRINT "RANK NOT IN THIS DIVISION";: GOSUB 2010: GOTO 22305
22320 IF EL% AND V1% = 3 AND RANK%(T%,P) < >DEG% THEN GOSUB 2000: PRINT "WRONG DEGREE OF BLACK";: GOSUB 2010: GOTO 22305
22325 HOME : VTAB 24: HTAB 14: PRINT HK$(4);: POKE 7,4: CALL SD%: IF RF% THEN GET A$
22326 HOME : GOSUB 22150: NEXT P: HOME : RETURN
22380 GOSUB 22485: GOSUB 3000:MCOUNT% = 0:FLAG% = 0: FOR I = 1 TO CO%:ST%(0,I) = 0:ST%(1,I) = 0: NEXT :X = FRE(0): FOR I = 1 TO CO%:W% = 0:H% = 0:R% = 0:P = TZ%(0,I): GOSUB 22395
22390 NEXT : PRINT : VTAB 23: HTAB 10: INVERSE : PRINT "STRIKE KEY WHEN READY";: NORMAL : GOSUB 422: GET A$: POKE 34,3: HOME : RETURN
22395 HTAB 19: VTAB PEEK(37) +1: PRINT X1$;: FOR J = 1 TO CO%: HTAB 20: PRINT J;:P1 = TZ%(1,J): IF ST%(1,P1) OR RND(E) <.35 THEN 22410
22405 IF ABS(WE%(0,P) -WE%(1,P1)) < = W% AND ABS(HE%(0,P) -HE%(1,P1)) < = H AND ABS(RA%(0,P) -RA%(1,P1)) < = INT(R) THEN OP%(0,P) = P1:OP%(1,P1) = P:ST%(1,P1) = 1: GOSUB 22425: RETURN
22410 NEXT :W% = W% +8:H = H +.5:R = R +.25: GOTO 22395
22500 IF CO% = 1 THEN TZ%(0,1) = 1:TZ%(1,1) = 1: RETURN
22501 FOR K = 0 TO 1: FOR I = 1 TO CO%:TZ%(K,I) = I: NEXT : FOR I = 1 TO CO%: FOR J = 1 TO CO% -1: IF HE%(K,TZ%(K,J)) >HE%(K,TZ%(K,J +1)) THEN TE% = TZ%(K,J):TZ%(K,J) = TZ%(K,J +1):TZ%(K,J +1) = TE%
23145 CN$ = S2$ +"YOU REALLY WANT TO CANCEL": FOR I = 1 TO 9: READ ABIL$(I): NEXT : FOR I = 1 TO 16: READ RA$(I): NEXT : FOR I = 0 TO 4: READ V1$(I),V1%(I): NEXT :U2$ = " [Y/N] ? [N]":BL$ = " ": RETURN
25010 GOSUB 600: VTAB 6
25015 PRINT D$"VERIFY^"X$",D" PEEK(798)
25020 PRINT D$"OPEN^"X$
25030 PRINT D$"READ^"X$
25040 FOR I = 1 TO 9: INPUT A%: NEXT : INPUT US%(T%,P),AG%(T%,P)
26109 FOR I = 1 TO 5: INPUT INST$(I): FOR J = 1 TO 4: INPUT IABIL%(I,J): NEXT J,I
26110 PRINT D$CL$
26215 RETURN
26300 GOSUB 630: ONERR GOTO 26312
26305 PRINT D$"VERIFYSG,D1"
26310 ONERR GOTO 19000
26311 SG% = 0: RETURN
26312 CALL 787:SG% = 1: RETURN
26340 FLASH : PRINT : PRINT S2$" SAVED TOURNAMENT ON DISK ": NORMAL : PRINT : PRINT "THIS TOURNAMENT MUST BE CONTINUED AND RESOLVED BEFORE ANY OTHER MATCHES CAN TAKE PLACE."
26350 PRINT : PRINT "RESUME THE TOURNAMENT [Y/N] ? [Y]";: HTAB 32: POKE KB%,0: GET SG$: IF SG$ = ES$ OR SG$ = "N" THEN PRINT SG$: POP : GOTO 975
26360 SG% = 1: PRINT : GOSUB 1500: POP : POKE 34,4: HOME : GOTO 910
27000 DATA STRENGTH,AGILITY,QUICKNESS,STAMINA,PERCEPTION,COURAGE,ARMS,LEGS,BODY,WHITE,YELLOW,PURPLE,BLUE,GREEN,BROWN,1ST DEG,2ND DEG,3RD DEG,4TH DEG,5TH DEG,6TH DEG
27005 DATA 7TH DEG,8TH DEG,9TH DEG,RED BELT,WHITE,2,BLUE,4,BROWN,6,BLACK,15,CHALLENGE,16
40070 DIM DM$(1,14),AB%(9,1),WD%(1,16),PO%(1,16),KF%(1,16),TF%(1,16),OF$(9,1),HS$(2,2),BS$(2,2),MI$(2),BL$(2),AK%(6,9),DS%(6,8),RT(9),TZ%(1,16),TE%(16),ST%(1,16),LR%(16)