'=========================================================================== ' Subject: DEATH FIGHT V1.0 Date: 06-21-98 (11:25) ' Author: Noah Daleo Code: QB, QBasic, PDS ' Origin: www.algonet.se/~emden/ Packet: GAMES.ABC '=========================================================================== '--------READ THIS TO FIND OUT HOW TO GET A FREE COPY OF VERSION 2.0!--------- 'LIKE IT SAYS IN THE PROGRAM, JUST E-MAIL ME AND TELL ME WHAT YOU THINK, AND 'I'LL SEND YOU A FREE COPY OF VERSION 2.0. I'D LIKE TO KEEP TRACK OF PEOPLE'S 'COMMENTS ABOUT MY GAMES, SO THAT'S WHY I'M DOING THIS. UP UNTIL NOW, I 'HAVEN'T GOTTEN MUCH OF A RESPONSE. THEREFORE, SINCE I'M JUST DOING THIS FREE 'OFFER FOR SOME FEEDBACK, THAT MEANS NO STRAIN ON YOUR WALLET! VERSION 2.0 'FEATURES VARIOUS CHEAT CODES THAT CAN BRING YOU ACCESS TO A GRAPHICS TEST, A 'SOUND + MUSIC TEST, A STRANGE VAR-MODE, AND A NIGHTMARISH DIFFICULTY LEVEL! 'OTHER ADDITIONS INCLUDE TWO NEW MOVES: DERRICK'S KNEE SMASH + SAMSON'S RAGE! 'SO, LIKE I SAID, JUST E-MAIL ME, AND - HERE'S THE IMPORTANT PART - TELL ME 'WHAT YOU THINK! I'M OPEN TO NEW IDEAS OR SUGGESTIONS, OR IF YOU ARE A 'PROGRAMER AND HAVE QUESTIONS ABOUT THE WRITTEN CODE, JUST ASK! IT'S THAT 'EASY. AND ONE MORE THING: MY SCREEN NAME IS RJD42. HOPE YOU ENJOY! '-------------------HERE'S WHERE THE PROGRAM STARTS!--------------------------- DECLARE SUB cone (ch%, cv%, height%, size%) DECLARE SUB gethighscore () DECLARE SUB drawenemyplain () DECLARE SUB drawenemyblock () DECLARE FUNCTION DetectCard% () DECLARE SUB SBInit () DECLARE SUB DELAY (break%) DECLARE SUB drawfireball () DECLARE SUB fireballexplode () DECLARE SUB puthighscore () DECLARE SUB song1 () DECLARE SUB song2 () DECLARE SUB note (level%, legnth%) DECLARE SUB background1 () DECLARE SUB background2 () DECLARE SUB backgroundpit () DECLARE SUB intro () DECLARE SUB drawguy1stick () DECLARE SUB drawguy2stretch () DECLARE SUB statusbar () DECLARE SUB soundeffect (kind$) DECLARE SUB soundoptions () DECLARE SUB endpicture () DECLARE SUB WriteReg (Reg%, Value%) DECLARE SUB SBPlay (note%) DECLARE SUB drawguy1plain () DECLARE SUB drawguy2plain () DECLARE SUB drawguy2punching () DECLARE SUB drawguy2kicking () DECLARE SUB drawguy2victory () DECLARE SUB drawguy2ducking () DECLARE SUB drawguy1punching () DECLARE SUB drawguy1kicking () DECLARE SUB drawguy1blocking () DECLARE SUB drawguy1ducking () DECLARE SUB enemypattern () DECLARE SUB exitprogram () DECLARE SUB drawenemykicking () DECLARE SUB enemyfall () DECLARE SUB punchoffledge () DECLARE SUB ending () DECLARE SUB guy1ending () DECLARE SUB guy2ending () DECLARE SUB reward () DECLARE SUB drawenemyfallen () DECLARE SUB characterpick () DECLARE SUB round (roundnum%) DECLARE SUB fight (fightnumber%) DECLARE SUB fightstartup () DECLARE SUB fightwithchar1 () DECLARE SUB fightwithchar1duck () DECLARE SUB fightwithchar1fire () DECLARE SUB fightwithenemyfall () DECLARE SUB fightwithchar1blck () DECLARE SUB fightwithchar2 () DECLARE SUB fightwithchar2duck () CONST false = 0, true = NOT false DIM SHARED dmode$, dcount%, zcount%, no$, v%, inspike$, change$, name$, firsttime$, ch%, cv%, height%, col%, backcol%, size%, firetimer%, rndnum%, highrating$, difficulty%, col1%, col2%, col3%, oldcombodamage%, combodamage%, oldcombohits%, hittimer%, combohits%, COMBOTIMER%, highfightwins%, fightwins%, enemyposition$, fireball$, fightnum%, blocking$, LESSLIMIT%, MORELIMIT%, bg%, ph%, pvv%, charpick%, kind$, enemylife%, guy1position$, soundcard$, sounds$, gl%, dsoundcard$, ncount%, break%, life%, time%, evv%, eh%, score%, scount%, bh%, bv%, highscore%, yesjump%, nname$ nname$ = "Noah": name$ = "Noah": highscore% = 2500: highfightwins% = 10 col1% = 8: col2% = 4: col3% = 11: inspike$ = "NO": dmode$ = "NO" difficulty% = 4 firsttime$ = "YES" RANDOMIZE TIMER bg% = INT(RND * 1) + 1'2'1 IF bg% = 1 THEN LESSLIMIT% = 10: MORELIMIT% = 310 IF bg% = 2 THEN LESSLIMIT% = 20: MORELIMIT% = 290 IF DetectCard = true THEN soundcard$ = "YES": GOTO 15 ELSE soundcard$ = "NO": dsoundcard$ = "NO": GOTO 15 END IF IF dsoundcard$ = "NO" THEN soundcard$ = "NO" 15 CLS : SCREEN 9: COLOR 15 DO TTIMES% = TTIMES% + 1 PRINT "' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ''" '" IF TTIMES% = 31 THEN EXIT DO LOOP DELAY 32766 PRINT "' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ''" DO: DELAY 32766: TaTIMES% = TaTIMES% + 1 IF TaTIMES% = 10 THEN EXIT DO LOOP PRINT "' ' ' ' '' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' '' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' CREDITS: ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' '' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' ------------------------ ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | ALL PROGRAMING | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | WAS DONE BY: | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | | ' ' ' ' ''" DELAY 32766'  THAT'S ME!  PRINT "' ' ' ' ' | NOAH DALEO | ' ' ' ' ''" DELAY 32766' PRINT "' ' ' ' ' | | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | AOL SCREEN-NAME: | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | RJD42 | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' ------------------------ ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' '' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' '' ' ' ' ''" DO DELAY 32766: TTIMES% = TTIMES% + 1 PRINT "' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ''" '" IF TTIMES% = 34 THEN EXIT DO LOOP FOR huey% = 1 TO 10 DELAY 32766 NEXT huey% DO DELAY 32766: TTIMES% = TTIMES% + 1 PRINT "' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ''" '" IF TTIMES% = 55 THEN EXIT DO LOOP DO: DELAY 32766: TaTIMES% = TaTIMES% + 1 IF TaTIMES% = 20 THEN EXIT DO LOOP CLS : CALL soundoptions IF dsoundcard$ = "NO" THEN soundcard$ = "NO" CALL intro CALL puthighscore CALL characterpick fightnum% = 1'1 fight: IF fightnum% > 11 THEN GOTO 680 fight fightnum% IF firsttime$ = "YES" THEN firsttime$ = "NO": GOTO 768 IF bg% = 1 THEN bg% = 2: GOTO 768 IF bg% = 2 THEN bg% = 1 768 IF bg% = 1 THEN LESSLIMIT% = 10: MORELIMIT% = 310 IF bg% = 2 THEN LESSLIMIT% = 20: MORELIMIT% = 290 wins% = 0 rndnum% = 1 IF charpick% = 1 THEN CALL fightwithchar1 IF charpick% = 2 THEN CALL fightwithchar2 IF life% > enemylife% THEN wins% = wins% + 1 rndnum% = 2 IF charpick% = 1 THEN CALL fightwithchar1 IF charpick% = 2 THEN CALL fightwithchar2 IF life% > enemylife% THEN wins% = wins% + 1 IF wins% = 2 THEN status$ = "WIN": GOTO 678 IF wins% = 0 THEN status$ = "LOSE": GOTO 678 rndnum% = 3 IF charpick% = 1 THEN CALL fightwithchar1 IF charpick% = 2 THEN CALL fightwithchar2 IF life% > enemylife% THEN wins% = wins% + 1 IF wins% = 2 THEN status$ = "WIN": GOTO 678 IF wins% < 2 THEN status$ = "LOSE": GOTO 678 678 IF status$ = "WIN" THEN fightwins% = fightwins% + 1: fightnum% = fightnum% + 1: col1% = col1% + 1: col2% = col2% + 1: GOTO fight 679 CLS : SCREEN 13: LOCATE 13, 15: COLOR 10: PRINT "YOU LOSE!" DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: CALL exitprogram 680 CLS : SCREEN 13: LOCATE 13, 15: COLOR 10: PRINT "YOU WIN!" DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: CALL song2: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: CALL ending CALL reward CALL exitprogram DEFINT A-Z SUB background1 LINE (0, 184)-(319, 200), 0, BF PAINT (1, 1), 9 LINE (0, gl% + 8)-(319, gl% + 8), 0 PAINT (1, 199), 2, 0 COLOR 4'? CIRCLE (40, 40), 7, 15 PAINT (40, 40), 15, 15 CIRCLE (50, 36), 9, 15 PAINT (50, 36), 15, 15 CIRCLE (60, 40), 7, 15 PAINT (60, 40), 15, 15 CIRCLE (50, 40), 8, 15 PAINT (50, 40), 15, 15 PAINT (50, 45), 15, 15 CIRCLE (140, 60), 7, 15 PAINT (140, 60), 15, 15 CIRCLE (150, 56), 9, 15 PAINT (150, 56), 15, 15 CIRCLE (160, 60), 7, 15 PAINT (160, 60), 15, 15 CIRCLE (150, 60), 8, 15 PAINT (150, 60), 15, 15 PAINT (150, 65), 15, 15 CIRCLE (240, 30), 7, 15 PAINT (240, 30), 15, 15 CIRCLE (250, 26), 9, 15 PAINT (250, 26), 15, 15 CIRCLE (260, 30), 7, 15 PAINT (260, 30), 15, 15 CIRCLE (250, 30), 8, 15 PAINT (250, 30), 15, 15 PAINT (250, 35), 15, 15 LINE (5, gl% + 7)-(5, gl% - 35), 9 END SUB DEFSNG A-Z SUB background2 LINE (0, 184)-(319, 200), 0, BF PAINT (1, 1), 9 LINE (0, gl% + 8)-(319, gl% + 8), 0 PAINT (1, 199), 2, 0 COLOR 4 LINE (0, gl% - 100)-(35, gl% - 125), 0 LINE (0, gl% - 100)-(320, gl% - 100), 0 LINE (320, gl% - 100)-(285, gl% - 125), 0 PAINT (100, 20), 6, 0 LINE (0, gl% + 8)-(5, gl% - 100), 0, BF LINE (320, gl% + 8)-(315, gl% - 100), 0, BF END SUB SUB backgroundpit PAINT (1, 100), backcol% LINE (35, 0)-(35, 175), 0 LINE (285, 0)-(285, 175), 0 LINE (0, 170)-(320, 200), 8, BF LINE (0, 0)-(34, 200), 8, BF LINE (320, 0)-(286, 200), 8, BF LINE (35, 170)-(285, 170), 0 END SUB SUB characterpick CLS : SCREEN 13: PAINT (1, 1), 8: COLOR 15 LOCATE 1, 1: PRINT " " LOCATE 2, 1: PRINT " Pick your character: " LOCATE 22, 1: PRINT " " LOCATE 23, 1: PRINT " " LINE (0, 180)-(320, 200), 0, BF ph% = 100: pvv% = 55: CIRCLE (ph%, pvv% + 30), 4, 0 LINE (ph% - 3, pvv% + 33)-(ph% + 2, pvv% + 40), 0, B LINE (ph% - 6, pvv% + 34)-(ph% + 5, pvv% + 34), 0 LINE (ph% + 6, pvv% + 35)-(ph% + 6, pvv% + 39), 0 LINE (ph% + 4, pvv% + 40)-(ph% + 5, pvv% + 40), 0 LINE (ph% + 4, pvv% + 39)-(ph% + 4, pvv% + 36), 0 LINE (ph% + 3, pvv% + 36)-(ph% + 3, pvv% + 36), 0 LINE (ph%, pvv% + 30)-(ph%, pvv% + 30), 0 LINE (ph% + 2, pvv% + 30)-(ph% + 2, pvv% + 30), 0 LINE (ph% - 2, pvv% + 27)-(ph% + 2, pvv% + 27), 0 LINE (ph% - 7, pvv% + 35)-(ph% - 7, pvv% + 39), 0 LINE (ph% - 6, pvv% + 40)-(ph% - 5, pvv% + 40), 0 LINE (ph% - 5, pvv% + 40)-(ph% - 5, pvv% + 36), 0 LINE (ph% - 5, pvv% + 36)-(ph% - 4, pvv% + 36), 0 LINE (ph% + 2, pvv% + 40)-(ph% + 5, pvv% + 48), 0 LINE (ph% - 3, pvv% + 40)-(ph% - 6, pvv% + 47.75), 0 LINE (ph% + 5, pvv% + 48)-(ph% + 2, pvv% + 48), 0 LINE (ph% - 6, pvv% + 48)-(ph% - 6, pvv% + 48), 3 LINE (ph% - 5, pvv% + 48)-(ph% - 2, pvv% + 48), 0 LINE (ph% - 3, pvv% + 48)-(ph% - 1, pvv% + 45), 0 LINE (ph% + 2, pvv% + 48)-(ph%, pvv% + 44), 0 LINE (ph% + 2, pvv% + 48)-(ph% + 6, pvv% + 50), 0, BF LINE (ph% - 2, pvv% + 48)-(ph% - 6, pvv% + 50), 0, BF PAINT (ph% + 3, pvv% + 47), 1, 0 PAINT (ph%, pvv% + 38), 2, 0 PAINT (ph% + 1, pvv% + 31), 11, 0 PAINT (ph% + 5, pvv% + 36), 11, 0 PAINT (ph% - 6, pvv% + 36), 11, 0 ph% = 200: pvv% = 96 CIRCLE (ph%, pvv%), 7, 0 LINE (ph% - 2, pvv%)-(ph% - 2, pvv% - 1), 0 LINE (ph% + 2, pvv%)-(ph% + 2, pvv% - 1), 0 LINE (ph% - 3, pvv% + 2)-(ph% + 1, pvv% + 3), 0 LINE (ph% + 2, pvv% + 3)-(ph% + 3, pvv% + 2), 0 PAINT (ph%, pvv%), 10, 0 LINE (ph% + 3, pvv% + 5)-(ph% + 5, pvv% + 8), 0, B LINE (ph% - 3, pvv% + 5)-(ph% - 5, pvv% + 8), 0, B PAINT (ph% + 4, pvv% + 6), 12, 0 PAINT (ph% - 4, pvv% + 6), 12, 0 LINE (ph% + 6, pvv% + 8)-(ph% + 3, pvv% + 9), 0, BF LINE (ph% - 6, pvv% + 8)-(ph% - 3, pvv% + 9), 0, BF LINE (ph% + 8, pvv%)-(ph% + 10, pvv% + 5), 0, B PSET (ph% + 9, pvv% - 1), 0 LINE (ph% + 9, pvv%)-(ph% + 9, pvv% + 3), 12 PSET (ph% + 8, pvv% - 1), 0 LINE (ph% + 8, pvv%)-(ph% + 8, pvv%), 12 LINE (ph% - 8, pvv%)-(ph% - 10, pvv% + 5), 0, B PSET (ph% - 9, pvv% - 1), 0 LINE (ph% - 9, pvv%)-(ph% - 9, pvv% + 3), 12 PSET (ph% - 8, pvv% - 1), 0 LINE (ph% - 8, pvv%)-(ph% - 8, pvv%), 12 PSET (ph% + 9, pvv% + 4), 0 PSET (ph% - 9, pvv% + 4), 0 charpick% = 1 689 DO IF charpick% = 1 THEN LINE (75, 70)-(125, 120), 0, B END IF IF charpick% = 2 THEN LINE (175, 70)-(225, 120), 0, B END IF SELECT CASE INKEY$ CASE IS = CHR$(0) + "M" IF charpick% = 1 THEN GOSUB DING LINE (75, 70)-(125, 120), 8, B: charpick% = 2: GOTO 689 END IF IF charpick% = 2 THEN GOSUB DING LINE (175, 70)-(225, 120), 8, B: charpick% = 1: GOTO 689 END IF CASE IS = CHR$(0) + "K" IF charpick% = 1 THEN GOSUB DING LINE (75, 70)-(125, 120), 8, B: charpick% = 2: GOTO 689 END IF IF charpick% = 2 THEN GOSUB DING LINE (175, 70)-(225, 120), 8, B: charpick% = 1: GOTO 689 END IF CASE IS = CHR$(13) GOSUB DING EXIT DO CASE IS = " " GOSUB DING EXIT DO END SELECT LOOP CLS : SLEEP 1: GOTO 89 DING: soundeffect "DING" RETURN 89 END SUB SUB cone (ch%, cv%, height%, size%) oldsize% = size%: oldcv% = cv% 56 CIRCLE (ch%, cv%), size%, col% FOR this% = 1 TO (height% / 16) CIRCLE (ch%, cv% + this%), size%, col% NEXT this% IF size% > 1 THEN size% = size% - 1: cv% = cv% - height% / oldsize%: GOTO 56 size% = oldsize%: cv% = oldcv% ':col%=col%+1 CIRCLE (ch%, cv%), size%, 8 LINE (ch%, cv% - height%)-(ch%, cv% + size% - (size% / 5)), 31 LINE (ch%, cv% - height%)-(ch%, cv% - size% + (size% / 5)), 31 LINE (ch%, cv% - height%)-(ch% - size%, cv%), 16 LINE (ch%, cv% - height%)-(ch% + size%, cv%), 16 LINE (ch%, cv% - height%)-(ch% + (size% * .75), cv% + ((size% - (size% / 5)) * .75) - 1), 24 LINE (ch%, cv% - height%)-(ch% - (size% * .75), cv% + ((size% - (size% / 5)) * .75) - 1), 24 LINE (ch%, cv% - height%)-(ch% + (size% * .75), cv% - ((size% - (size% / 5)) * .75) + 1), 24 LINE (ch%, cv% - height%)-(ch% - (size% * .75), cv% - ((size% - (size% / 5)) * .75) + 1), 24 LINE (ch%, cv% - height%)-(ch% + (size% * .4), cv% + ((size% - (size% / 5)) * .9) - 1), 28 LINE (ch%, cv% - height%)-(ch% - (size% * .4), cv% + ((size% - (size% / 5)) * .9) - 1), 28 LINE (ch%, cv% - height%)-(ch% + (size% * .4), cv% - ((size% - (size% / 5)) * .9) + 1), 28 LINE (ch%, cv% - height%)-(ch% - (size% * .4), cv% - ((size% - (size% / 5)) * .9) + 1), 28 LINE (ch%, cv% - height%)-(ch% + (size% * .9), cv% + ((size% - (size% / 5)) * .4) - 1), 20 LINE (ch%, cv% - height%)-(ch% - (size% * .9), cv% + ((size% - (size% / 5)) * .4) - 1), 20 LINE (ch%, cv% - height%)-(ch% + (size% * .9), cv% - ((size% - (size% / 5)) * .4) + 1), 20 LINE (ch%, cv% - height%)-(ch% - (size% * .9), cv% - ((size% - (size% / 5)) * .4) + 1), 20 LINE (ch%, cv% - height%)-(ch% + (size% * .85), cv% + ((size% - (size% / 5)) * .6) - 1), 22 LINE (ch%, cv% - height%)-(ch% - (size% * .85), cv% + ((size% - (size% / 5)) * .6) - 1), 22'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% + (size% * .85), cv% - ((size% - (size% / 5)) * .6) + 1), 22'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% - (size% * .85), cv% - ((size% - (size% / 5)) * .6) + 1), 22'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% + (size% * .6), cv% + ((size% - (size% / 5)) * .85) - 1), 26'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% - (size% * .6), cv% + ((size% - (size% / 5)) * .85) - 1), 26'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% + (size% * .6), cv% - ((size% - (size% / 5)) * .85) + 1), 26'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% - (size% * .6), cv% - ((size% - (size% / 5)) * .85) + 1), 26'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% + (size% * .2), cv% + ((size% - (size% / 5)) * 1) - 1), 30'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% - (size% * .2), cv% + ((size% - (size% / 5)) * 1) - 1), 30'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% + (size% * .2), cv% - ((size% - (size% / 5)) * 1) + 1), 30'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% - (size% * .2), cv% - ((size% - (size% / 5)) * 1) + 1), 30'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% + (size% * .95), cv% + ((size% - (size% / 5)) * .2) - 1), 18'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% - (size% * .95), cv% + ((size% - (size% / 5)) * .2) - 1), 18'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% + (size% * .95), cv% - ((size% - (size% / 5)) * .2) + 1), 18'col%: col% = col% - 1 LINE (ch%, cv% - height%)-(ch% - (size% * .95), cv% - ((size% - (size% / 5)) * .2) + 1), 18'col%: col% = col% - 1 END SUB DEFINT A-Z SUB DELAY (break%) FOR W% = 1 TO break% STEP 1: NEXT W% END SUB FUNCTION DetectCard% CALL WriteReg(&H4, &H60) CALL WriteReg(&H4, &H80) B = INP(&H388) CALL WriteReg(&H2, &HFF) CALL WriteReg(&H4, &H21) FOR x = 0 TO 130 A = INP(&H388) NEXT x c = INP(&H388) CALL WriteReg(&H4, &H60) CALL WriteReg(&H4, &H80) Success = 0 IF (B AND &HE0) = &H0 THEN IF (c AND &HE0) = &HC0 THEN Success = -1 END IF END IF DetectCard% = Success END FUNCTION DEFSNG A-Z SUB drawenemyblock CIRCLE (eh% - 1, evv% + 30), 4, 0 LINE (eh% - 3, evv% + 33)-(eh% + 2, evv% + 40), 0, B LINE (eh% - 5, evv% + 34)-(eh% + 1, evv% + 34), 0 LINE (eh% - 8, evv% + 40 - 5)-(eh% - 8, evv% + 40 - 9), 0 LINE (eh% - 6, evv% + 40 - 10)-(eh% - 7, evv% + 40 - 10), 0 LINE (eh% - 6, evv% + 40 - 9)-(eh% - 6, evv% + 40 - 6), 0 LINE (eh% - 5, evv% + 40 - 6)-(eh% - 5, evv% + 40 - 6), 0 LINE (eh% - 7, evv% + 40 - 4)-(eh% - 3, evv% + 40 - 4), 0 LINE (eh% - 1, evv% + 30)-(eh% - 1, evv% + 30), 0 LINE (eh% - 3, evv% + 30)-(eh% - 3, evv% + 30), 0 LINE (eh% + 2, evv% + 40)-(eh% + 5, evv% + 48), 0 LINE (eh% - 3, evv% + 40)-(eh% - 6, evv% + 47.75), 0 LINE (eh% + 5, evv% + 48)-(eh% + 2, evv% + 48), 0 LINE (eh% - 6, evv% + 48)-(eh% - 6, evv% + 48), 3 LINE (eh% - 5, evv% + 48)-(eh% - 2, evv% + 48), 0 LINE (eh% - 3, evv% + 48)-(eh% - 1, evv% + 45), 0 LINE (eh% + 2, evv% + 48)-(eh%, evv% + 44), 0 LINE (eh% + 2, evv% + 48)-(eh% + 6, evv% + 50), 0, BF LINE (eh% - 2, evv% + 48)-(eh% - 6, evv% + 50), 0, BF PAINT (eh% + 3, evv% + 47), col1%, 0 PAINT (eh%, evv% + 38), col2%, 0 PAINT (eh% + 1, evv% + 31), col3%, 0 PAINT (eh% - 5, evv% + 35), col3%, 0 END SUB SUB drawenemyfallen CIRCLE (eh% + 22, evv% + 47), 4, 0 LINE (eh% + 18, evv% + 50)-(eh% + 9, evv% + 44), 0, B LINE (eh% + 16, evv% + 48)-(eh% + 11, evv% + 46), 0, B LINE (eh% + 22, evv% + 46)-(eh% + 22, evv% + 46), 0 PAINT (eh% + 15, evv% + 47), col3%, 0 PAINT (eh% + 17, evv% + 48), col2%, 0 PAINT (eh% + 22, evv% + 48), col3%, 0 LINE (eh% + 9, evv% + 45)-(eh% + 0, evv% + 50), 0, B PAINT (eh% + 8, evv% + 46), col1%, 0 LINE (eh% + 0, evv% + 49)-(eh% - 2, evv% + 44), 0, BF IF col3% = 0 AND inspike$ = "NO" AND fightnum% <> 11 THEN LINE (eh% + 16, evv% + 45)-(eh% + 18, evv% + 39), 0, BF IF col3% = 0 AND inspike$ <> "NO" THEN LINE (eh% + 16, evv% + 45)-(eh% + 18, evv% + 39), 9, BF END SUB SUB drawenemykicking CIRCLE (eh% - 1, evv% + 30), 4, 0 LINE (eh% - 3, evv% + 33)-(eh% + 2, evv% + 40), 0, B LINE (eh% - 6, evv% + 34)-(eh% + 5, evv% + 34), 0 LINE (eh% + 6, evv% + 35)-(eh% + 6, evv% + 39), 0 LINE (eh% + 4, evv% + 40)-(eh% + 5, evv% + 40), 0 LINE (eh% + 4, evv% + 39)-(eh% + 4, evv% + 36), 0 LINE (eh% + 3, evv% + 36)-(eh% + 3, evv% + 36), 0 LINE (eh%, evv% + 30)-(eh%, evv% + 30), 0 LINE (eh% - 2, evv% + 30)-(eh% - 2, evv% + 30), 0 LINE (eh% - 7, evv% + 35)-(eh% - 7, evv% + 39), 0 LINE (eh% - 6, evv% + 40)-(eh% - 5, evv% + 40), 0 LINE (eh% - 5, evv% + 40)-(eh% - 5, evv% + 36), 0 LINE (eh% - 5, evv% + 36)-(eh% - 4, evv% + 36), 0 LINE (eh% + 2, evv% + 40)-(eh% + 5, evv% + 47.75), 0 LINE (eh% + 2, evv% + 48)-(eh% + 0, evv% + 45), 0 LINE (eh% + 1, evv% + 48)-(eh% + 5, evv% + 50), 0, BF LINE (eh% - 6, evv% + 44)-(eh% - 8, evv% + 40), 0 LINE (eh% - 9, evv% + 40)-(eh% - 9, evv% + 44), 0 LINE (eh% - 9, evv% + 44)-(eh% - 7, evv% + 44), 0 PAINT (eh% - 8, evv% + 43), 0, 0 LINE (eh% - 8, evv% + 41)-(eh% - 3, evv% + 41), 0 LINE (eh% - 1, evv% + 44)-(eh% - 6, evv% + 44), 0 PSET (eh% + 2, evv% + 27), 9 PAINT (eh% + 2, evv% + 43), col1%, 0 PAINT (eh%, evv% + 38), col2%, 0 PAINT (eh% + 1, evv% + 31), col3%, 0 PAINT (eh% + 5, evv% + 36), col3%, 0 PAINT (eh% - 6, evv% + 36), col3%, 0 soundeffect "KICK" END SUB DEFINT A-Z SUB drawenemyplain CIRCLE (eh% - 1, evv% + 30), 4, 0 LINE (eh% - 3, evv% + 33)-(eh% + 2, evv% + 40), 0, B LINE (eh% - 6, evv% + 34)-(eh% + 5, evv% + 34), 0 LINE (eh% + 6, evv% + 35)-(eh% + 6, evv% + 39), 0 LINE (eh% + 4, evv% + 40)-(eh% + 5, evv% + 40), 0 LINE (eh% + 4, evv% + 39)-(eh% + 4, evv% + 36), 0 LINE (eh% + 3, evv% + 36)-(eh% + 3, evv% + 36), 0 LINE (eh% - 2, evv% + 30)-(eh% - 2, evv% + 30), 0 LINE (eh%, evv% + 30)-(eh%, evv% + 30), 0 LINE (eh% - 2, evv% + 27)-(eh% + 2, evv% + 27), 0 LINE (eh% - 7, evv% + 35)-(eh% - 7, evv% + 39), 0 LINE (eh% - 6, evv% + 40)-(eh% - 5, evv% + 40), 0 LINE (eh% - 5, evv% + 40)-(eh% - 5, evv% + 36), 0 LINE (eh% - 5, evv% + 36)-(eh% - 4, evv% + 36), 0 LINE (eh% + 2, evv% + 40)-(eh% + 5, evv% + 48), 0 LINE (eh% - 3, evv% + 40)-(eh% - 6, evv% + 47.75), 0 LINE (eh% + 5, evv% + 48)-(eh% + 2, evv% + 48), 0 LINE (eh% - 6, evv% + 48)-(eh% - 6, evv% + 48), 3 LINE (eh% - 5, evv% + 48)-(eh% - 2, evv% + 48), 0 LINE (eh% - 3, evv% + 48)-(eh% - 1, evv% + 45), 0 LINE (eh% + 2, evv% + 48)-(eh%, evv% + 44), 0 LINE (eh% + 2, evv% + 48)-(eh% + 6, evv% + 50), 0, BF LINE (eh% - 2, evv% + 48)-(eh% - 6, evv% + 50), 0, BF LINE (eh% + 2, evv% + 27)-(eh% + 2, evv% + 27), 9 PAINT (eh% - 4, evv% + 47), col1%, 0 PAINT (eh%, evv% + 38), col2%, 0 PAINT (eh% + 1, evv% + 31), col3%, 0 PAINT (eh% + 5, evv% + 36), col3%, 0 PAINT (eh% - 6, evv% + 36), col3%, 0 END SUB DEFSNG A-Z SUB drawfireball CIRCLE (bh%, bv%), 3, 0 CIRCLE (bh%, bv%), 2, 23 CIRCLE (bh%, bv%), 1, 14 PSET (bh% + 1, bv% + 1), 2 PSET (bh% - 1, bv% + 1), 2 PSET (bh% - 1, bv% - 1), 2 PSET (bh% + 1, bv% - 1), 2 END SUB SUB drawguy1blocking CIRCLE (ph%, pvv% + 30), 4, 0 LINE (ph% - 3, pvv% + 33)-(ph% + 2, pvv% + 40), 0, B LINE (ph% - 3, pvv% + 34)-(ph% + 5, pvv% + 34), 0 LINE (ph% + 8, pvv% + 40 - 5)-(ph% + 8, pvv% + 40 - 9), 0 LINE (ph% + 6, pvv% + 40 - 10)-(ph% + 7, pvv% + 40 - 10), 0 LINE (ph% + 6, pvv% + 40 - 9)-(ph% + 6, pvv% + 40 - 6), 0 LINE (ph% + 5, pvv% + 40 - 6)-(ph% + 5, pvv% + 40 - 6), 0 LINE (ph% + 7, pvv% + 40 - 4)-(ph% + 3, pvv% + 40 - 4), 0 LINE (ph%, pvv% + 30)-(ph%, pvv% + 30), 0 LINE (ph% + 2, pvv% + 30)-(ph% + 2, pvv% + 30), 0 LINE (ph% + 2, pvv% + 40)-(ph% + 5, pvv% + 48), 0 LINE (ph% - 3, pvv% + 40)-(ph% - 6, pvv% + 47.75), 0 LINE (ph% + 5, pvv% + 48)-(ph% + 2, pvv% + 48), 0 LINE (ph% - 6, pvv% + 48)-(ph% - 6, pvv% + 48), 3 LINE (ph% - 5, pvv% + 48)-(ph% - 2, pvv% + 48), 0 LINE (ph% - 3, pvv% + 48)-(ph% - 1, pvv% + 45), 0 LINE (ph% + 2, pvv% + 48)-(ph%, pvv% + 44), 0 LINE (ph% + 2, pvv% + 48)-(ph% + 6, pvv% + 50), 0, BF LINE (ph% - 2, pvv% + 48)-(ph% - 6, pvv% + 50), 0, BF PAINT (ph% + 3, pvv% + 47), 1, 0 PAINT (ph%, pvv% + 38), 2, 0 PAINT (ph% + 1, pvv% + 31), 11, 0 PAINT (ph% + 5, pvv% + 35), 11, 0 END SUB DEFINT A-Z SUB drawguy1ducking CIRCLE (ph% - 1, pvv% + 35), 4, 0 LINE (ph% - 4, pvv% + 38)-(ph% + 2, pvv% + 43), 0, B LINE (ph% - 6, pvv% + 39)-(ph% + 4, pvv% + 39), 0 LINE (ph% + 5, pvv% + 40)-(ph% + 5, pvv% + 44), 0 LINE (ph% + 3, pvv% + 44)-(ph% + 4, pvv% + 44), 0 LINE (ph% + 3, pvv% + 44)-(ph% + 3, pvv% + 41), 0 LINE (ph% - 1, pvv% + 35)-(ph% - 1, pvv% + 35), 0 LINE (ph% + 1, pvv% + 35)-(ph% + 1, pvv% + 35), 0 LINE (ph% - 7, pvv% + 40)-(ph% - 7, pvv% + 44), 0 LINE (ph% - 6, pvv% + 44)-(ph% - 5, pvv% + 44), 0 LINE (ph% - 5, pvv% + 44)-(ph% - 5, pvv% + 41), 0 LINE (ph% - 5, pvv% + 41)-(ph% - 4, pvv% + 41), 0 LINE (ph% + 5, pvv% + 45)-(ph% + 3, pvv% + 48), 0 LINE (ph% + 5, pvv% + 45)-(ph% + 3, pvv% + 43), 0 LINE (ph% - 7, pvv% + 45)-(ph% - 5, pvv% + 48), 0 LINE (ph% - 7, pvv% + 45)-(ph% - 5, pvv% + 43), 0 LINE (ph% - 2, pvv% + 48)-(ph% - 3, pvv% + 45), 0 LINE (ph% + 0, pvv% + 47)-(ph% + 1, pvv% + 45), 0 LINE (ph% + 0, pvv% + 48)-(ph% + 4, pvv% + 50), 0, BF LINE (ph% - 2, pvv% + 48)-(ph% - 6, pvv% + 50), 0, BF LINE (ph% + 0, pvv% + 45)-(ph% - 2, pvv% + 45), 0, BF PAINT (ph% + 3, pvv% + 47), 1, 0 PAINT (ph% - 1, pvv% + 42), 2, 0 PAINT (ph% - 1, pvv% + 36), 11, 0 PAINT (ph% + 4, pvv% + 41), 11, 0 PAINT (ph% - 6, pvv% + 41), 11, 0 END SUB DEFSNG A-Z SUB drawguy1kicking CIRCLE (ph%, pvv% + 30), 4, 0 LINE (ph% - 3, pvv% + 33)-(ph% + 2, pvv% + 40), 0, B LINE (ph% - 6, pvv% + 34)-(ph% + 5, pvv% + 34), 0 LINE (ph% + 6, pvv% + 35)-(ph% + 6, pvv% + 39), 0 LINE (ph% + 4, pvv% + 40)-(ph% + 5, pvv% + 40), 0 LINE (ph% + 4, pvv% + 39)-(ph% + 4, pvv% + 36), 0 LINE (ph% + 3, pvv% + 36)-(ph% + 3, pvv% + 36), 0 LINE (ph%, pvv% + 30)-(ph%, pvv% + 30), 0 LINE (ph% + 2, pvv% + 30)-(ph% + 2, pvv% + 30), 0 LINE (ph% - 2, pvv% + 27)-(ph% + 2, pvv% + 27), 0 LINE (ph% - 7, pvv% + 35)-(ph% - 7, pvv% + 39), 0 LINE (ph% - 6, pvv% + 40)-(ph% - 5, pvv% + 40), 0 LINE (ph% - 5, pvv% + 40)-(ph% - 5, pvv% + 36), 0 LINE (ph% - 5, pvv% + 36)-(ph% - 4, pvv% + 36), 0 LINE (ph% - 3, pvv% + 40)-(ph% - 6, pvv% + 47.75), 0 LINE (ph% - 3, pvv% + 48)-(ph% - 1, pvv% + 45), 0 LINE (ph%, pvv% + 44)-(ph%, pvv% + 44), 0 LINE (ph% - 2, pvv% + 48)-(ph% - 6, pvv% + 50), 0, BF LINE (ph% + 5, pvv% + 44)-(ph% + 7, pvv% + 40), 0 LINE (ph% + 7, pvv% + 40)-(ph% + 9, pvv% + 40), 0 LINE (ph% + 9, pvv% + 40)-(ph% + 8, pvv% + 44), 0 LINE (ph% + 8, pvv% + 44)-(ph% + 6, pvv% + 44), 0 PAINT (ph% + 7, pvv% + 43), 0, 0 LINE (ph% + 7, pvv% + 41)-(ph% + 2, pvv% + 41), 0 LINE (ph%, pvv% + 44)-(ph% + 5, pvv% + 44), 0 PAINT (ph% + 3, pvv% + 43), 1, 0 PAINT (ph%, pvv% + 38), 2, 0 PAINT (ph% + 1, pvv% + 31), 11, 0 PAINT (ph% + 5, pvv% + 36), 11, 0 PAINT (ph% - 6, pvv% + 36), 11, 0 soundeffect "KICK" END SUB SUB drawguy1plain CIRCLE (ph%, pvv% + 30), 4, 0 LINE (ph% - 3, pvv% + 33)-(ph% + 2, pvv% + 40), 0, B LINE (ph% - 6, pvv% + 34)-(ph% + 5, pvv% + 34), 0 LINE (ph% + 6, pvv% + 35)-(ph% + 6, pvv% + 39), 0 LINE (ph% + 4, pvv% + 40)-(ph% + 5, pvv% + 40), 0 LINE (ph% + 4, pvv% + 39)-(ph% + 4, pvv% + 36), 0 LINE (ph% + 3, pvv% + 36)-(ph% + 3, pvv% + 36), 0 LINE (ph%, pvv% + 30)-(ph%, pvv% + 30), 0 LINE (ph% + 2, pvv% + 30)-(ph% + 2, pvv% + 30), 0 LINE (ph% - 2, pvv% + 27)-(ph% + 2, pvv% + 27), 0 LINE (ph% - 7, pvv% + 35)-(ph% - 7, pvv% + 39), 0 LINE (ph% - 6, pvv% + 40)-(ph% - 5, pvv% + 40), 0 LINE (ph% - 5, pvv% + 40)-(ph% - 5, pvv% + 36), 0 LINE (ph% - 5, pvv% + 36)-(ph% - 4, pvv% + 36), 0 LINE (ph% + 2, pvv% + 40)-(ph% + 5, pvv% + 48), 0 LINE (ph% - 3, pvv% + 40)-(ph% - 6, pvv% + 47.75), 0 LINE (ph% + 5, pvv% + 48)-(ph% + 2, pvv% + 48), 0 LINE (ph% - 6, pvv% + 48)-(ph% - 6, pvv% + 48), 3 LINE (ph% - 5, pvv% + 48)-(ph% - 2, pvv% + 48), 0 LINE (ph% - 3, pvv% + 48)-(ph% - 1, pvv% + 45), 0 LINE (ph% + 2, pvv% + 48)-(ph%, pvv% + 44), 0 LINE (ph% + 2, pvv% + 48)-(ph% + 6, pvv% + 50), 0, BF LINE (ph% - 2, pvv% + 48)-(ph% - 6, pvv% + 50), 0, BF PAINT (ph% + 3, pvv% + 47), 1, 0 PAINT (ph%, pvv% + 38), 2, 0 PAINT (ph% + 1, pvv% + 31), 11, 0 PAINT (ph% + 5, pvv% + 36), 11, 0 PAINT (ph% - 6, pvv% + 36), 11, 0 END SUB SUB drawguy1punching CIRCLE (ph%, pvv% + 30), 4, 0 LINE (ph% - 3, pvv% + 33)-(ph% + 2, pvv% + 40), 0, B LINE (ph% - 6, pvv% + 34)-(ph% + 10, pvv% + 34), 0 LINE (ph% + 11, pvv% + 35)-(ph% + 11, pvv% + 36), 0 LINE (ph% + 2, pvv% + 36)-(ph% + 10, pvv% + 36), 0 '13 LINE (ph% + 3, pvv% + 35)-(ph% + 10, pvv% + 35), 15 LINE (ph%, pvv% + 30)-(ph%, pvv% + 30), 0 LINE (ph% + 2, pvv% + 30)-(ph% + 2, pvv% + 30), 0 LINE (ph% - 2, pvv% + 27)-(ph% + 2, pvv% + 27), 0 LINE (ph% - 7, pvv% + 35)-(ph% - 7, pvv% + 39), 0 LINE (ph% - 6, pvv% + 40)-(ph% - 5, pvv% + 40), 0 LINE (ph% - 5, pvv% + 40)-(ph% - 5, pvv% + 36), 0 LINE (ph% - 5, pvv% + 36)-(ph% - 4, pvv% + 36), 0 LINE (ph% + 2, pvv% + 40)-(ph% + 5, pvv% + 48), 0 LINE (ph% - 3, pvv% + 40)-(ph% - 6, pvv% + 47.75), 0 LINE (ph% + 5, pvv% + 48)-(ph% + 2, pvv% + 48), 0 LINE (ph% - 6, pvv% + 48)-(ph% - 6, pvv% + 48), 3 LINE (ph% - 5, pvv% + 48)-(ph% - 2, pvv% + 48), 0 LINE (ph% - 3, pvv% + 48)-(ph% - 1, pvv% + 45), 0 LINE (ph% + 2, pvv% + 48)-(ph%, pvv% + 44), 0 LINE (ph% + 2, pvv% + 48)-(ph% + 6, pvv% + 50), 0, BF LINE (ph% - 2, pvv% + 48)-(ph% - 6, pvv% + 50), 0, BF PAINT (ph% + 3, pvv% + 47), 1, 0 PAINT (ph%, pvv% + 38), 2, 0 PAINT (ph% + 1, pvv% + 31), 11, 0 PAINT (ph% + 5, pvv% + 36), 11, 0 PAINT (ph% - 6, pvv% + 36), 11, 0 soundeffect "PUNCH" END SUB SUB drawguy1stick LINE (ph% - 7, pv% - 15)-(ph% + 23, pv% + 7), 9, BF: CIRCLE (ph%, pvv% + 30), 4, 0 LINE (ph% - 3, pvv% + 33)-(ph% + 2, pvv% + 40), 0, B LINE (ph% - 6, pvv% + 34)-(ph% + 10, pvv% + 34), 0 LINE (ph% + 11, pvv% + 35)-(ph% + 11, pvv% + 36), 0 LINE (ph% + 2, pvv% + 36)-(ph% + 10, pvv% + 36), 0 '13 LINE (ph% + 3, pvv% + 35)-(ph% + 10, pvv% + 35), 15 LINE (ph%, pvv% + 30)-(ph%, pvv% + 30), 0 LINE (ph% + 2, pvv% + 30)-(ph% + 2, pvv% + 30), 0 LINE (ph% - 2, pvv% + 27)-(ph% + 2, pvv% + 27), 0 LINE (ph% - 7, pvv% + 35)-(ph% - 7, pvv% + 39), 0 LINE (ph% - 6, pvv% + 40)-(ph% - 5, pvv% + 40), 0 LINE (ph% - 5, pvv% + 40)-(ph% - 5, pvv% + 36), 0 LINE (ph% - 5, pvv% + 36)-(ph% - 4, pvv% + 36), 0 LINE (ph% + 2, pvv% + 40)-(ph% + 5, pvv% + 48), 0 LINE (ph% - 3, pvv% + 40)-(ph% - 6, pvv% + 47.75), 0 LINE (ph% + 5, pvv% + 48)-(ph% + 2, pvv% + 48), 0 LINE (ph% - 6, pvv% + 48)-(ph% - 6, pvv% + 48), 3 LINE (ph% - 5, pvv% + 48)-(ph% - 2, pvv% + 48), 0 LINE (ph% - 3, pvv% + 48)-(ph% - 1, pvv% + 45), 0 LINE (ph% + 2, pvv% + 48)-(ph%, pvv% + 44), 0 LINE (ph% + 2, pvv% + 48)-(ph% + 6, pvv% + 50), 0, BF LINE (ph% - 2, pvv% + 48)-(ph% - 6, pvv% + 50), 0, BF LINE (ph% + 11, pvv% + 34)-(ph% + 23, pvv% + 36), 0, B LINE (ph% + 12, pvv% + 35)-(ph% + 22, pvv% + 35), 6 PAINT (ph% + 3, pvv% + 47), 1, 0 PAINT (ph%, pvv% + 38), 2, 0 PAINT (ph% + 1, pvv% + 31), 11, 0 PAINT (ph% + 5, pvv% + 36), 11, 0 PAINT (ph% - 6, pvv% + 36), 11, 0 soundeffect "STICK" END SUB DEFINT A-Z SUB drawguy2ducking pvvv% = pvv% CIRCLE (ph%, pvvv% + 3), 7, 0 LINE (ph% - 2, pvvv% + 3)-(ph% - 2, pvvv% + 2), 0 LINE (ph% + 2, pvvv% + 3)-(ph% + 2, pvvv% + 2), 0 LINE (ph% - 3, pvvv% + 5)-(ph% + 1, pvvv% + 6), 0 LINE (ph% + 2, pvvv% + 6)-(ph% + 3, pvvv% + 5), 0 PAINT (ph%, pvv% + 3), 10, 0 LINE (ph% - 6, pvvv% + 9)-(ph% + 6, pvvv% + 9), 0 LINE (ph% - 6, pvvv% + 9)-(ph% - 4, pvvv% + 8), 0, BF LINE (ph% + 6, pvvv% + 9)-(ph% + 4, pvvv% + 8), 0, BF LINE (ph% + 8, pvvv% + 3)-(ph% + 10, pvvv% + 8), 0, B PSET (ph% + 9, pvvv% + 2), 0 LINE (ph% + 9, pvvv% + 3)-(ph% + 9, pvvv% + 6), 12 PSET (ph% + 8, pvvv% + 2), 0 LINE (ph% + 8, pvvv% + 3)-(ph% + 8, pvvv% + 3), 12 LINE (ph% - 8, pvvv% + 3)-(ph% - 10, pvvv% + 8), 0, B PSET (ph% - 9, pvvv% + 5), 0 LINE (ph% - 9, pvvv% + 3)-(ph% - 9, pvvv% + 6), 12 LINE (ph% - 9, pvvv% + 2)-(ph% - 7, pvvv% + 2), 0 PSET (ph% - 8, pvvv% + 5), 0 LINE (ph% - 8, pvvv% + 3)-(ph% - 8, pvvv% + 3), 12 PSET (ph% + 9, pvvv% + 7), 0 PSET (ph% - 9, pvvv% + 7), 0 END SUB DEFSNG A-Z SUB drawguy2kicking CIRCLE (ph%, pvv%), 7, 0 LINE (ph% - 2, pvv%)-(ph% - 2, pvv% - 1), 0 LINE (ph% + 2, pvv%)-(ph% + 2, pvv% - 1), 0 LINE (ph% - 3, pvv% + 2)-(ph% + 1, pvv% + 3), 0 LINE (ph% + 2, pvv% + 3)-(ph% + 3, pvv% + 2), 0 PAINT (ph%, pvv%), 10, 0 LINE (ph% + 5, pvv% + 5)-(ph% + 10, pvv% + 7), 0 LINE (ph% + 1, pvv% + 6)-(ph% + 10, pvv% + 9), 0 LINE (ph% - 3, pvv% + 5)-(ph% - 5, pvv% + 8), 0, B PAINT (ph% - 4, pvv% + 6), 12, 0 LINE (ph% + 10, pvv% + 6)-(ph% + 12, pvv% + 9), 0, BF LINE (ph% - 6, pvv% + 8)-(ph% - 3, pvv% + 9), 0, BF PSET (ph% + 10, pvv% + 6), 9 PAINT (ph% + 4, pvv% + 6), 12, 0 LINE (ph% + 8, pvv%)-(ph% + 10, pvv% + 3), 0, B PSET (ph% + 9, pvv% - 1), 0 LINE (ph% + 9, pvv%)-(ph% + 9, pvv% + 2), 12 PSET (ph% + 8, pvv% - 1), 0 LINE (ph% + 8, pvv%)-(ph% + 8, pvv%), 12 LINE (ph% - 8, pvv%)-(ph% - 10, pvv% + 5), 0, B PSET (ph% - 9, pvv% - 1), 0 LINE (ph% - 9, pvv%)-(ph% - 9, pvv% + 3), 12 PSET (ph% - 8, pvv% - 1), 0 LINE (ph% - 8, pvv%)-(ph% - 8, pvv%), 12 PSET (ph% + 9, pvv% + 2), 0 PSET (ph% - 9, pvv% + 4), 0 soundeffect "KICK" END SUB SUB drawguy2plain CIRCLE (ph%, pvv%), 7, 0 LINE (ph% - 2, pvv%)-(ph% - 2, pvv% - 1), 0 LINE (ph% + 2, pvv%)-(ph% + 2, pvv% - 1), 0 LINE (ph% - 3, pvv% + 2)-(ph% + 1, pvv% + 3), 0 LINE (ph% + 2, pvv% + 3)-(ph% + 3, pvv% + 2), 0 PAINT (ph%, pvv%), 10, 0 LINE (ph% + 3, pvv% + 5)-(ph% + 5, pvv% + 8), 0, B LINE (ph% - 3, pvv% + 5)-(ph% - 5, pvv% + 8), 0, B PAINT (ph% + 4, pvv% + 6), 12, 0 PAINT (ph% - 4, pvv% + 6), 12, 0 LINE (ph% + 6, pvv% + 8)-(ph% + 3, pvv% + 9), 0, BF LINE (ph% - 6, pvv% + 8)-(ph% - 3, pvv% + 9), 0, BF LINE (ph% + 8, pvv%)-(ph% + 10, pvv% + 5), 0, B PSET (ph% + 9, pvv% - 1), 0 LINE (ph% + 9, pvv%)-(ph% + 9, pvv% + 3), 12 PSET (ph% + 8, pvv% - 1), 0 LINE (ph% + 8, pvv%)-(ph% + 8, pvv%), 12 LINE (ph% - 8, pvv%)-(ph% - 10, pvv% + 5), 0, B PSET (ph% - 9, pvv% - 1), 0 LINE (ph% - 9, pvv%)-(ph% - 9, pvv% + 3), 12 PSET (ph% - 8, pvv% - 1), 0 LINE (ph% - 8, pvv%)-(ph% - 8, pvv%), 12 PSET (ph% + 9, pvv% + 4), 0 PSET (ph% - 9, pvv% + 4), 0 END SUB SUB drawguy2punching CIRCLE (ph%, pvv%), 7, 0 LINE (ph% - 2, pvv%)-(ph% - 2, pvv% - 1), 0 LINE (ph% + 2, pvv%)-(ph% + 2, pvv% - 1), 0 LINE (ph% - 3, pvv% + 2)-(ph% + 1, pvv% + 3), 0 LINE (ph% + 2, pvv% + 3)-(ph% + 3, pvv% + 2), 0 PAINT (ph%, pvv%), 10, 0 LINE (ph% + 3, pvv% + 5)-(ph% + 5, pvv% + 8), 0, B LINE (ph% - 3, pvv% + 5)-(ph% - 5, pvv% + 8), 0, B PAINT (ph% + 4, pvv% + 6), 12, 0 PAINT (ph% - 4, pvv% + 6), 12, 0 LINE (ph% + 6, pvv% + 8)-(ph% + 3, pvv% + 9), 0, BF LINE (ph% - 6, pvv% + 8)-(ph% - 3, pvv% + 9), 0, BF LINE (ph% + 7, pvv%)-(ph% + 12, pvv% + 2), 0, B LINE (ph% + 13, pvv%)-(ph% + 13, pvv% + 2), 0 LINE (ph% + 8, pvv% + 1)-(ph% + 11, pvv% + 1), 12 LINE (ph% - 8, pvv%)-(ph% - 10, pvv% + 5), 0, B PSET (ph% - 9, pvv% - 1), 0 LINE (ph% - 9, pvv%)-(ph% - 9, pvv% + 3), 12 PSET (ph% - 8, pvv% - 1), 0 LINE (ph% - 8, pvv%)-(ph% - 8, pvv%), 12 PSET (ph% - 9, pvv% + 4), 0 soundeffect "PUNCH" END SUB SUB drawguy2stretch CIRCLE (ph%, pvv%), 7, 0 LINE (ph% - 2, pvv%)-(ph% - 2, pvv% - 1), 0 LINE (ph% + 2, pvv%)-(ph% + 2, pvv% - 1), 0 LINE (ph% - 3, pvv% + 2)-(ph% + 1, pvv% + 3), 0 LINE (ph% + 2, pvv% + 3)-(ph% + 3, pvv% + 2), 0 PAINT (ph%, pvv%), 10, 0 LINE (ph% + 3, pvv% + 5)-(ph% + 5, pvv% + 8), 0, B LINE (ph% - 3, pvv% + 5)-(ph% - 5, pvv% + 8), 0, B PAINT (ph% + 4, pvv% + 6), 12, 0 PAINT (ph% - 4, pvv% + 6), 12, 0 LINE (ph% + 6, pvv% + 8)-(ph% + 3, pvv% + 9), 0, BF LINE (ph% - 6, pvv% + 8)-(ph% - 3, pvv% + 9), 0, BF LINE (ph% + 7, pvv%)-(ph% + 22, pvv% + 2), 0, B LINE (ph% + 23, pvv%)-(ph% + 23, pvv% + 2), 0 LINE (ph% + 8, pvv% + 1)-(ph% + 21, pvv% + 1), 12 LINE (ph% - 8, pvv%)-(ph% - 10, pvv% + 5), 0, B PSET (ph% - 9, pvv% - 1), 0 LINE (ph% - 9, pvv%)-(ph% - 9, pvv% + 3), 12 PSET (ph% - 8, pvv% - 1), 0 LINE (ph% - 8, pvv%)-(ph% - 8, pvv%), 12 PSET (ph% - 9, pvv% + 4), 0 soundeffect "STICK" END SUB SUB drawguy2victory CIRCLE (ph%, pvv%), 7, 0 LINE (ph% - 2, pvv%)-(ph% - 2, pvv% - 1), 0 LINE (ph% + 2, pvv%)-(ph% + 2, pvv% - 1), 0 LINE (ph% - 3, pvv% + 2)-(ph% + 1, pvv% + 3), 0 LINE (ph% + 2, pvv% + 3)-(ph% + 3, pvv% + 2), 0 PAINT (ph%, pvv%), 10, 0 LINE (ph% + 3, pvv% + 5)-(ph% + 5, pvv% + 8), 0, B LINE (ph% - 3, pvv% + 5)-(ph% - 5, pvv% + 8), 0, B PAINT (ph% + 4, pvv% + 6), 12, 0 PAINT (ph% - 4, pvv% + 6), 12, 0 LINE (ph% + 6, pvv% + 8)-(ph% + 3, pvv% + 9), 0, BF LINE (ph% - 6, pvv% + 8)-(ph% - 3, pvv% + 9), 0, BF LINE (ph% + 8, pvv%)-(ph% + 10, pvv% - 5), 0, B PSET (ph% + 9, pvv% - 1), 0 LINE (ph% + 9, pvv%)-(ph% + 9, pvv% - 3), 12 PSET (ph% + 8, pvv% - 1), 0 LINE (ph% + 9, pvv% + 1)-(ph% + 7, pvv% + 1), 0 LINE (ph% + 8, pvv%)-(ph% + 8, pvv%), 12 LINE (ph% - 8, pvv%)-(ph% - 10, pvv% + 5), 0, B PSET (ph% - 9, pvv% - 1), 0 LINE (ph% - 9, pvv%)-(ph% - 9, pvv% + 3), 12 PSET (ph% - 8, pvv% - 1), 0 LINE (ph% - 8, pvv%)-(ph% - 8, pvv%), 12 PSET (ph% + 9, pvv% - 4), 0 PSET (ph% - 9, pvv% + 4), 0 END SUB SUB ending CALL punchoffledge CALL enemyfall CALL enemyfall CLS : SCREEN 13: col% = 25: backcol% = 9 backgroundpit DELAY 32766: DELAY 32766: DELAY 32766 FOR ty% = 40 TO 280 STEP 8 '25 cone ty%, 170, 15, 3 FOR ty2% = 50 TO 100 STEP 1 IF sounds$ = "NO" THEN DELAY 10: GOTO 58 IF soundcard$ = "YES" THEN note ty2% + 17500, 5 IF soundcard$ = "NO" THEN SOUND ty2%, .025 IF soundcard$ = "NO" THEN SOUND 32766, .025 58 NEXT ty2% NEXT ty% eh% = 160: evv% = -50 col1% = 0: col2% = 0: col3% = 0 DO: CALL drawenemyfallen DELAY 2500 LINE (155, evv% + 39)-(186, evv% + 51), 9, BF IF evv% < 110 THEN evv% = evv% + 1 IF evv% = 110 THEN EXIT DO LOOP FOR ty% = 160 TO 192 STEP 8 cone ty%, 170, 15, 3 CALL drawenemyfallen NEXT ty% CALL drawenemyfallen FOR hy% = 1 TO 4 CIRCLE (eh% + 22, evv% + 47), hy%, 0 NEXT hy% LINE (eh% + 9, evv% + 45)-(eh% + 0, evv% + 50), 0, BF inspike$ = "YES" LINE (eh% + 16, evv% + 43)-(eh% + 18, evv% + 39), 9, BF 566 bbv% = 7 RANDOMIZE TIMER bdh% = INT(RND * 20) 567 LINE (eh% + bdh%, 160 - bbv%)-((eh% + bdh%) + 1, (160 - bbv%) - 1), 4, BF'PSET (eh% + bdh%, 160 - bbv%), 4 DELAY 5000: LINE (eh% + bdh%, 160 - bbv%)-((eh% + bdh%) + 1, (160 - bbv%) - 1), 9, BF'PSET (eh% + bdh%, 160 - bbv%), 9 IF bbv% < 15 THEN bbv% = bbv% + 1: GOTO 567 IF timesy% < 20 THEN timesy% = timesy% + 1: GOTO 566 FOR tu% = 1 TO 10: DELAY 32766: NEXT tu% IF charpick% = 1 THEN CALL guy1ending IF charpick% = 2 THEN CALL guy2ending END SUB SUB endpicture CLS : SCREEN 13: col% = 25: backcol% = 25 PAINT (1, 100), backcol% LINE (0, 0)-(320, 80), 9, BF cone 160, 125, 48, 20 cone 100, 100, 25, 10 cone 97, 170, 75, 30 cone 197, 190, 85, 35 ph% = 250: pvv% = 120: v% = 2 FOR twomore% = 1 TO 25 DELAY 32766: DELAY 32766 LINE (ph% - 10, pvv% - 15)-(ph% + 23, pvv% + 10), 25, BF: IF v% = 1 THEN CALL drawguy2victory: v% = 2: GOTO 8585 IF v% = 2 THEN CALL drawguy2plain: v% = 1 8585 NEXT twomore% END SUB SUB enemyfall CLS : SCREEN 13: col% = 25: backcol% = 9 eh% = 160: evv% = -50 col1% = 0: col2% = 0: col3% = 0 PAINT (1, 100), backcol% LINE (35, 0)-(35, 200), 0 LINE (285, 0)-(285, 200), 0 LINE (0, 0)-(34, 200), 8, BF LINE (320, 0)-(286, 200), 8, BF DO: CALL drawenemyfallen DELAY 2500 LINE (155, evv% + 39)-(186, evv% + 51), 9, BF IF evv% < 160 THEN evv% = evv% + 1 IF evv% = 160 THEN EXIT DO LOOP END SUB SUB enemypattern IF hittimer% = 0 THEN combohits% = 1: combodamage% = 0 IF combohits% > 1 THEN IF COMBOTIMER% > 0 THEN COMBOTIMER% = COMBOTIMER% - 1 END IF IF fireball$ = "YES" AND enemyposition$ <> "BLOCKING" THEN LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF IF bg% = 1 THEN CALL background1: IF bg% = 2 THEN CALL background2 IF fireball$ = "YES" AND enemyposition$ <> "BLOCKING" THEN LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF 79 SELECT CASE enemyposition$ CASE IS = "PLAIN" CALL drawenemyplain CASE IS = "KICKING" LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF CALL drawenemykicking CASE IS = "BLOCKING" CALL drawenemyblock END SELECT IF enemyposition$ = "KICKING" THEN IF eh% - 20 < ph% THEN soundeffect "DING": IF blocking$ <> "YES" THEN damage% = 5 IF blocking$ = "YES" THEN LINE (ph% - 7, gl% - 15)-(ph% + 18, gl% + 7), 9, BF: damage% = 1 damage% = fightnum% + difficulty% IF blocking$ = "YES" THEN LINE (ph% - 7, gl% - 15)-(ph% + 18, gl% + 7), 9, BF: damage% = 1 IF fightnum% = 11 THEN IF blocking$ <> "YES" THEN damage% = difficulty% + 16 IF blocking$ = "YES" THEN LINE (ph% - 7, gl% - 15)-(ph% + 18, gl% + 7), 9, BF: damage% = difficulty% + 6 END IF life% = life% - damage%: LINE (ph% - 7, gl% - 10)-(ph% + 13, gl% + 7), 9, BF: ph% = ph% - damage%'5 END IF END IF IF fireball$ <> "YES" AND enemyposition$ = "BLOCKING" THEN LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF IF fireball$ <> "YES" THEN enemyposition$ = "PLAIN" IF guy1position$ = "PUNCHING" OR guy1position$ = "KICKING" THEN IF yesjump% = 2 THEN damage% = 1 IF yesjump% <> 2 THEN damage% = 5 IF combohits% > 4 THEN damage% = 4 IF combohits% > 6 THEN damage% = 3 IF combohits% > 8 THEN damage% = 2 IF combohits% > 10 THEN damage% = 1 IF combohits% > 12 THEN damage% = 0 IF eh% - 20 < ph% THEN combodamage% = combodamage% + damage% IF hittimer% > 0 THEN combohits% = combohits% + 1: combodamage% = combodamage% + damage%: COMBOTIMER% = 250 soundeffect "DING": enemylife% = enemylife% - damage%: score% = score% + 10: hittimer% = 10: GOTO 78 END IF '25! END IF IF guy1position$ = "STICK" THEN combodamage% = combodamage% + 10 IF hittimer% > 0 THEN combohits% = combohits% + 1: combodamage% = combodamage% + 10: COMBOTIMER% = 250 '25! IF eh% - 30 < ph% THEN soundeffect "DING": enemylife% = enemylife% - 10: score% = score% + 40: LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF: eh% = eh% + 10: hittimer% = 0: LINE (ph% - 7, pv% - 15)-(ph% + 23, pv% + 7), 4, BF: CALL fightwithenemyfall: EXIT SUB END IF IF fireball$ = "YES" AND enemyposition$ <> "BLOCKING" THEN LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF IF fireball$ = "YES" THEN enemyposition$ = "BLOCKING" END IF IF fireball$ = "YES" AND enemyposition$ <> "BLOCKING" THEN LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF IF enemyposition$ = "BLOCKING" THEN EXIT SUB IF eh% - 50 < ph% THEN GOTO 87 IF eh% - 100 < ph% THEN RANDOMIZE TIMER echoice1% = INT(RND * 99) + 1 IF echoice1% < 10 THEN LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF: eh% = eh% - 5 IF echoice1% = 11 THEN 78 LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF: eh% = eh% + 5 END IF EXIT SUB END IF RANDOMIZE TIMER echoice1% = INT(RND * 49) + 1 IF echoice1% < 10 THEN LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF: eh% = eh% - 5 IF echoice1% = 11 THEN LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF: eh% = eh% + 5 EXIT SUB 87 IF eh% - 20 < ph% THEN RANDOMIZE TIMER '49 = how often computer kicks (lower = more often) echoice1% = INT(RND * 24) + 1 IF echoice1% = 1 THEN enemyposition$ = "KICKING": GOTO 79 END IF IF NOT (eh% - 20 < ph%) THEN RANDOMIZE TIMER echoice1% = INT(RND * 49) + 1 IF echoice1% < 10 THEN LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF: eh% = eh% - 5 IF echoice1% = 11 THEN LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF: eh% = eh% + 5 END IF END SUB DEFINT A-Z SUB exitprogram IF score% <= 32766 THEN rating$ = "ULTRA-MEGA-SUPREME DEATH FIGHT CHAMPION!" IF score% <= 10000 THEN rating$ = "champion!!!" IF score% <= 9000 THEN rating$ = "you're great at this!" IF score% <= 8000 THEN rating$ = "wow... you're good!" IF score% <= 7000 THEN rating$ = "great!" IF score% <= 6000 THEN rating$ = "good." IF score% <= 5000 THEN rating$ = "pretty good." IF score% <= 4000 THEN rating$ = "not bad." IF score% <= 3000 THEN rating$ = "beginner." IF score% <= 2000 THEN rating$ = "keep trying." IF score% <= 1000 THEN rating$ = "loser!" IF score% <= 500 THEN rating$ = "ULTRA LOSER!" CLS : LOCATE 1, 2: COLOR 10: PRINT "You won"; fightwins%; "fights and had a score of" LOCATE 2, 1: PRINT score%; "points." LOCATE 4, 2: PRINT "You got a rating of..." COLOR 12: LOCATE 4, 25: PRINT rating$ FOR timestimes% = 1 TO 25 DELAY 32766 NEXT timestimes% IF score% > highscore% THEN CALL gethighscore CALL puthighscore CLS : SCREEN 9: COLOR 15 DO TTIMES% = TTIMES% + 1 PRINT "' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ''" '" IF TTIMES% = 31 THEN EXIT DO LOOP DELAY 32766 PRINT "' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ''" DO: DELAY 32766: TaaTIMES% = TaaTIMES% + 1 IF TaaTIMES% = 10 THEN EXIT DO LOOP PRINT "' ' ' ' '' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' '' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' READ THIS! ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' '' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' ------------------------ ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | FOR A FREE COPY | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | OF VERSION 1.1 | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | (NOT AVAIL. ON AOL!) | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | | ' ' ' ' ''" DELAY 32766' PRINT "' ' ' ' ' | JUST E-MAIL ME | ' ' ' ' ''" DELAY 32766' PRINT "' ' ' ' ' | AND TELL ME WHAT | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | YOU THINK OF MY GAME | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | AOL SCREEN-NAME: | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | RJD42 | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' | | ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' ' ------------------------ ' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' '' ' ' ' ''" DELAY 32766 PRINT "' ' ' ' '' ' ' ' ''" DO TOOGLETIMES% = TOOGLETIMES% + 1 DELAY 32766 PRINT "' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ''" '" IF TOOGLETIMES% = 1 THEN EXIT DO LOOP DO DELAY 32766: TooTIMES% = TTIMES% + 1 IF TooTIMES% = 50 THEN EXIT DO LOOP CLS : SYSTEM END SUB DEFSNG A-Z SUB fight (fightnumber%) CLS : SLEEP 1 LOCATE 13, 15: COLOR 12: PRINT "FIGHT"; fightnumber% IF fightnumber% = 11 THEN col1% = 0: col2% = 0: col3% = 0: SLEEP 1 LOCATE 15, 12: COLOR 4: PRINT "Final fight: this is the final face-off with Evan Recneps! Can you win?" SLEEP 1: SLEEP 1: song1 END IF SLEEP 1: SLEEP 1: SLEEP 1 CLS : SLEEP 1 END SUB SUB fightstartup CLS : SCREEN 13 LINE (0, 160)-(320, 200), 0, BF: guy1position$ = "PLAIN" life% = 0 enemylife% = 0 gl% = 125 yesjump% = 1 yeshot% = 1 eh% = 240 ev% = gl% - 83 ph% = 100 time% = 4900 pv% = gl% pvv% = pv% - 42 evv% = pvv% LINE (0, 160)-(320, 200), 0, BF: IF bg% = 1 THEN CALL background1: LINE (0, 160)-(320, 200), 0, BF: IF bg% = 2 THEN CALL background2 FOR lk% = 0 TO -35 STEP -1 LINE (lk%, gl% - 100)-(lk% + 35, gl% - 125), 0 NEXT lk% FOR lk2% = 320 TO 355 STEP 1 LINE (lk2%, gl% - 100)-(lk2% - 35, gl% - 125), 0 NEXT lk2% FOR ww% = 30 TO 320 STEP 80 LINE (ww%, 40)-(ww% + 20, 57), 0, B PAINT (ww% + 5, 50), 148, 0 NEXT ww% END IF IF bg% = 1 THEN LINE (0, 160)-(320, 200), 0, BF: LINE (0, 160)-(320, 200), 0, BF: 43 CALL statusbar 'IF bg% = 1 THEN LINE (0, 160)-(320, 200), 0, BF: 'IF bg% = 2 THEN CALL background2 IF bg% = 2 THEN 'CALL background2 FOR lk% = 0 TO -35 STEP -1 LINE (lk%, gl% - 100)-(lk% + 35, gl% - 125), 0 NEXT lk% FOR lk2% = 320 TO 355 STEP 1 LINE (lk2%, gl% - 100)-(lk2% - 35, gl% - 125), 0 NEXT lk2% FOR ww% = 30 TO 320 STEP 80 LINE (ww%, 40)-(ww% + 20, 57), 0, B PAINT (ww% + 5, 50), 148, 0 NEXT ww% END IF CALL drawguy1plain CALL drawenemyplain IF life% < 100 THEN GOSUB startsound: life% = life% + 1: enemylife% = enemylife% + 1: GOTO 43 CALL statusbar round rndnum%: EXIT SUB startsound: IF sounds$ = "NO" THEN DELAY 250: GOTO 5568 IF soundcard$ = "NO" THEN SOUND 750, .3: SOUND 500, .1: GOTO 5568 note 13000, 100: note 13500, 150 5568 RETURN END SUB SUB fightwithchar1 IF bg% = 1 THEN LINE (0, 160)-(320, 200), 0, BF: CALL fightstartup guy1position$ = "PLAIN" life% = 100 enemylife% = 100 gl% = 125 yesjump% = 1 yeshot% = 1 eh% = 240 ev% = gl% - 83 ph% = 100 time% = 4900 pv% = gl% pvv% = pv% - 42 evv% = pvv% IF bg% = 1 THEN LINE (0, 160)-(320, 200), 0, BF: IF bg% = 2 THEN CALL background2 FOR lk% = 0 TO -35 STEP -1 LINE (lk%, gl% - 100)-(lk% + 35, gl% - 125), 0 NEXT lk% FOR lk2% = 320 TO 355 STEP 1 LINE (lk2%, gl% - 100)-(lk2% - 35, gl% - 125), 0 NEXT lk2% FOR ww% = 30 TO 320 STEP 80 LINE (ww%, 40)-(ww% + 20, 57), 0, B PAINT (ww% + 5, 50), 148, 0 NEXT ww% END IF IF bg% = 1 THEN LINE (0, 160)-(320, 200), 0, BF: DO IF firetimer% > 0 THEN firetimer% = firetimer% - 1 IF hittimer% > 0 THEN hittimer% = hittimer% - 1 IF life% < 0 OR time% < 0 OR enemylife% < 0 THEN GOTO e1 CALL statusbar IF bg% = 1 THEN CALL background1: IF bg% = 2 THEN CALL background2 '7 LINE (ph% - 7, pv% - 15)-(ph% + 23, pv% + 7), 9, BF: SELECT CASE guy1position$ CASE IS = "PLAIN" '16!' LINE (ph% - 7, pv% - 15)-(ph% + 12, pv% + 7), 9, BF: CALL drawguy1plain CASE IS = "PUNCHING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy1punching CASE IS = "KICKING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy1kicking CASE IS = "STICK" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy1stick END SELECT guy1position$ = "PLAIN" SELECT CASE INKEY$ CASE IS = "*" CALL fightwithchar1fire CASE IS = "-" CALL fightwithchar1blck CASE IS = "+" IF scount% = 13 THEN guy1position$ = "STICK": scount% = 0: GOTO 68 guy1position$ = "PUNCHING" 68 CASE IS = CHR$(13) guy1position$ = "KICKING" CASE IS = CHR$(27) CALL exitprogram CASE IS = CHR$(0) + "M" IF scount% = 7 THEN scount% = scount% + 6 IF ph% + 20 > eh% THEN GOTO 868 LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = ph% + 5 868 CASE IS = CHR$(0) + "K" IF scount% = 0 THEN scount% = scount% + 4 LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = ph% - 5 CASE IS = CHR$(0) + "P" IF scount% = 4 THEN scount% = scount% + 3 CALL fightwithchar1duck CASE IS = CHR$(0) + "H" 'start + yesjump% = 2: LINE (ph% - 7, pvv% + 10)-(ph% + 16, pv% + 7), 9, BF: pvv% = pvv% - 5: GOSUB DELAY: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% - 5: GOSUB DELAY: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% - 5: GOSUB DELAY: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% - 5: GOSUB DELAY: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% - 5: GOSUB DELAY: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% + 5: GOSUB DELAY: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% + 5: GOSUB DELAY: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% + 5: GOSUB DELAY: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% + 5: GOSUB DELAY: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% + 5 yesjump% = 1 END SELECT IF ph% < LESSLIMIT% THEN LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = LESSLIMIT% IF ph% > MORELIMIT% THEN LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = MORELIMIT% time% = time% - 3 CALL enemypattern LOOP DELAY: 259 LINE (ph% - 14, pv% - 35)-(ph% + 15, gl% + 7), 9, BF SELECT CASE INKEY$ CASE IS = "+" IF guy1position$ = "PLAIN" THEN guy1position$ = "PUNCHING" CASE IS = CHR$(27) CALL exitprogram CASE IS = CHR$(13) IF guy1position$ = "PLAIN" THEN guy1position$ = "KICKING" CASE IS = CHR$(0) + "M" IF ph% + 20 > eh% THEN GOTO 8682 LINE (ph% - 7, pv% - 7)-(ph% + 7, pv% + 7), 9, BF: ph% = ph% + 5 8682 CASE IS = CHR$(0) + "K" LINE (ph% - 7, pv% - 7)-(ph% + 7, pv% + 7), 9, BF: ph% = ph% - 5 END SELECT IF ph% < LESSLIMIT% THEN ph% = LESSLIMIT% IF ph% > MORELIMIT% THEN ph% = MORELIMIT% CALL statusbar LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: SELECT CASE guy1position$ CASE IS = "PLAIN" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy1plain CASE IS = "PUNCHING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy1punching CASE IS = "KICKING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy1kicking END SELECT B% = 0 ''''''speed# 1012 IF B% < 500 THEN B% = B% + 1: GOTO 1012 time% = time% - 10 RANDOMIZE TIMER A% = 0 ''''''speed# 10 IF A% < 7500 THEN A% = A% + 1: GOTO 10 CALL enemypattern RETURN e1: CLS END SUB SUB fightwithchar1blck blocking$ = "YES" gl% = 125 yesjump% = 1 yeshot% = 1 'eh% = 240 ev% = gl% - 83 'ph% = 100 'time% = 20000 pv% = gl% IF charpick% = 1 THEN pvv% = pv% - 42 IF charpick% = 2 THEN pvv% = pv% - 2 LINE (ph% - 7, pv% - 15)-(ph% + 23, pv% + 7), 9, BF: IF charpick% = 1 THEN CALL drawguy1blocking IF charpick% = 2 THEN CALL drawguy2victory IF charpick% = 1 THEN bv% = 115 IF charpick% = 2 THEN bv% = 121 bh% = ph% + 15 LINE (ph% - 7, pv% - 15)-(ph% + 23, pv% + 7), 9, BF: DO: blocking$ = "YES" IF hittimer% > 0 THEN hittimer% = hittimer% - 1 IF life% < 0 OR time% < 0 OR enemylife% < 0 THEN GOTO e6 COLOR 4 CALL statusbar IF bg% = 1 THEN CALL background1: IF bg% = 2 THEN CALL background2 IF charpick% = 1 THEN CALL drawguy1blocking IF charpick% = 2 THEN CALL drawguy2victory SELECT CASE INKEY$ CASE IS = CHR$(27) CALL exitprogram CASE IS = "" CASE IS = "-" CASE ELSE blocking$ = "NO": EXIT SUB END SELECT time% = time% - 3 '^5? CALL enemypattern IF ph% < LESSLIMIT% THEN LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = LESSLIMIT% LOOP e6: CLS END SUB DEFINT A-Z SUB fightwithchar1duck guy1position$ = "PLAIN" gl% = 125 yesjump% = 1 yeshot% = 1 ev% = gl% - 83 pv% = gl% pvv% = pv% - 42 DO IF hittimer% > 0 THEN hittimer% = hittimer% - 1 IF life% < 0 OR time% < 0 OR enemylife% < 0 THEN GOTO e3 COLOR 4 CALL statusbar IF bg% = 1 THEN CALL background1: IF bg% = 2 THEN CALL background2 LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: SELECT CASE guy1position$ CASE IS = "DUCKING"'"PLAIN" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy1ducking CASE IS = "PUNCHING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy1punching CASE IS = "KICKING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy1kicking END SELECT guy1position$ = "DUCKING"'"PLAIN" SELECT CASE INKEY$ CASE IS = "+" guy1position$ = "PUNCHING" CASE IS = CHR$(13) guy1position$ = "KICKING" CASE IS = CHR$(27) CALL exitprogram CASE IS = CHR$(0) + "H" 'start + EXIT SUB END SELECT IF ph% < LESSLIMIT% THEN LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = LESSLIMIT% IF ph% > MORELIMIT% THEN LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = MORELIMIT% time% = time% - 3 CALL enemypattern LOOP e3: CLS END SUB DEFSNG A-Z SUB fightwithchar1fire IF firetimer% > 0 THEN EXIT SUB fireball$ = "YES" firetimer% = 75 gl% = 125 yesjump% = 1 yeshot% = 1 ev% = gl% - 83 pv% = gl% IF charpick% = 1 THEN pvv% = pv% - 42 IF charpick% = 2 THEN pvv% = pv% - 2 LINE (ph% - 7, pv% - 15)-(ph% + 23, pv% + 7), 9, BF: IF charpick% = 1 THEN CALL drawguy1blocking IF charpick% = 2 THEN CALL drawguy2victory soundeffect "STICK" IF charpick% = 1 THEN bv% = 115 IF charpick% = 2 THEN bv% = 121 bh% = ph% + 15 LINE (ph% - 7, pv% - 15)-(ph% + 23, pv% + 7), 9, BF: DO IF life% < 0 OR time% < 0 OR enemylife% < 0 THEN GOTO e5 COLOR 4 CALL statusbar IF bg% = 1 THEN CALL background1: IF bg% = 2 THEN CALL background2 IF charpick% = 1 THEN CALL drawguy1blocking IF charpick% = 2 THEN CALL drawguy2victory CALL drawfireball SELECT CASE INKEY$ CASE IS = CHR$(27) CALL exitprogram END SELECT bh% = bh% + 3 IF bh% + 10 > eh% THEN soundeffect "PUNCH": LINE (bh% - 6, 112)-(bh% + 3, 117), 9, BF: LINE (eh% - 7, evv% + 24)-(eh% + 7, gl% + 7), 9, BF: IF enemyposition$ = "BLOCKING" THEN GOTO 86 combodamage% = combodamage% + 10 IF hittimer% > 0 THEN combohits% = combohits% + 1: combodamage% = combodamage% + 10: COMBOTIMER% = 250 eh% = eh% + 10: score% = score% + 25: enemylife% = enemylife% - 8: '5'25'8 86 CALL fireballexplode: fireball$ = "NO": EXIT SUB END IF time% = time% - 3 CALL enemypattern DELAY 10000 LINE (bh% - 6, bv% - 3)-(bh% + 3, bv% + 2), 9, BF CALL drawfireball LOOP e5: CLS END SUB SUB fightwithchar2 CALL fightstartup guy1position$ = "PLAIN" life% = 100 enemylife% = 100 gl% = 125 yesjump% = 1 yeshot% = 1 eh% = 240 ev% = gl% - 83 ph% = 100 time% = 4900 pv% = gl% pvv% = pv% - 2 evv% = pvv% - 40 IF bg% = 2 THEN CALL background2 'omit this!!!!! FOR lk% = 0 TO -35 STEP -1 LINE (lk%, gl% - 100)-(lk% + 35, gl% - 125), 0 NEXT lk% FOR lk2% = 320 TO 355 STEP 1 LINE (lk2%, gl% - 100)-(lk2% - 35, gl% - 125), 0 NEXT lk2% FOR ww% = 30 TO 320 STEP 80 LINE (ww%, 40)-(ww% + 20, 57), 0, B PAINT (ww% + 5, 50), 148, 0 NEXT ww% END IF DO IF firetimer% > 0 THEN firetimer% = firetimer% - 1 IF hittimer% > 0 THEN hittimer% = hittimer% - 1 IF life% < 0 OR time% < 0 OR enemylife% < 0 THEN GOTO e2 CALL statusbar IF bg% = 1 THEN CALL background1: IF bg% = 2 THEN CALL background2 '23? LINE (ph% - 7, pv% - 15)-(ph% + 23, pv% + 7), 9, BF: SELECT CASE guy1position$ CASE IS = "PLAIN" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy2plain CASE IS = "PUNCHING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy2punching CASE IS = "KICKING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy2kicking CASE IS = "STICK" LINE (ph% - 7, pv% - 15)-(ph% + 18, pv% + 7), 9, BF: CALL drawguy2stretch END SELECT guy1position$ = "PLAIN" SELECT CASE INKEY$ CASE IS = "*" CALL fightwithchar1fire CASE IS = "-" CALL fightwithchar1blck CASE IS = "+" IF scount% = 13 THEN scount% = 0: guy1position$ = "STICK": GOTO 76 guy1position$ = "PUNCHING" 76 CASE IS = CHR$(13) guy1position$ = "KICKING" CASE IS = CHR$(27) CALL exitprogram CASE IS = CHR$(0) + "M" IF scount% = 0 THEN scount% = scount% + 4 IF ph% + 20 > eh% THEN GOTO 8683 LINE (ph% - 15, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = ph% + 5 8683 CASE IS = CHR$(0) + "K" IF scount% = 4 THEN scount% = scount% + 3 LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = ph% - 5 CASE IS = CHR$(0) + "P" LINE (ph% - 15, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: IF scount% = 7 THEN scount% = scount% + 6 CALL fightwithchar2duck CASE IS = CHR$(0) + "H" 'start + yesjump% = 2: LINE (ph% - 7, pvv% + 9)-(ph% + 16, pv% + 7), 9, BF: pvv% = pvv% - 5: GOSUB delay2: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% - 5: GOSUB delay2: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% - 5: GOSUB delay2: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% - 5: GOSUB delay2: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% - 5: GOSUB delay2: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% + 5: GOSUB delay2: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% + 5: GOSUB delay2: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% + 5: GOSUB delay2: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% + 5: GOSUB delay2: LINE (ph% - 7, pvv% + 10)-(ph% + 7, pv% + 7), 9, BF: pvv% = pvv% + 5 LINE (ph% - 15, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: IF bg% = 2 THEN LINE (5, gl% + 8)-(5, gl% - 18), 0: yesjump% = 1 END SELECT IF ph% < LESSLIMIT% THEN ph% = LESSLIMIT% IF ph% > MORELIMIT% THEN ph% = MORELIMIT% time% = time% - 3 CALL enemypattern LOOP delay2: 2592 LINE (ph% - 14, pv% - 35)-(ph% + 15, gl% + 7), 9, BF IF bg% = 2 THEN LINE (5, gl% + 8)-(5, gl% - 18), 0 SELECT CASE INKEY$ CASE IS = CHR$(27) CALL exitprogram CASE IS = "+" IF guy1position$ = "PLAIN" THEN guy1position$ = "PUNCHING" CASE IS = CHR$(13) IF guy1position$ = "PLAIN" THEN guy1position$ = "KICKING" CASE IS = CHR$(0) + "M" IF ph% + 20 > eh% THEN GOTO 8684 LINE (ph% - 7, pv% - 7)-(ph% + 7, pv% + 7), 9, BF: ph% = ph% + 5 8684 CASE IS = CHR$(0) + "K" LINE (ph% - 7, pv% - 7)-(ph% + 7, pv% + 7), 9, BF: ph% = ph% - 5 END SELECT IF bg% = 2 THEN LINE (5, gl% + 8)-(5, gl% - 18), 0 IF ph% < LESSLIMIT% THEN ph% = LESSLIMIT% IF ph% > MORELIMIT% THEN ph% = MORELIMIT% CALL statusbar LINE (ph% - 15, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: IF bg% = 2 THEN LINE (5, gl% + 8)-(5, gl% - 18), 0 SELECT CASE guy1position$ CASE IS = "PLAIN" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy2plain CASE IS = "PUNCHING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy2punching CASE IS = "KICKING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy2kicking END SELECT IF bg% = 3 THEN LINE (5, gl% + 8)-(5, gl% - 18), 0 B% = 0 ''''''speed# 10122 IF B% < 500 THEN B% = B% + 1: GOTO 10122 time% = time% - 10 RANDOMIZE TIMER A% = 0 ''''''speed# 102 IF A% < 7500 THEN A% = A% + 1: GOTO 102 CALL enemypattern IF bg% = 2 THEN LINE (5, gl% + 8)-(5, gl% - 18), 0 RETURN e2: CLS END SUB DEFINT A-Z SUB fightwithchar2duck guy1position$ = "PLAIN" gl% = 125 yesjump% = 1 yeshot% = 1 ev% = gl% - 83 pv% = gl% pvv% = pv% - 2 DO IF hittimer% > 0 THEN hittimer% = hittimer% - 1 IF life% < 8 OR time% < 0 OR enemylife% < 0 THEN GOTO e4 CALL statusbar IF bg% = 1 THEN CALL background1: IF bg% = 2 THEN CALL background2 '7''15'7'7'9 LINE (ph% - 15, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: LINE (5, gl% + 8)-(5, gl% - 18), 0 SELECT CASE guy1position$ CASE IS = "DUCKING"'"PLAIN" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy2ducking CASE IS = "PUNCHING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy2punching CASE IS = "KICKING" LINE (ph% - 7, pv% - 15)-(ph% + 16, pv% + 7), 9, BF: CALL drawguy2kicking END SELECT guy1position$ = "DUCKING"'"PLAIN" SELECT CASE INKEY$ CASE IS = "+" guy1position$ = "PUNCHING" CASE IS = CHR$(13) guy1position$ = "KICKING" CASE IS = CHR$(27) CALL exitprogram LINE (5, gl% + 8)-(5, gl% - 18), 0 CASE IS = CHR$(0) + "H" LINE (ph% - 15, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: LINE (5, gl% + 8)-(5, gl% - 18), 0 EXIT SUB END SELECT IF ph% < LESSLIMIT% THEN LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = LESSLIMIT% IF ph% > MORELIMIT% THEN LINE (ph% - 7, pv% - 15)-(ph% + 7, pv% + 7), 9, BF: ph% = MORELIMIT% LINE (5, gl% + 8)-(5, gl% - 18), 0 time% = time% - 3 CALL enemypattern LOOP e4: CLS END SUB DEFSNG A-Z SUB fightwithenemyfall LINE (ph% - 7, pvv% - 15)-(ph% + 23, pvv% + 7), 9, BF: LINE (ph% - 7, pv% - 15)-(ph% + 23, pv% + 7), 9, BF: gl% = 125 yesjump% = 1 yeshot% = 1 ev% = gl% - 83 pv% = gl% IF charpick% = 1 THEN pvv% = pv% - 42 IF charpick% = 2 THEN pvv% = pv% - 2 LINE (ph% - 7, pvv% - 15)-(ph% + 23, gl% + 7), 9, BF: IF charpick% = 1 AND guy1position$ <> "STICK" THEN CALL drawguy1plain IF charpick% = 2 AND guy1position$ <> "STICK" THEN CALL drawguy2plain LINE (ph% - 7, pvv% - 15)-(ph% + 23, gl% + 7), 9, BF: LINE (ph% - 7, pv% - 15)-(ph% + 23, pv% + 7), 9, BF: IF charpick% = 1 AND guy1position$ = "STICK" THEN CALL drawguy1stick IF charpick% = 2 AND guy1position$ = "STICK" THEN CALL drawguy2stretch COLOR 4 CALL statusbar IF bg% = 1 THEN CALL background1: IF bg% = 2 THEN CALL background2 'IF charpick% = 1 THEN CALL drawguy1plain 'IF charpick% = 2 THEN CALL drawguy2plain SELECT CASE INKEY$ CASE IS = CHR$(27) CALL exitprogram END SELECT CALL drawenemyfallen DELAY 32766: DELAY 20000 LINE (eh% - 7, gl%)-(eh% + 26, gl% + 7), 9, BF: END SUB SUB fireballexplode LINE (bh% - 6, bv% - 3)-(bh% + 3, bv% + 2), 9, BF CALL drawenemyplain bh% = bh% + 2 '4 OR 5! FOR sizeofthis% = 1 TO 4 STEP 1 CIRCLE (bh%, bv%), sizeofthis%, 4 IF sounds$ = "NO" THEN DELAY 10000: GOTO 780 IF soundcard$ = "NO" THEN SOUND (sizeofthis% * 5) + 50, 1: GOTO 780 IF soundcard$ = "YES" THEN thy% = (sizeofthis% * 750) + 13000: note thy%, 3500 780 NEXT sizeofthis%'4 OR 5! FOR sizeofthis2% = 4 TO 1 STEP -1 CIRCLE (bh%, bv%), sizeofthis2%, 9 IF sounds$ = "NO" THEN DELAY 10000: GOTO 781 IF soundcard$ = "NO" THEN SOUND (sizeofthis2% * 5) + 50, 1: GOTO 781 IF soundcard$ = "YES" THEN thy% = (sizeofthis% * 750) + 13000: note thy%, 3500 781 NEXT sizeofthis2% END SUB SUB gethighscore CLS : SCREEN 13 LOCATE 2, 2: COLOR 10: PRINT "You've got a high score!" LOCATE 4, 2: COLOR 12: PRINT "Enter your name:" LOCATE 5, 2: COLOR 12: INPUT "", nname$ CLS : SCREEN 13 highscore% = score% highfightwins% = fightwins% name$ = nname$ END SUB SUB guy1ending CLS : SCREEN 13 LOCATE 2, 2: COLOR 10: PRINT " You win! Derrick is triumphant!" LOCATE 4, 2: COLOR 8: PRINT "Now that Derrick has won the tournament and gotten revenge, he sees no reason togo on fighting. He mysteriously dissape-ars one night, and is never seen again.At least for now..." FOR onemore% = 1 TO 75 DELAY 32766 NEXT onemore% END SUB SUB guy2ending CLS : SCREEN 13 LOCATE 2, 2: COLOR 10: PRINT " You win! Samson is triumphant!" LOCATE 4, 2: COLOR 8: PRINT "Now that Samson has the key to EyeKlomiahe decides to settle down in the city ofKuham, or as the locals call it, Cone- land. He is very happy there, and is content to remain there, at least until the next tournament..." FOR onemore% = 1 TO 75 DELAY 32766 NEXT onemore% CALL endpicture END SUB DEFINT A-Z SUB intro COLOR 15 FOR y% = 0 TO 50: GOSUB fadedelay NEXT y% CLS : SCREEN 13 FOR I = 1 TO 63 PALETTE 0, I IF soundcard$ = "YES" THEN SBPlay I + 100 IF soundcard$ = "NO" THEN IF sounds$ = "YES" THEN SOUND I * 100, .3 END IF GOSUB fadedelay NEXT I IF soundcard$ = "YES" THEN CALL WriteReg(&HB0, &H0) GOSUB fadedelay LOCATE 12, 14: PRINT "DEATH FIGHT!" DELAY 32766: DELAY 32766: DELAY 32766 DELAY 32766: DELAY 32766: DELAY 32766 DELAY 32766: DELAY 32766: CALL song1 GOTO 104 fadedelay: delayb% = 0 103 IF delayb% < 2500 THEN delayb% = delayb% + 1: GOTO 103 RETURN 104 FOR I = 63 TO 0 STEP -1 PALETTE 0, I GOSUB fadedelay NEXT I LOCATE 12, 14: PRINT "DEATH FIGHT!" LOCATE 14, 14: PRINT "Version 1.00" FOR y% = 0 TO 25: GOSUB fadedelay NEXT y% CLS : SCREEN 13 COLOR 14 CIRCLE (50, 75), 50, , 5.5, 5, 1 CIRCLE (48, 70), 30, , , , .8 PSET (65, 122) LINE -STEP(8, 20): LINE -STEP(30, 0): LINE -STEP(-18, -30) PSET (110, 50) LINE -STEP(0, 100) CIRCLE (120, 75), 35, , 4.6, 1.9, .8 CIRCLE (120, 128), 40, , 4.4, 1.5, .6 CIRCLE (127, 81), 10, , , , .9: CIRCLE (128, 125), 12, , , , .9 CIRCLE (180, 120), 20, , .5, 5.6, .6 CIRCLE (180, 120), 10, , , , .7 CIRCLE (180, 105), 20, , 0, 2, .7: CIRCLE (180, 113), 15, , 0, 2, .7 PSET (171, 92): LINE -STEP(2, 10) PSET (200, 105): LINE -STEP(8, 30): LINE -STEP(-10, 1): LINE -STEP(-2, -8) CIRCLE (220, 70), 30, , 1, 4, .9: CIRCLE (220, 71), 20, , 1, 4, .9 CIRCLE (215, 130), 30, , 4, 1, .9: CIRCLE (215, 128), 20, , 4, 1, .9 PSET (235, 48): LINE -STEP(-5, 8): PSET (207, 85): LINE -STEP(27, 23) PSET (200, 90): LINE -STEP(27, 23): PSET (202, 141): LINE -STEP(-8, 10) PSET (250, 80): LINE -STEP(5, 50): LINE -STEP(12, 0): LINE -STEP(-2, -50) LINE -STEP(-14, 0): CIRCLE (257, 68), 10, , , , .7 CIRCLE (310, 100), 35, , 1.5, 5, 1: CIRCLE (310, 95), 25, , 1.5, 5, 1 PSET (312, 65): LINE -STEP(-1, 5): PSET (318, 120): LINE -STEP(1, 15) LOCATE 3, 15: PRINT "All programming for" LOCATE 4, 14: PRINT "this game was done in..." FOR y% = 0 TO 100: GOSUB fadedelay NEXT y% CLS : SCREEN 13 GOSUB fadedelay END SUB SUB note (level%, legnth%) SBPlay level% FOR delay1% = 0 TO legnth% STEP 1: NEXT delay1% FOR delay1% = 0 TO legnth% STEP 1: NEXT delay1% CALL WriteReg(&HB0, &H0) END SUB DEFSNG A-Z SUB punchoffledge CLS : SCREEN 13 PAINT (1, 100), 9 LINE (-1, 100)-(135, 200), 0, B PAINT (1, 101), 8, 0 ph% = 112: pvv% = 49 IF charpick% = 1 THEN pvv% = 49 IF charpick% = 2 THEN pvv% = 90 IF charpick% = 1 THEN ph% = 112 IF charpick% = 2 THEN ph% = 110 IF charpick% = 1 THEN CALL drawguy1plain IF charpick% = 2 THEN CALL drawguy2plain eh% = 127: evv% = 49: col1% = 0: col2% = 0: col3% = 0 CALL drawenemyplain DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766 LINE (105, 99)-(118, 76), 9, BF IF charpick% = 1 THEN CALL drawguy1punching IF charpick% = 2 THEN CALL drawguy2punching IF sounds$ = "YES" THEN sounds$ = "NO": change$ = "YES" IF sounds$ = "NO" THEN change$ = "YES" DO LINE (105, 99)-(155, 76), 9, BF IF charpick% = 1 THEN CALL drawguy1punching IF charpick% = 2 THEN CALL drawguy2punching IF eh% < 145 THEN eh% = eh% + 1 IF eh% = 145 THEN EXIT DO CALL drawenemyplain LOOP change$ = "NO" IF change$ = "YES" THEN sounds$ = "YES" LINE (105, 99)-(155, 76), 9, BF IF charpick% = 1 THEN CALL drawguy1plain IF charpick% = 2 THEN CALL drawguy2plain LINE (136, 0)-(175, 200), 9, BF CALL drawenemyfallen DO CALL drawenemyfallen DELAY 1500 LINE (136, 0)-(320, 200), 9, BF IF evv% < 160 THEN evv% = evv% + 1 IF evv% = 160 THEN EXIT DO LOOP END SUB SUB puthighscore CLS : SCREEN 13: name$ = LEFT$(nname$, 12) SLEEP 1: ABC% = 1: ABCD% = 200 DO: LOCATE 2, 7: COLOR 10: PRINT "The high-score belongs to..." LOCATE 4, 17: COLOR ABC%: PRINT name$'RIGHT$(name$, 12) LOCATE 6, 7: COLOR 10: PRINT "He or she had a score of..." LOCATE 8, 16: COLOR ABC%: PRINT highscore% LOCATE 9, 25: COLOR 10: PRINT " He or she won this many fights..." LOCATE 12, 17: COLOR ABC%: PRINT highfightwins% ABC% = ABC% + 1: IF ABC% > 200 THEN ABC% = 1 IF sounds$ = "NO" THEN DELAY 7500: GOTO 568 IF soundcard$ = "YES" THEN GOSUB sbsound IF soundcard$ = "NO" THEN GOSUB nosbsound 568 IF INKEY$ <> "" AND INKEY$ <> CHR$(27) THEN DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: CLS : EXIT SUB IF INKEY$ = CHR$(27) THEN CALL exitprogram LOOP nosbsound: RANDOMIZE TIMER fgh% = INT(RND * 1000) + 50 SOUND fgh%, .3 RETURN sbsound: RANDOMIZE TIMER gh% = INT(RND * 3000) + 13000 note gh%, 7500 RETURN END SUB SUB reward CLS : SCREEN 9: ABCDE% = 1 LOCATE 2, 2: COLOR 4: PRINT "Psst... hey you! I got some secrets for ya!" FOR yep% = 1 TO 15 DELAY 32766 NEXT yep% LOCATE 4, 2: COLOR 12: PRINT "Stick Attack:" LOCATE 5, 2: COLOR 12: PRINT "With Derrick, press Left, Down, Up, Right, Punch" LOCATE 6, 2: COLOR 12: PRINT "He will hit with a wooden stick taking off 8% damage" LOCATE 8, 2: COLOR 12: PRINT "Stretch Attack:" LOCATE 9, 2: COLOR 12: PRINT "With Samson, press Right, Left, Down, Up, Punch" LOCATE 10, 2: COLOR 12: PRINT "He will stretch out his arm to punch you (8% damage)" FOR youstinkincheater% = 0 TO 100 DELAY 32766 NEXT youstinkincheater% CLS : SCREEN 13 END SUB SUB round (roundnum%) DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766 LOCATE 12, 15: COLOR 12: PRINT " ROUND"; roundnum% DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766 LOCATE 14, 15: COLOR 4: PRINT " FIGHT ! " DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766: DELAY 32766 LINE (0, gl% + 7)-(320, 0), 9, BF END SUB DEFINT A-Z SUB SBInit FOR q = 1 TO &HF5 CALL WriteReg(q, 0) NEXT q END SUB SUB SBPlay (freq%) IF sounds$ = "NO" THEN EXIT SUB CALL WriteReg(&H20, &H7) CALL WriteReg(&H40, &HF) CALL WriteReg(&H60, &HF0) CALL WriteReg(&H80, &HF0) CALL WriteReg(&HA0, freq%) CALL WriteReg(&H23, &HF) CALL WriteReg(&H43, &H0) CALL WriteReg(&H63, &HF0) CALL WriteReg(&H83, &HFF) CALL WriteReg(&HB0, &H20) CALL WriteReg(&HE0, &H0) TimeUp! = TIMER + .0005 WHILE TimeUp! > TIMER: WEND END SUB SUB song1 IF sounds$ = "NO" THEN EXIT SUB IF soundcard$ = "NO" THEN EXIT SUB DELAY 32766 DELAY 32766 note 15500, 20000 note 14000, 15000 note 14500, 15000 note 15000, 32766 note 16250, 17500 note 15000, 32766 note 16250, 17500 note 16000, 15000 note 16250, 17500 note 15000, 32766 note 16250, 17500 note 15000, 32766 note 14500, 15000 note 14000, 15000 note 15500, 20000 DELAY 20000 note 14750, 15000 note 14000, 15000 note 15500, 20000 DELAY 32766 END SUB SUB song2 IF sounds$ = "NO" THEN EXIT SUB IF soundcard$ = "NO" THEN EXIT SUB note 13000, 32766 note 16000, 10000 note 15000, 10000 DELAY 10000 note 14500, 15000 note 13000, 20000 note 11000, 32766 note 12000, 32766 note 13000, 32766 END SUB SUB soundeffect (kind$) IF change$ = "YES" THEN EXIT SUB IF sounds$ = "NO" THEN DELAY 10000: EXIT SUB SELECT CASE kind$ CASE IS = "STICK" IF soundcard$ = "NO" THEN SOUND 150, .75: DELAY 10000: EXIT SUB FOR this% = 1000 TO 1010 SBPlay this% FOR delayc% = 0 TO 1000 STEP 1: NEXT delayc% NEXT this% CALL WriteReg(&HB0, &H0) CASE IS = "PUNCH" IF soundcard$ = "NO" THEN SOUND 100, .75: DELAY 10000: EXIT SUB FOR nt = 0 TO 255 NEXT nt SBPlay 2000 FOR delayc% = 0 TO 10000 STEP 1: NEXT delayc% CALL WriteReg(&HB0, &H0) CASE IS = "KICK" IF soundcard$ = "NO" THEN SOUND 100, .75: DELAY 10000: EXIT SUB FOR nt = 0 TO 255 NEXT nt SBPlay 2000 FOR delayd% = 0 TO 10000 STEP 1: NEXT delayd% CALL WriteReg(&HB0, &H0) CASE IS = "DING" IF soundcard$ = "NO" THEN SOUND 250, .75: EXIT SUB FOR nt = 0 TO 255 NEXT nt SBPlay 5000 FOR delaye% = 0 TO 10000 STEP 1: NEXT delaye% CALL WriteReg(&HB0, &H0) END SELECT END SUB SUB soundoptions ncount% = 0: SPD = 50: CLS : SCREEN 13: SLEEP 1: SLEEP 1 210 LOCATE 9, 15: COLOR 12: PRINT " DEATH FIGHT!": LOCATE 11, 14 COLOR 10: IF SELCT = 0 THEN PRINT CHR$(16); " SOUND CARD? "; ELSE PRINT " SOUND CARD? "; IF player = 0 THEN PRINT "YES" ELSE IF player = 1 THEN PRINT "NO " LOCATE 13, 14 IF SELCT = 1 THEN PRINT CHR$(16); " SOUND ON? "; ELSE PRINT " SOUND ON? "; IF STYLE = 0 THEN PRINT "YES" ELSE IF STYLE = 1 THEN PRINT "NO " 14 LOCATE 15, 14 IF SELCT = 2 THEN PRINT CHR$(16); " GO TO DEATH FIGHT!"; ELSE PRINT " GO TO DEATH FIGHT!"; DO: A$ = UCASE$(INKEY$): LOOP WHILE A$ = "" IF A$ = CHR$(27) THEN CALL exitprogram IF A$ = CHR$(0) + "H" THEN SELCT = SELCT - 1: IF SELCT < 0 THEN SELCT = 0: GOTO 210 ELSE GOTO 210 IF A$ = CHR$(0) + "P" THEN SELCT = SELCT + 1: IF SELCT > 2 THEN SELCT = 2: GOTO 210 ELSE GOTO 210 IF SELCT = 0 AND player = 0 THEN player = 1 ELSE IF SELCT = 0 AND player = 1 THEN player = 0 IF SELCT = 1 AND STYLE = 0 THEN STYLE = 1 ELSE IF SELCT = 1 AND STYLE = 1 THEN STYLE = 0 IF SELCT = 2 AND SPD = 50 THEN SPD = 250 ELSE IF SELCT = 2 AND SPD = 250 THEN SPD = 500 ELSE IF SELCT = 2 AND SPD = 500 THEN SPD = 50 IF SELCT <> 2 THEN GOTO 210 CLS : SCREEN 13 IF player = 0 THEN soundcard$ = "YES" IF player = 1 THEN soundcard$ = "NO" IF STYLE = 0 THEN sounds$ = "YES" IF STYLE = 1 THEN sounds$ = "NO" END SUB DEFSNG A-Z SUB statusbar COLOR 12 IF dmode$ = "YES" THEN GOTO 66 IF combohits% > 14 THEN combohits% = 14 IF COMBOTIMER% = 0 THEN GOTO 66 IF COMBOTIMER% > 0 AND combohits% > 1 AND hittimer% = 0 THEN oldcombohits% = combohits%: oldcombodamage% = combodamage%: GOTO 67 IF COMBOTIMER% > 0 AND hittimer% = 0 THEN LOCATE 21, 1: PRINT "COMBO -"; oldcombohits%; "HITS,"; (oldcombohits% * 4); "% DAMAGE!": GOTO 67 66 COLOR 4 LOCATE 21, 1: PRINT " " 67 COLOR 4 LOCATE 22, 3: PRINT "You-" LOCATE 23, 3: PRINT "Him-" LOCATE 23, 31: PRINT time% / 100; " " LOCATE 23, 21: PRINT "Time left-" LOCATE 22, 21: PRINT "Score-"; score% LINE (150, 169)-(life% + 50, 174), 4, BF LINE (150, 177)-(enemylife% + 50, 182), 4, BF LINE (50, 169)-(life% + 50, 174), 12, BF LINE (50, 177)-(enemylife% + 50, 182), 12, BF END SUB DEFINT A-Z SUB WriteReg (Reg%, Value%) OUT &H388, Reg% FOR x = 0 TO 5 A = INP(&H388) NEXT x OUT &H389, Value% FOR x = 0 TO 34 A = INP(&H388) NEXT x END SUB