CHP$ = "CPU" STG = 1 ' STAGE X = 91 ' HORT POS Y = 86 ' VERT POS ' I IS LOOP M = 174: ' SAME AS X / FOR CPU/2 PLR N = 86: ' SAME AS Y / FOR CPU/ 2 PLR ET = 50: ' PLR 2 ENERGY EO = 50: ' PLR 1 ENERGY ER = 0 ' ENERGY RECOVERY ER$ = "NO" ' ENERGY RECOVERY PL = 1 ' HOW MANY PLAYERS D = 4 ' Y POSITION OF CENSOR OPT = 0 ' OPTIONS RANDOMIZE TIMER SCREEN 13 2 CLS COLOR 7 PRINT "'BOXING'" PRINT "PRESS E TO END AND DURING GAME" PRINT COLOR 2: PRINT " START" PRINT " OPTIONS" LOCATE D, 1: COLOR 15: PRINT "" 5 G$ = INKEY$: IF G$ = "" THEN GOTO 5 IF G$ = CHR$(27) AND OPT > 0 THEN OPT = 0: D = 4: GOTO 2 IF G$ = "E" OR G$ = "e" THEN END IF G$ = CHR$(8) THEN CLS : GOTO CHEATS IF G$ = CHR$(0) + "M" AND OPT = 2 AND D = 9 THEN HT(2) = 1: GOTO CHEATS IF G$ = CHR$(0) + "K" AND OPT = 2 AND D = 9 THEN HT(2) = 0: GOTO CHEATS IF G$ = CHR$(0) + "M" AND OPT = 2 AND D = 8 THEN HT(1) = 1: GOTO CHEATS IF G$ = CHR$(0) + "K" AND OPT = 2 AND D = 8 THEN HT(1) = 0: GOTO CHEATS IF G$ = CHR$(0) + "M" AND OPT = 2 AND D = 7 THEN KO(2) = 1: GOTO CHEATS IF G$ = CHR$(0) + "K" AND OPT = 2 AND D = 7 THEN KO(2) = 0: GOTO CHEATS IF G$ = CHR$(0) + "M" AND OPT = 2 AND D = 6 THEN KO(1) = 1: GOTO CHEATS IF G$ = CHR$(0) + "K" AND OPT = 2 AND D = 6 THEN KO(1) = 0: GOTO CHEATS IF G$ = CHR$(0) + "M" AND OPT = 2 AND D = 4 THEN INF(1) = 1: GOTO CHEATS IF G$ = CHR$(0) + "K" AND OPT = 2 AND D = 4 THEN INF(1) = 0: GOTO CHEATS IF G$ = CHR$(0) + "M" AND OPT = 2 AND D = 5 THEN INF(2) = 1: GOTO CHEATS IF G$ = CHR$(0) + "K" AND OPT = 2 AND D = 5 THEN INF(2) = 0: GOTO CHEATS IF G$ = CHR$(0) + "M" AND OPT = 1 AND D = 5 THEN ER$ = "YES": ER = 1: GOTO OPTIN IF G$ = CHR$(0) + "K" AND OPT = 1 AND D = 5 THEN ER$ = "NO ": ER = 0: GOTO OPTIN IF G$ = CHR$(0) + "M" AND OPT = 1 AND D = 4 THEN PL = 2: GOTO OPTIN IF G$ = CHR$(0) + "K" AND OPT = 1 AND D = 4 THEN PL = 1: GOTO OPTIN IF G$ = CHR$(0) + "H" AND D < 10 AND D > 4 AND OPT = 2 THEN D = D - 1: GOTO CENSOR IF G$ = CHR$(0) + "H" AND D < 6 AND D > 4 AND OPT <> 2 THEN D = D - 1: GOTO CENSOR IF G$ = CHR$(0) + "P" AND D < 9 AND D > 3 AND OPT = 2 THEN D = D + 1: GOTO CENSOR IF G$ = CHR$(0) + "P" AND D < 5 AND D > 3 AND OPT <> 2 THEN D = D + 1: GOTO CENSOR IF G$ = CHR$(13) AND OPT = 0 THEN GOTO PICK GOTO 5 PICK: IF D = 4 THEN GOTO 8 IF D = 5 THEN CLS : GOTO OPTIN END CENSOR: LOCATE D - 1, 1: COLOR 15: PRINT " " LOCATE D, 1: COLOR 15: PRINT "" LOCATE D + 1, 1: PRINT " " GOTO 5 OPTIN: OPT = 1 COLOR 2: LOCATE 1, 1 PRINT "OPTIONS": COLOR 7 PRINT "PRESS ESC KEY TO GO BACK": PRINT PRINT " NUMBER OF PLAYERS..."; PL PRINT " ENERGY RECOVERY....."; ER$ LOCATE D, 1: COLOR 15: PRINT "" GOTO 5 CHEATS: OPT = 2 COLOR 2: LOCATE 1, 1 PRINT "CHEAT OPTIONS": COLOR 7 PRINT "(0 = OFF) (1 = ON)": PRINT PRINT " Infinite Health 1 PLR..."; INF(1) PRINT " Infinite Health 2 PLR..."; INF(2) PRINT " One Hit K.O. 1 PLR......"; KO(1) PRINT " One Hit K.O. 2 PLR......"; KO(2) PRINT " 1 PLR Hit AnyWhere......"; HT(1) PRINT " 2 PLR Hit AnyWhere......"; HT(2) LOCATE D, 1: COLOR 15: PRINT "" GOTO 5 8 CLS DIM A(500), B(500) GOSUB MAN: GOSUB MAN2: GOSUB STAGE: LINE (9, 19)-(61, 31), 15, B ' WHITE BOX LINE (10, 20)-(60, 30), 2, BF ' GREEN ENERGY PLR 1 LINE (9, 31)-(61, 31), 8: LINE (61, 19)-(61, 31), 8 ' GRAY BOTTOM LINE (69, 19)-(121, 31), 15, B ' WHITE BOX LINE (70, 20)-(120, 30), 2, BF ' GREEN ENERGY PLR 2 LINE (69, 31)-(121, 31), 8: LINE (121, 19)-(121, 31), 8 ' GRAY BOTTOM LOCATE 1, 1: PRINT "TITLE HOLDER: "; CHP$ GOTO 12 10 REM --ENERGY DISPLAY-- IF EO < 51 AND ER = 1 THEN EO = EO + 1: LINE (10, 20)-(9 + EO, 30), 2, BF IF ET < 51 AND ER = 1 THEN ET = ET + 1: LINE (70, 20)-(ET + 69, 30), 2, BF IF EO > -1 THEN LINE (60, 20)-(9 + EO, 30), 4, BF IF ET > -1 THEN LINE (120, 20)-(69 + ET, 30), 4, BF IF ET < 1 AND INF(2) = 0 THEN LOCATE 1, 1: PRINT "1 PLR WINS!": END IF EO < 1 AND INF(1) = 0 THEN LOCATE 1, 1: PRINT "2 PLR WINS!": END 12 G$ = INKEY$: IF G$ = "" THEN GOTO CPU1 IF G$ = "E" OR G$ = "e" THEN END IF G$ = "0" THEN GOTO LP1 IF G$ = "." THEN GOTO RP1 IF G$ = CHR$(13) AND CR = 12 THEN END IF G$ = CHR$(0) + "M" AND X < 174 THEN S = 1: GOTO 100 IF G$ = CHR$(0) + "K" AND X > 91 THEN S = -1: GOTO 100 IF G$ = CHR$(0) + "H" AND Y > 61 THEN S = -1: GOTO 200 IF G$ = CHR$(0) + "P" AND Y < 116 THEN S = 1: GOTO 200 IF G$ = "`" THEN GOTO RP2 IF G$ = "1" THEN GOTO LP2 IF G$ = "A" AND M > 91 OR G$ = "a" AND M > 91 THEN S = -1: GOTO 500 IF G$ = "D" AND M < 174 OR G$ = "d" AND M < 174 THEN S = 1: GOTO 500 IF G$ = "W" AND N > 61 OR G$ = "w" AND N > 61 THEN S = -1: GOTO 600 IF G$ = "S" AND N < 116 OR G$ = "s" AND N < 116 THEN S = 1: GOTO 600 GOTO 12 CPU1: IF PL = 2 THEN GOTO 12 IF N < Y AND N <> Y AND Y - N > 4 THEN S = 1: GOTO 600 IF N > Y AND N <> Y AND N - Y > 4 THEN S = -1: GOTO 600 IF M > X AND (M - X) > 7 THEN S = -1: GOTO 500 IF M < X OR M = X OR (M - X) < 6 THEN S = 1: GOTO 500 IF ABS(M - X) < 9 AND ABS(M - X) > 4 AND Y - N < 6 AND Y > N THEN GOTO LP2 IF ABS(M - X) < 9 AND ABS(M - X) > 4 AND N - Y < 6 AND N > Y THEN GOTO RP2 GOTO 10 100 REM -LEFT/RIGHT- 'GOSUB STAGE X = X + S: PUT (X, Y), A, PSET GOTO 10 200 REM -UP/DOWN- 'Y = Y + S: PUT (X, Y), A, PSET 'Y = Y + S: PUT (X, Y), A, PSET 'GOSUB STAGE Y = Y + S: PUT (X, Y), A, PSET GOTO 10 500 REM -FORWARD/BACK- M = M + S PUT (M, N), B, PSET 'FOR I = 1 TO 1000: NEXT I GOTO 10 600 REM -UP/DOWN- N = N + S PUT (M, N), B, PSET 'FOR I = 1 TO 1000: NEXT I GOTO 10 LP1: PUT (X, Y), A, PSET LINE (X + 3, Y + 1)-(X + 9, Y + 1), 1: PSET (X + 10, Y + 1), 12 FOR I = 1 TO 5000: NEXT I LINE (X + 3, Y + 1)-(X + 9, Y + 1), 7: PSET (X + 10, Y + 1), 7 PUT (M, N), B, PSET PUT (X, Y), A, PSET IF HT(1) = 1 THEN ET = ET - 2 IF KO(1) = 1 THEN ET = 0 IF ABS(M - X) < 9 AND ABS(M - X) > 4 AND Y - N < 6 AND Y > N THEN ET = ET - 2 GOTO 10 RP1: PUT (X, Y), A, PSET LINE (X + 3, Y + 7)-(X + 9, Y + 7), 1: PSET (X + 10, Y + 7), 12 FOR I = 1 TO 5000: NEXT I LINE (X + 3, Y + 7)-(X + 9, Y + 7), 7: PSET (X + 10, Y + 7), 7 PUT (M, N), B, PSET PUT (X, Y), A, PSET IF HT(1) = 1 THEN ET = ET - 2 IF KO(1) = 1 THEN ET = 0 IF ABS(M - X) < 9 AND ABS(M - X) > 4 AND N - Y < 6 AND Y < N THEN ET = ET - 2 GOTO 10 RP2: PUT (M, N), B, PSET LINE (M + 4, N + 1)-(M - 2, N + 1), 11: PSET (M - 3, N + 1), 12 FOR I = 1 TO 5000: NEXT I LINE (M + 4, N + 1)-(M - 2, N + 1), 7: PSET (M - 3, N + 1), 7 PUT (X, Y), A, PSET PUT (M, N), B, PSET IF HT(2) = 1 THEN EO = EO - 2 IF KO(2) = 1 THEN EO = 0 IF ABS(M - X) < 9 AND ABS(M - X) > 4 AND N - Y < 6 AND N > Y THEN LOCATE 3, 1: EO = EO - 2 GOTO 10 LP2: PUT (M, N), B, PSET LINE (M + 4, N + 7)-(M - 2, N + 7), 11: PSET (M - 3, N + 7), 12 FOR I = 1 TO 5000: NEXT I LINE (M + 4, N + 7)-(M - 2, N + 7), 7: PSET (M - 3, N + 7), 7 PUT (X, Y), A, PSET PUT (M, N), B, PSET IF HT(2) = 1 THEN EO = EO - 2 IF KO(2) = 1 THEN EO = 0 IF ABS(M - X) < 9 AND ABS(M - X) > 4 AND Y - N < 6 AND Y > N THEN LOCATE 3, 1: EO = EO - 2 GOTO 10 STAGE: LINE (0, 0)-(319, 199), 15, B PAINT (1, 1), 7, 15 LINE (80, 50)-(192, 135), 9, B LINE (84, 54)-(188, 131), 9, B LINE (87, 57)-(185, 128), 9, B LINE (80, 50)-(89, 59), 4 LINE (183, 59)-(192, 50), 4 LINE (183, 126)-(192, 135), 4 LINE (89, 126)-(80, 135), 4 LINE (90, 60)-(182, 125), 2, B RETURN MAN: LINE (X - 3, Y - 4)-(X + 4, Y + 4), 7, BF CIRCLE (X, Y), 2, 0 PAINT (X + 1, Y + 1), 12, 0 LINE (X, Y - 3)-(X + 3, Y - 3), 1: PSET (X + 3, Y - 3), 12 LINE (X, Y + 3)-(X + 3, Y + 3), 1: PSET (X + 3, Y + 3), 12 GET (X - 3, Y - 4)-(X + 4, Y + 4), A PUT (X, Y), A, PSET RETURN MAN2: LINE (X - 4, Y - 4)-(X + 3, Y + 4), 7, BF CIRCLE (X, Y), 2, 0 PAINT (X + 1, Y + 1), 12, 0 LINE (X, Y - 3)-(X - 3, Y - 3), 11: PSET (X - 3, Y - 3), 12 LINE (X, Y + 3)-(X - 3, Y + 3), 11: PSET (X - 3, Y + 3), 12 GET (X - 4, Y - 4)-(X + 3, Y + 4), B PUT (M, N), B, PSET RETURN