' ' STICKFIGHTER!!!!! (FIGHTER.BAS) Copyright (C) JAN.1997 Steve Nunnally ' You MAY distribute this file as you wish freely, as long as the file ' has NOT been altered in any way. ' You may NOT, however, steal this program's use this program's ' code/engine as a base for other programs. <+>You may read the code and use ' it for an example, only. If you get any ideas by reading my code I would ' apprieciate you putting in a thanks to me in your program. ' All code in this program was created from scratch by Steve Nunnally. No code ' was used from other fighting games. ' ' ' Press Shift-F5 To Play StickFighter!!! ' ' ' ' ' Made By Steve Nunnally ' ' ' ' ' ' ' DIM SHARED Players AS INTEGER DIM SHARED PlayerName AS STRING DIM SHARED PlayerName2 AS STRING DIM SHARED LeftHead AS INTEGER DIM SHARED RightHead AS INTEGER DIM SHARED RightLife AS INTEGER DIM SHARED LeftLife AS INTEGER DIM SHARED MoveTheGuy AS INTEGER DIM SHARED CompAttack AS INTEGER DIM SHARED Hardness AS INTEGER DIM SHARED LeftBall AS INTEGER DIM SHARED RightBall AS INTEGER DIM SHARED CompWhile AS INTEGER DIM SHARED ResumeFromMove AS INTEGER DIM SHARED colorguy AS INTEGER DIM SHARED colorguy2 AS INTEGER DECLARE SUB StartGame () DECLARE SUB MainMenu () DECLARE SUB OnePlayer () DECLARE SUB TwoPlayer () DECLARE SUB MoveLeft () DECLARE SUB MoveRight () DECLARE SUB Kick () DECLARE SUB MoveComputer () DECLARE SUB ComputerAttack () DECLARE SUB RightLostLife () DECLARE SUB RightDied () DECLARE SUB Punch () DECLARE SUB LeftLostLife () DECLARE SUB LeftDied () DECLARE SUB Kick2 () DECLARE SUB Punch2 () DECLARE SUB MoveLeft3 () DECLARE SUB MoveRight3 () DECLARE SUB Kick3 () DECLARE SUB Punch3 () DECLARE SUB LeftDied2 () DECLARE SUB RightDied2 () DECLARE SUB SpecialMoveLeft () DECLARE SUB CompAttackWhile () DECLARE SUB ChooseMan () DECLARE SUB CompShoot () DECLARE SUB SpecialMoveLeft2 () DECLARE SUB SpecialMoveRight () CALL MainMenu SUB ChooseMan CLS COLOR 15 IF Players = 1 THEN LOCATE 1, 32 IF Players = 1 THEN PRINT "Pick A Character" IF Players = 2 THEN LOCATE 1, 27 IF Players = 2 THEN PRINT "LeftPlayer Pick Character:" CIRCLE (160, 25), 15, 1 CIRCLE (165, 23), 3, 1 CIRCLE (155, 23), 3, 1 COLOR 1: LINE (160, 32)-(160, 55) LINE (160, 55)-(180, 70) LINE (160, 55)-(140, 70) LINE (160, 44)-(175, 44) LINE (160, 44)-(145, 44) CIRCLE (320, 25), 15, 8 CIRCLE (325, 23), 3, 8 CIRCLE (315, 23), 3, 8 COLOR 8: LINE (320, 32)-(320, 55) LINE (320, 55)-(340, 70) LINE (320, 55)-(300, 70) LINE (320, 44)-(335, 44) LINE (320, 44)-(305, 44) CIRCLE (480, 25), 15, 4 CIRCLE (485, 23), 3, 4 CIRCLE (475, 23), 3, 4 COLOR 4: LINE (480, 32)-(480, 55) LINE (480, 55)-(500, 70) LINE (480, 55)-(460, 70) LINE (480, 44)-(495, 44) LINE (480, 44)-(465, 44) CIRCLE (160, 125), 15, 5 CIRCLE (165, 123), 3, 5 CIRCLE (155, 123), 3, 5 COLOR 5: LINE (160, 132)-(160, 155) LINE (160, 155)-(180, 170) LINE (160, 155)-(140, 170) LINE (160, 144)-(175, 144) LINE (160, 144)-(145, 144) CIRCLE (320, 125), 15, 6 CIRCLE (325, 123), 3, 6 CIRCLE (315, 123), 3, 6 COLOR 6: LINE (320, 132)-(320, 155) LINE (320, 155)-(340, 170) LINE (320, 155)-(300, 170) LINE (320, 144)-(335, 144) LINE (320, 144)-(305, 144) CIRCLE (480, 125), 15, 15 CIRCLE (485, 123), 3, 15 CIRCLE (475, 123), 3, 15 COLOR 15: LINE (480, 132)-(480, 155) LINE (480, 155)-(500, 170) LINE (480, 155)-(460, 170) LINE (480, 144)-(495, 144) LINE (480, 144)-(465, 144) COLOR 7 LOCATE 4, 10 PRINT "1:" LOCATE 4, 30 PRINT "2:" LOCATE 4, 50 PRINT "3:" LOCATE 17, 10 PRINT "4:" LOCATE 17, 30 PRINT "5:" LOCATE 17, 50 PRINT "6:" GuyNumber: kbd$ = INKEY$ SELECT CASE kbd$ CASE "1": GOTO Person1 CASE "2": GOTO Person2 CASE "3": GOTO Person3 CASE "4": GOTO Person4 CASE "5": GOTO Person5 CASE "6": GOTO Person6 CASE ELSE END SELECT GOTO GuyNumber Person1: colorguy = 1 GOTO GoStartAgain Person2: colorguy = 8 GOTO GoStartAgain Person3: colorguy = 4 GOTO GoStartAgain Person4: colorguy = 5 GOTO GoStartAgain Person5: colorguy = 6 GOTO GoStartAgain Person6: colorguy = 15 GOTO GoStartAgain ColorGuyForRight: COLOR 15 LOCATE 1, 27 PRINT " " LOCATE 12, 27 PRINT "RightPlayer Pick Character" GuyNumber2: kbd$ = INKEY$ SELECT CASE kbd$ CASE "1": GOTO Person12 CASE "2": GOTO Person22 CASE "3": GOTO Person32 CASE "4": GOTO Person42 CASE "5": GOTO Person52 CASE "6": GOTO Person62 CASE ELSE END SELECT GOTO GuyNumber2 Person12: colorguy2 = 1 GOTO GoStartAgain2 Person22: colorguy2 = 8 GOTO GoStartAgain2 Person32: colorguy2 = 4 GOTO GoStartAgain2 Person42: colorguy2 = 5 GOTO GoStartAgain2 Person52: colorguy2 = 6 GOTO GoStartAgain2 Person62: colorguy2 = 15 GOTO GoStartAgain2 GoStartAgain: IF Players = 2 THEN GOTO ColorGuyForRight GoStartAgain2: END SUB SUB CompAttackWhile RightBall = RightBall - 1 CIRCLE (RightBall, 130), 11, 15 PAINT (RightBall, 130), 15 CIRCLE (RightBall, 130), 11, 0 PAINT (LeftBall, 130), 0 IF RightBall <= LeftBall THEN ResumeFromMove = 2 IF RightBall - 30 <= LeftHead THEN LeftLostLife END SUB SUB CompShoot LeftBall = LeftHead + 29 RightBall = RightHead - 29 ResumeFromMove = 1 ManDude = 1 CountDown = 0 Rerun: CountDown = CountDown + 1 IF CountDown = 3 THEN RightBall = RightBall - 1 IF CountDown = 3 THEN CountDown = 0 CIRCLE (RightBall, 130), 10, 15 PAINT (RightBall, 130), 15 IF ManDude = 2 THEN GOTO ContinueIt5 Rererun: kbd$ = INKEY$ SELECT CASE kbd$ CASE CHR$(0) + "P": GOTO ManHelp CASE CHR$(0) + "M": MoveRight CASE ELSE END SELECT CIRCLE (RightBall, 130), 10, 0 PAINT (LeftBall, 130), 0 IF RightBall - 30 <= LeftHead THEN LeftLostLife IF LeftBall >= RightBall THEN GOTO SpecialEnd2 IF RightBall - 30 <= LeftHead OR LeftBall >= RightBall THEN GOTO SpecialEnd2 GOTO Rerun ManHelp: GoAgain = 1 DO kbd$ = INKEY$ SELECT CASE kbd$ CASE CHR$(0) + "M": GOTO ContinueIt4 CASE ELSE END SELECT GoAgain = GoAgain + 1 LOOP UNTIL GoAgain = 500 GOTO Rerun ContinueIt4: DO kbd$ = INKEY$ SELECT CASE kbd$ CASE "/": GOTO ContinueIt5 CASE ELSE END SELECT GoAgain = GoAgain + 1 LOOP UNTIL GoAgain = 1000 GOTO Rerun ContinueIt5: ManDude = 2 LeftBall = LeftBall + 1 CIRCLE (LeftBall, 130), 10, 15 PAINT (LeftBall, 130), 15 CIRCLE (LeftBall, 130), 10, 0 PAINT (LeftBall, 130), 0 IF LeftBall >= RightBall THEN GOTO SpecialEnd2 GOTO Rererun SpecialEnd2: END SUB SUB ComputerAttack IF Hardness = 3 THEN CompAttack = INT(RND * 2) + 1 IF Hardness = 2 THEN CompAttack = INT(RND * 4) + 1 IF Hardness = 1 THEN CompAttack = INT(RND * 15) + 1 IF CompAttack < 1 OR CompAttack > 2 THEN GOTO CompAttackEnd IF CompAttack = 1 THEN GOTO PunchComp IF CompAttack = 2 THEN GOTO KickComp PunchComp: COLOR 0: LINE (RightHead, 133)-(RightHead - 15, 133) COLOR 4: LINE (RightHead, 133)-(RightHead - 33, 126) IF RightHead - 33 <= LeftHead THEN LeftLostLife FOR i# = 1 TO 1000: NEXT i# COLOR 0: LINE (RightHead, 133)-(RightHead - 33, 126) COLOR 4: LINE (RightHead, 133)-(RightHead - 15, 133) GOTO CompAttackEnd KickComp: COLOR 2: LINE (RightHead, 144)-(RightHead - 20, 159) COLOR 4: LINE (RightHead, 143)-(RightHead - 37, 138) IF RightHead - 40 <= LeftHead THEN LeftLostLife FOR i# = 1 TO 1000: NEXT i# COLOR 0: LINE (RightHead, 143)-(RightHead - 37, 138) COLOR 4: LINE (RightHead, 144)-(RightHead - 20, 159) GOTO CompAttackEnd CompAttackEnd: END SUB SUB Kick COLOR 2: LINE (LeftHead, 144)-(LeftHead + 20, 159) COLOR colorguy: LINE (LeftHead, 143)-(LeftHead + 37, 138) IF LeftHead + 40 >= RightHead THEN RightLostLife MoveTheGuy = INT(RND * 300) + 1 IF MoveTheGuy < 1 OR MoveTheGuy > 2 THEN GOTO ForgetIt2 CIRCLE (RightHead, 114), 15, 0 CIRCLE (RightHead + 5, 112), 3, 0 CIRCLE (RightHead - 5, 112), 3, 0 COLOR 0: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) COLOR 2: LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) IF MoveTheGuy = 1 THEN RightHead = RightHead - 20 IF MoveTheGuy = 2 THEN RightHead = RightHead + 20 IF RightHead > 620 THEN RightHead = 620 IF RightHead < LeftHead + 32 THEN RightHead = LeftHead + 32 CIRCLE (RightHead, 114), 15, 4 CIRCLE (RightHead + 5, 112), 3, 4 CIRCLE (RightHead - 5, 112), 3, 4 COLOR 4: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) ForgetIt2: FOR i# = 1 TO 1000: NEXT i# COLOR 0: LINE (LeftHead, 143)-(LeftHead + 37, 138) COLOR colorguy: LINE (LeftHead, 144)-(LeftHead + 20, 159) IF RightHead - 45 <= LeftHead THEN ComputerAttack END SUB SUB Kick2 COLOR 2: LINE (RightHead, 144)-(RightHead - 20, 159) COLOR colorguy2: LINE (RightHead, 143)-(RightHead - 37, 138) IF RightHead - 40 <= LeftHead THEN LeftLostLife FOR i# = 1 TO 1000: NEXT i# COLOR 0: LINE (RightHead, 143)-(RightHead - 37, 138) COLOR colorguy2: LINE (RightHead, 144)-(RightHead - 20, 159) END SUB SUB Kick3 COLOR 2: LINE (LeftHead, 144)-(LeftHead + 20, 159) COLOR colorguy: LINE (LeftHead, 143)-(LeftHead + 37, 138) IF LeftHead + 40 >= RightHead THEN RightLostLife FOR i# = 1 TO 1000: NEXT i# COLOR 0: LINE (LeftHead, 143)-(LeftHead + 37, 138) COLOR colorguy: LINE (LeftHead, 144)-(LeftHead + 20, 159) END SUB SUB LeftDied COLOR 15 LOCATE 6, 29 PRINT "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" LOCATE 7, 29 PRINT "º º" LOCATE 8, 29 PRINT "º YOU LOST!!! º" LOCATE 9, 29 PRINT "º º" LOCATE 10, 29 PRINT "º Press Q To Continue º" LOCATE 11, 29 PRINT "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" GetthedeathKey2: quitdie$ = INKEY$ SELECT CASE quitdie$ CASE "q": MainMenu CASE ELSE END SELECT GOTO GetthedeathKey2 END SUB SUB LeftDied2 COLOR 15 LOCATE 6, 29 PRINT "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" LOCATE 7, 29 PRINT "º º" LOCATE 8, 29 PRINT "º RIGHT PLAYER WON!!! º" LOCATE 9, 29 PRINT "º º" LOCATE 10, 29 PRINT "º Press Q To Continue º" LOCATE 11, 29 PRINT "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" GetthedeathKey3: quitdie$ = INKEY$ SELECT CASE quitdie$ CASE "q": MainMenu CASE ELSE END SELECT GOTO GetthedeathKey3 END SUB SUB LeftLostLife LeftLife = LeftLife - 1 IF LeftLife = 29 THEN LOCATE 3, 30 IF LeftLife = 29 THEN PRINT " " IF LeftLife = 28 THEN LOCATE 3, 29 IF LeftLife = 28 THEN PRINT " " IF LeftLife = 27 THEN LOCATE 3, 28 IF LeftLife = 27 THEN PRINT " " IF LeftLife = 26 THEN LOCATE 3, 27 IF LeftLife = 26 THEN PRINT " " IF LeftLife = 25 THEN LOCATE 3, 26 IF LeftLife = 25 THEN PRINT " " IF LeftLife = 24 THEN LOCATE 3, 25 IF LeftLife = 24 THEN PRINT " " IF LeftLife = 23 THEN LOCATE 3, 24 IF LeftLife = 23 THEN PRINT " " IF LeftLife = 22 THEN LOCATE 3, 1 IF LeftLife = 22 THEN COLOR 2 IF LeftLife = 22 THEN PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ " IF LeftLife = 21 THEN LOCATE 3, 22 IF LeftLife = 21 THEN PRINT " " IF LeftLife = 20 THEN LOCATE 3, 21 IF LeftLife = 20 THEN PRINT " " IF LeftLife = 19 THEN LOCATE 3, 20 IF LeftLife = 19 THEN PRINT " " IF LeftLife = 18 THEN LOCATE 3, 19 IF LeftLife = 18 THEN PRINT " " IF LeftLife = 17 THEN LOCATE 3, 18 IF LeftLife = 17 THEN PRINT " " IF LeftLife = 16 THEN LOCATE 3, 17 IF LeftLife = 16 THEN PRINT " " IF LeftLife = 15 THEN LOCATE 3, 16 IF LeftLife = 15 THEN PRINT " " IF LeftLife = 14 THEN LOCATE 3, 1 IF LeftLife = 14 THEN COLOR 14 IF LeftLife = 14 THEN PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ " IF LeftLife = 13 THEN LOCATE 3, 14 IF LeftLife = 13 THEN PRINT " " IF LeftLife = 12 THEN LOCATE 3, 13 IF LeftLife = 12 THEN PRINT " " IF LeftLife = 11 THEN LOCATE 3, 12 IF LeftLife = 11 THEN PRINT " " IF LeftLife = 10 THEN LOCATE 3, 11 IF LeftLife = 10 THEN PRINT " " IF LeftLife = 9 THEN LOCATE 3, 10 IF LeftLife = 9 THEN PRINT " " IF LeftLife = 8 THEN LOCATE 3, 9 IF LeftLife = 8 THEN PRINT " " IF LeftLife = 7 THEN LOCATE 3, 8 IF LeftLife = 7 THEN PRINT " " IF LeftLife = 6 THEN LOCATE 3, 1 IF LeftLife = 6 THEN COLOR 4 IF LeftLife = 6 THEN PRINT "ÛÛÛÛÛÛ " IF LeftLife = 5 THEN LOCATE 3, 6 IF LeftLife = 5 THEN PRINT " " IF LeftLife = 4 THEN LOCATE 3, 5 IF LeftLife = 4 THEN PRINT " " IF LeftLife = 3 THEN LOCATE 3, 4 IF LeftLife = 3 THEN PRINT " " IF LeftLife = 2 THEN LOCATE 3, 3 IF LeftLife = 2 THEN PRINT " " IF LeftLife = 1 THEN LOCATE 3, 2 IF LeftLife = 1 THEN PRINT " " IF LeftLife = 0 THEN LOCATE 3, 1 IF LeftLife = 0 THEN PRINT " " IF LeftLife = 0 AND Players = 1 THEN LeftDied IF LeftLife = 0 AND Players = 2 THEN LeftDied2 CIRCLE (LeftHead, 114), 15, 0 CIRCLE (LeftHead + 5, 112), 3, 0 CIRCLE (LeftHead - 5, 112), 3, 0 COLOR 0: LINE (LeftHead, 121)-(LeftHead, 144) LINE (LeftHead, 133)-(LeftHead + 15, 133) LINE (LeftHead, 133)-(LeftHead - 15, 133) COLOR 2: LINE (LeftHead, 144)-(LeftHead + 20, 159) LINE (LeftHead, 144)-(LeftHead - 20, 159) LeftHead = LeftHead - 7 IF LeftHead < 20 THEN LeftHead = 20 CIRCLE (LeftHead, 114), 15, colorguy CIRCLE (LeftHead + 5, 112), 3, colorguy CIRCLE (LeftHead - 5, 112), 3, colorguy COLOR colorguy: LINE (LeftHead, 121)-(LeftHead, 144) LINE (LeftHead, 133)-(LeftHead + 15, 133) LINE (LeftHead, 133)-(LeftHead - 15, 133) LINE (LeftHead, 144)-(LeftHead + 20, 159) LINE (LeftHead, 144)-(LeftHead - 20, 159) END SUB SUB MainMenu SCREEN 8 MenuPrint: CLS COLOR 10 PRINT "": PRINT "": PRINT "" PRINT " ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" PRINT " º StickFighter º" PRINT " º ------------ º" PRINT " º 1: Play Game º" PRINT " º 2: HowToPlay º" PRINT " º 3: AboutGame º" PRINT " º 4: ByeByeBye º" PRINT " ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" GetKeyForMenu: kbd$ = INKEY$ SELECT CASE kbd$ CASE "1": StartGame CASE "2": GOTO Help CASE "3": GOTO Credits CASE "4": GOTO ExitMenu CASE ELSE END SELECT GOTO GetKeyForMenu Help: CLS COLOR 14 LOCATE 4, 1 PRINT "To play in the one player game use the arrows to move, the / button to punch, and the ' button to kick (sorry, no jumping). In the two player game the left player uses the b button to move right, the v button to move left, the z button" PRINT "to punch, and the a button to kick. The right player uses the arrows, the /, and '. That's it." COLOR 5 LOCATE 15, 27 PRINT "Press Any Key To Continue." SLEEP GOTO MenuPrint Credits: CLS LOCATE 6, 23 COLOR 4 PRINT "S T I C K F I G H T E R ! ! ! ! !" LOCATE 8, 34 COLOR 2 PRINT "Was Made By" LOCATE 9, 32 PRINT "Steve Nunnally" LOCATE 11, 28 PRINT "Copyright (C) Jan.1997" COLOR 15 SLEEP GOTO MenuPrint ExitMenu: SCREEN 13 PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT " Bye Bye, See You Later" SLEEP 2 DIM melt%(3000) FOR RR = 1 TO 3000 RANDOMIZE TIMER XX = INT(RND * 271) RANDOMIZE TIMER YX = INT(RND * 150) GET (XX, YX)-(XX + 48, YX + 48), melt% PUT (XX, YX + 1), melt%, PSET IF INKEY$ = CHR$(27) THEN END NEXT RR SYSTEM END SUB SUB MoveComputer IF Hardness = 1 THEN shootornot = INT(RND * 5000) + 1 IF Hardness = 2 THEN shootornot = INT(RND * 2500) + 1 IF Hardness = 3 THEN shootornot = INT(RND * 500) + 1 IF shootornot = 45 THEN CompShoot MoveTheGuy = INT(RND * 300) + 1 IF MoveTheGuy < 1 OR MoveTheGuy > 2 THEN GOTO ForgetIt kbd$ = INKEY$ SELECT CASE kbd$ CASE CHR$(0) + "K": MoveLeft CASE CHR$(0) + "M": MoveRight CASE "/": Punch CASE "'": Kick CASE ELSE END SELECT CIRCLE (RightHead, 114), 15, 0 CIRCLE (RightHead + 5, 112), 3, 0 CIRCLE (RightHead - 5, 112), 3, 0 COLOR 0: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) COLOR 2: LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) IF MoveTheGuy = 1 THEN RightHead = RightHead - 20 IF MoveTheGuy = 2 THEN RightHead = RightHead + 20 IF RightHead > 620 THEN RightHead = 620 IF RightHead < LeftHead + 32 THEN RightHead = LeftHead + 32 CIRCLE (RightHead, 114), 15, 4 CIRCLE (RightHead + 5, 112), 3, 4 CIRCLE (RightHead - 5, 112), 3, 4 COLOR 4: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) ForgetIt: IF RightHead - 45 <= LeftHead THEN ComputerAttack END SUB SUB MoveLeft CIRCLE (LeftHead, 114), 15, 0 CIRCLE (LeftHead + 5, 112), 3, 0 CIRCLE (LeftHead - 5, 112), 3, 0 COLOR 0: LINE (LeftHead, 121)-(LeftHead, 144) LINE (LeftHead, 133)-(LeftHead + 15, 133) LINE (LeftHead, 133)-(LeftHead - 15, 133) COLOR 2 LINE (LeftHead, 144)-(LeftHead + 20, 159) LINE (LeftHead, 144)-(LeftHead - 20, 159) LeftHead = LeftHead - 20 IF LeftHead < 20 THEN LeftHead = 20 CIRCLE (LeftHead, 114), 15, colorguy CIRCLE (LeftHead + 5, 112), 3, colorguy CIRCLE (LeftHead - 5, 112), 3, colorguy COLOR colorguy: LINE (LeftHead, 121)-(LeftHead, 144) LINE (LeftHead, 144)-(LeftHead + 20, 159) LINE (LeftHead, 144)-(LeftHead - 20, 159) LINE (LeftHead, 133)-(LeftHead + 15, 133) LINE (LeftHead, 133)-(LeftHead - 15, 133) END SUB SUB MoveLeft3 CIRCLE (RightHead, 114), 15, 0 CIRCLE (RightHead + 5, 112), 3, 0 CIRCLE (RightHead - 5, 112), 3, 0 COLOR 0: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) COLOR 2: LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) RightHead = RightHead - 20 IF RightHead < LeftHead + 32 THEN RightHead = LeftHead + 32 CIRCLE (RightHead, 114), 15, colorguy2 CIRCLE (RightHead + 5, 112), 3, colorguy2 CIRCLE (RightHead - 5, 112), 3, colorguy2 COLOR colorguy2: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) END SUB SUB MoveRight CIRCLE (LeftHead, 114), 15, 0 CIRCLE (LeftHead + 5, 112), 3, 0 CIRCLE (LeftHead - 5, 112), 3, 0 COLOR 0: LINE (LeftHead, 121)-(LeftHead, 144) LINE (LeftHead, 133)-(LeftHead + 15, 133) LINE (LeftHead, 133)-(LeftHead - 15, 133) COLOR 2 LINE (LeftHead, 144)-(LeftHead + 20, 159) LINE (LeftHead, 144)-(LeftHead - 20, 159) LeftHead = LeftHead + 20 IF LeftHead + 33 >= RightHead THEN LeftHead = RightHead - 33 CIRCLE (LeftHead, 114), 15, colorguy CIRCLE (LeftHead + 5, 112), 3, colorguy CIRCLE (LeftHead - 5, 112), 3, colorguy COLOR colorguy: LINE (LeftHead, 121)-(LeftHead, 144) LINE (LeftHead, 144)-(LeftHead + 20, 159) LINE (LeftHead, 144)-(LeftHead - 20, 159) LINE (LeftHead, 133)-(LeftHead + 15, 133) LINE (LeftHead, 133)-(LeftHead - 15, 133) END SUB SUB MoveRight3 CIRCLE (RightHead, 114), 15, 0 CIRCLE (RightHead + 5, 112), 3, 0 CIRCLE (RightHead - 5, 112), 3, 0 COLOR 0: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) COLOR 2: LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) RightHead = RightHead + 20 IF RightHead > 620 THEN RightHead = 620 CIRCLE (RightHead, 114), 15, colorguy2 CIRCLE (RightHead + 5, 112), 3, colorguy2 CIRCLE (RightHead - 5, 112), 3, colorguy2 COLOR colorguy2: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) END SUB SUB OnePlayer CLS COLOR 6 LOCATE 2, 1 PRINT PlayerName$ LOCATE 2, 73 PRINT "Computer" COLOR 1 LOCATE 3, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" LeftLife = 30 RightLife = 30 LeftHead = 100 RightHead = 540 RightBall = RightHead LeftBall = LeftHead colorguy2 = 4 'This is the skyscape CIRCLE (320, 45), 20, 14 PAINT (320, 45), 14 LINE (320, 30)-(320, 60), 14 LINE (300, 30)-(340, 58), 14 LINE (280, 45)-(360, 45), 14 LINE (340, 30)-(300, 58), 14 LINE (350, 38)-(290, 51), 14 LINE (350, 51)-(290, 38), 14 'These are the cloud circles CIRCLE (45, 55), 20, 15 PAINT (45, 55), 15 CIRCLE (75, 45), 20, 15 PAINT (75, 45), 15 CIRCLE (70, 60), 20, 15 PAINT (70, 60), 15 CIRCLE (85, 62), 20, 15 PAINT (95, 62), 15 CIRCLE (110, 43), 20, 15 PAINT (100, 43), 15 CIRCLE (125, 46), 20, 15 PAINT (137, 43), 15 CIRCLE (135, 57), 20, 15 PAINT (145, 57), 15 CIRCLE (120, 62), 20, 15 PAINT (120, 65), 15 PAINT (105, 52), 15 'This is the right most cloud CIRCLE (590, 45), 20, 15 PAINT (590, 45), 15 CIRCLE (615, 41), 20, 15 PAINT (625, 41), 15 CIRCLE (623, 49), 20, 15 PAINT (627, 53), 15 'This is the center cloud CIRCLE (400, 65), 20, 15 PAINT (400, 65), 15 CIRCLE (425, 60), 20, 15 PAINT (425, 57), 15 CIRCLE (445, 57), 20, 15 PAINT (445, 54), 15 CIRCLE (420, 70), 20, 15 PAINT (425, 70), 15 CIRCLE (443, 67), 20, 15 PAINT (447, 67), 15 CIRCLE (465, 69), 20, 15 PAINT (470, 69), 15 CIRCLE (475, 63), 20, 15 PAINT (485, 63), 15 COLOR 2 LOCATE 20, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" LOCATE 19, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" LOCATE 21, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" LOCATE 22, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" LOCATE 23, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" CIRCLE (LeftHead, 114), 15, colorguy CIRCLE (LeftHead + 5, 112), 3, colorguy CIRCLE (LeftHead - 5, 112), 3, colorguy CIRCLE (RightHead, 114), 15, 4 CIRCLE (RightHead + 5, 112), 3, 4 CIRCLE (RightHead - 5, 112), 3, 4 COLOR colorguy: LINE (LeftHead, 121)-(LeftHead, 144) LINE (LeftHead, 144)-(LeftHead + 20, 159) LINE (LeftHead, 144)-(LeftHead - 20, 159) LINE (LeftHead, 133)-(LeftHead + 15, 133) LINE (LeftHead, 133)-(LeftHead - 15, 133) COLOR 4: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) GetKeys1: kbd$ = INKEY$ SELECT CASE kbd$ CASE CHR$(0) + "P": SpecialMoveLeft CASE CHR$(0) + "K": MoveLeft CASE CHR$(0) + "M": MoveRight CASE "/": Punch CASE "'": Kick CASE ELSE END SELECT MoveComputer GOTO GetKeys1 END SUB SUB Punch COLOR 0: LINE (LeftHead, 133)-(LeftHead + 15, 133) COLOR colorguy: LINE (LeftHead, 133)-(LeftHead + 33, 126) IF LeftHead + 33 >= RightHead THEN RightLostLife MoveTheGuy = INT(RND * 300) + 1 IF MoveTheGuy < 1 OR MoveTheGuy > 2 THEN GOTO ForgetIt3 CIRCLE (RightHead, 114), 15, 0 CIRCLE (RightHead + 5, 112), 3, 0 CIRCLE (RightHead - 5, 112), 3, 0 COLOR 0: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) COLOR 2: LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) IF MoveTheGuy = 1 THEN RightHead = RightHead - 20 IF MoveTheGuy = 2 THEN RightHead = RightHead + 20 IF RightHead > 620 THEN RightHead = 620 IF RightHead < LeftHead + 32 THEN RightHead = LeftHead + 32 CIRCLE (RightHead, 114), 15, 4 CIRCLE (RightHead + 5, 112), 3, 4 CIRCLE (RightHead - 5, 112), 3, 4 COLOR 4: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) ForgetIt3: FOR i# = 1 TO 1000: NEXT i# Punch: COLOR 0: LINE (LeftHead, 133)-(LeftHead + 33, 126) COLOR colorguy LINE (LeftHead, 133)-(LeftHead + 15, 133) IF RightHead - 45 <= LeftHead THEN ComputerAttack END SUB SUB Punch2 COLOR 0: LINE (RightHead, 133)-(RightHead - 15, 133) COLOR colorguy2: LINE (RightHead, 133)-(RightHead - 33, 126) IF RightHead - 33 <= LeftHead THEN LeftLostLife FOR i# = 1 TO 1000: NEXT i# COLOR 0: LINE (RightHead, 133)-(RightHead - 33, 126) COLOR colorguy2: LINE (RightHead, 133)-(RightHead - 15, 133) END SUB SUB Punch3 COLOR 0: LINE (LeftHead, 133)-(LeftHead + 15, 133) COLOR colorguy: LINE (LeftHead, 133)-(LeftHead + 33, 126) IF LeftHead + 33 >= RightHead THEN RightLostLife FOR i# = 1 TO 1000: NEXT i# COLOR 0: LINE (LeftHead, 133)-(LeftHead + 33, 126) COLOR colorguy: LINE (LeftHead, 133)-(LeftHead + 15, 133) END SUB SUB RightDied COLOR 15 LOCATE 6, 29 PRINT "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" LOCATE 7, 29 PRINT "º º" LOCATE 8, 29 PRINT "º YOU WON!!!! º" LOCATE 9, 29 PRINT "º º" LOCATE 10, 29 PRINT "º Press Q To Continue º" LOCATE 11, 29 PRINT "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" GetthedeathKey: quitdie$ = INKEY$ SELECT CASE quitdie$ CASE "q": MainMenu CASE ELSE END SELECT GOTO GetthedeathKey END SUB SUB RightDied2 COLOR 15 LOCATE 6, 29 PRINT "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" LOCATE 7, 29 PRINT "º º" LOCATE 8, 29 PRINT "º LEFT PLAYER WON!!!! º" LOCATE 9, 29 PRINT "º º" LOCATE 10, 29 PRINT "º Press Q To Continue º" LOCATE 11, 29 PRINT "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" GetthedeathKey4: quitdie$ = INKEY$ SELECT CASE quitdie$ CASE "q": MainMenu CASE ELSE END SELECT GOTO GetthedeathKey4 END SUB SUB RightLostLife RightLife = RightLife - 1 IF RightLife = 29 THEN LOCATE 3, 51 IF RightLife = 29 THEN PRINT " " IF RightLife = 28 THEN LOCATE 3, 52 IF RightLife = 28 THEN PRINT " " IF RightLife = 27 THEN LOCATE 3, 53 IF RightLife = 27 THEN PRINT " " IF RightLife = 26 THEN LOCATE 3, 54 IF RightLife = 26 THEN PRINT " " IF RightLife = 25 THEN LOCATE 3, 55 IF RightLife = 25 THEN PRINT " " IF RightLife = 24 THEN LOCATE 3, 56 IF RightLife = 24 THEN PRINT " " IF RightLife = 23 THEN LOCATE 3, 57 IF RightLife = 23 THEN PRINT " " IF RightLife = 22 THEN LOCATE 3, 58 IF RightLife = 22 THEN COLOR 2 IF RightLife = 22 THEN PRINT " ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" IF RightLife = 21 THEN LOCATE 3, 59 IF RightLife = 21 THEN PRINT " " IF RightLife = 20 THEN LOCATE 3, 60 IF RightLife = 20 THEN PRINT " " IF RightLife = 19 THEN LOCATE 3, 61 IF RightLife = 19 THEN PRINT " " IF RightLife = 18 THEN LOCATE 3, 62 IF RightLife = 18 THEN PRINT " " IF RightLife = 17 THEN LOCATE 3, 63 IF RightLife = 17 THEN PRINT " " IF RightLife = 16 THEN LOCATE 3, 64 IF RightLife = 16 THEN PRINT " " IF RightLife = 15 THEN LOCATE 3, 65 IF RightLife = 15 THEN PRINT " " IF RightLife = 14 THEN LOCATE 3, 66 IF RightLife = 14 THEN COLOR 14 IF RightLife = 14 THEN PRINT " ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" IF RightLife = 13 THEN LOCATE 3, 67 IF RightLife = 13 THEN PRINT " " IF RightLife = 12 THEN LOCATE 3, 68 IF RightLife = 12 THEN PRINT " " IF RightLife = 11 THEN LOCATE 3, 69 IF RightLife = 11 THEN PRINT " " IF RightLife = 10 THEN LOCATE 3, 70 IF RightLife = 10 THEN PRINT " " IF RightLife = 9 THEN LOCATE 3, 71 IF RightLife = 9 THEN PRINT " " IF RightLife = 8 THEN LOCATE 3, 72 IF RightLife = 8 THEN PRINT " " IF RightLife = 7 THEN LOCATE 3, 73 IF RightLife = 7 THEN PRINT " " IF RightLife = 6 THEN LOCATE 3, 74 IF RightLife = 6 THEN COLOR 4 IF RightLife = 6 THEN PRINT " ÛÛÛÛÛÛ" IF RightLife = 5 THEN LOCATE 3, 75 IF RightLife = 5 THEN PRINT " " IF RightLife = 4 THEN LOCATE 3, 76 IF RightLife = 4 THEN PRINT " " IF RightLife = 3 THEN LOCATE 3, 77 IF RightLife = 3 THEN PRINT " " IF RightLife = 2 THEN LOCATE 3, 78 IF RightLife = 2 THEN PRINT " " IF RightLife = 1 THEN LOCATE 3, 79 IF RightLife = 1 THEN PRINT " " IF RightLife = 0 THEN LOCATE 3, 80 IF RightLife = 0 THEN PRINT " " IF RightLife = 0 AND Players = 1 THEN RightDied IF RightLife = 0 AND Players = 2 THEN RightDied2 CIRCLE (RightHead, 114), 15, 0 CIRCLE (RightHead + 5, 112), 3, 0 CIRCLE (RightHead - 5, 112), 3, 0 COLOR 0: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) COLOR 2: LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) RightHead = RightHead + 7 IF RightHead > 620 THEN RightHead = 620 CIRCLE (RightHead, 114), 15, colorguy2 CIRCLE (RightHead + 5, 112), 3, colorguy2 CIRCLE (RightHead - 5, 112), 3, colorguy2 COLOR colorguy2: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) END SUB SUB SpecialMoveLeft GoAgain = 1 DO MoveTheGuy = INT(RND * 300) + 1 IF MoveTheGuy < 1 OR MoveTheGuy > 2 THEN GOTO ForgetIt5 CIRCLE (RightHead, 114), 15, 0 CIRCLE (RightHead + 5, 112), 3, 0 CIRCLE (RightHead - 5, 112), 3, 0 COLOR 0: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) COLOR 2: LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) IF MoveTheGuy = 1 THEN RightHead = RightHead - 20 IF MoveTheGuy = 2 THEN RightHead = RightHead + 20 IF RightHead > 620 THEN RightHead = 620 IF RightHead < LeftHead + 32 THEN RightHead = LeftHead + 32 CIRCLE (RightHead, 114), 15, 4 CIRCLE (RightHead + 5, 112), 3, 4 CIRCLE (RightHead - 5, 112), 3, 4 COLOR 4: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) ForgetIt5: kbd$ = INKEY$ SELECT CASE kbd$ CASE CHR$(0) + "M": GOTO ContinueIt CASE ELSE END SELECT GoAgain = GoAgain + 1 LOOP UNTIL GoAgain = 500 GOTO SpecialEnd ContinueIt: DO MoveTheGuy = INT(RND * 300) + 1 IF MoveTheGuy < 1 OR MoveTheGuy > 2 THEN GOTO ForgetIt6 CIRCLE (RightHead, 114), 15, 0 CIRCLE (RightHead + 5, 112), 3, 0 CIRCLE (RightHead - 5, 112), 3, 0 COLOR 0: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) COLOR 2: LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) IF MoveTheGuy = 1 THEN RightHead = RightHead - 20 IF MoveTheGuy = 2 THEN RightHead = RightHead + 20 IF RightHead > 620 THEN RightHead = 620 IF RightHead < LeftHead + 32 THEN RightHead = LeftHead + 32 CIRCLE (RightHead, 114), 15, 4 CIRCLE (RightHead + 5, 112), 3, 4 CIRCLE (RightHead - 5, 112), 3, 4 COLOR 4: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) ForgetIt6: kbd$ = INKEY$ SELECT CASE kbd$ CASE "/": GOTO ContinueIt2 CASE ELSE END SELECT GoAgain = GoAgain + 1 LOOP UNTIL GoAgain = 1000 GOTO SpecialEnd ContinueIt2: LeftBall = LeftHead + 29 RightBall = RightHead - 29 ResumeFromMove = 1 CompWhile = INT(RND * 2) + 1 DO MoveTheGuy = INT(RND * 300) + 1 IF MoveTheGuy < 1 OR MoveTheGuy > 2 THEN GOTO ForgetIt7 CIRCLE (RightHead, 114), 15, 0 CIRCLE (RightHead + 5, 112), 3, 0 CIRCLE (RightHead - 5, 112), 3, 0 COLOR 0: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) COLOR 2: LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) IF MoveTheGuy = 1 THEN RightHead = RightHead - 20 IF MoveTheGuy = 2 THEN RightHead = RightHead + 20 IF RightHead > 620 THEN RightHead = 620 IF RightHead < LeftHead + 32 THEN RightHead = LeftHead + 32 CIRCLE (RightHead, 114), 15, 4 CIRCLE (RightHead + 5, 112), 3, 4 CIRCLE (RightHead - 5, 112), 3, 4 COLOR 4: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) ForgetIt7: LeftBall = LeftBall + 1 CIRCLE (LeftBall, 130), 10, 15 PAINT (LeftBall, 130), 15 CIRCLE (LeftBall, 130), 10, 0 PAINT (LeftBall, 130), 0 IF CompWhile = 1 THEN CompAttackWhile LOOP UNTIL LeftBall + 30 >= RightHead OR LeftBall >= RightBall IF LeftBall >= RightBall GOTO SpecialEnd RightLostLife SpecialEnd: END SUB SUB SpecialMoveLeft2 GoAgain = 1 DO kbd$ = INKEY$ SELECT CASE kbd$ CASE "b": GOTO ContinueIt7 CASE ELSE END SELECT GoAgain = GoAgain + 1 LOOP UNTIL GoAgain = 500 GOTO SpecialEnd3 ContinueIt7: DO kbd$ = INKEY$ SELECT CASE kbd$ CASE "z": GOTO ContinueIt8 CASE ELSE END SELECT GoAgain = GoAgain + 1 LOOP UNTIL GoAgain = 1000 GOTO SpecialEnd3 ContinueIt8: LeftBall = LeftHead + 29 RightBall = RightHead - 29 ResumeFromMove = 1 CompWhile = INT(RND * 2) + 1 DO kbd$ = INKEY$ SELECT CASE kbd$ CASE CHR$(0) + "P": SpecialMoveRight CASE CHR$(0) + "M": MoveRight3 CASE CHR$(0) + "K": MoveLeft3 CASE ELSE END SELECT LeftBall = LeftBall + 1 CIRCLE (LeftBall, 130), 10, 15 PAINT (LeftBall, 130), 15 CIRCLE (LeftBall, 130), 10, 0 PAINT (LeftBall, 130), 0 LOOP UNTIL LeftBall + 30 >= RightHead OR LeftBall >= RightBall IF LeftBall >= RightBall GOTO SpecialEnd3 RightLostLife SpecialEnd3: END SUB SUB SpecialMoveRight GoAgain = 1 DO kbd$ = INKEY$ SELECT CASE kbd$ CASE CHR$(0) + "K": GOTO ContinueIt9 CASE ELSE END SELECT GoAgain = GoAgain + 1 LOOP UNTIL GoAgain = 500 GOTO SpecialEnd4 ContinueIt9: DO kbd$ = INKEY$ SELECT CASE kbd$ CASE "/": GOTO ContinueIt10 CASE ELSE END SELECT GoAgain = GoAgain + 1 LOOP UNTIL GoAgain = 1000 GOTO SpecialEnd4 ContinueIt10: RightBall = RightHead - 29 LeftBall = LeftHead + 29 ResumeFromMove = 1 CompWhile = INT(RND * 2) + 1 DO kbd$ = INKEY$ SELECT CASE kbd$ CASE "n": SpecialMoveLeft2 CASE "b": MoveRight CASE "v": MoveLeft CASE ELSE END SELECT RightBall = RightBall - 1 CIRCLE (RightBall, 130), 10, 15 PAINT (RightBall, 130), 15 CIRCLE (RightBall, 130), 10, 0 PAINT (RightBall, 130), 0 LOOP UNTIL RightBall - 30 <= LeftHead OR RightBall <= LeftBall IF RightBall <= LeftBall GOTO SpecialEnd4 LeftLostLife SpecialEnd4: END SUB SUB StartGame CLS SCREEN 8 PlayerNumber: COLOR 6 LOCATE 4, 14 INPUT "1 or 2 Player Game? ", Players IF Players = 1 THEN GOTO OnePlayerBegin IF Players = 2 THEN GOTO TwoPlayerBegin GOTO PlayerNumber OnePlayerBegin: PRINT "" INPUT " What Is Your Name? ", PlayerName$ HowHard: LOCATE 8, 14 PRINT "1: Pretty Easy" LOCATE 9, 14 PRINT "2: Pretty Hard" LOCATE 10, 14 PRINT "3: INSANE!!!!!" LOCATE 11, 14 INPUT "How Hard Do You Want? ", Hardness IF Hardness = 1 THEN GOTO KeepGoing1 IF Hardness = 2 THEN GOTO KeepGoing1 IF Hardness = 3 THEN GOTO KeepGoing1 GOTO HowHard KeepGoing1: ChooseMan OnePlayer TwoPlayerBegin: PRINT "" INPUT " What Is Left Players Name? ", PlayerName$ PRINT "" INPUT " What is Right Players Name? ", PlayerName2$ ChooseMan TwoPlayer END SUB SUB TwoPlayer CLS COLOR 6 LOCATE 2, 1 PRINT PlayerName$ LOCATE 2, 50 PRINT PlayerName2$ COLOR 1 LOCATE 3, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" LeftLife = 30 RightLife = 30 LeftHead = 100 RightHead = 540 'Skyscape for the 2 player game CIRCLE (10, 35), 2, 15 CIRCLE (25, 37), 2, 15 CIRCLE (55, 45), 2, 15 CIRCLE (75, 42), 2, 15 CIRCLE (100, 37), 2, 15 CIRCLE (125, 44), 2, 15 CIRCLE (155, 48), 2, 15 CIRCLE (175, 35), 2, 15 CIRCLE (205, 36), 2, 15 CIRCLE (225, 41), 2, 15 CIRCLE (235, 40), 2, 15 CIRCLE (265, 50), 2, 15 CIRCLE (330, 36), 2, 15 CIRCLE (355, 33), 2, 15 CIRCLE (380, 42), 2, 15 CIRCLE (395, 46), 2, 15 CIRCLE (425, 38), 2, 15 CIRCLE (460, 35), 2, 15 CIRCLE (475, 43), 2, 15 CIRCLE (500, 37), 2, 15 CIRCLE (520, 41), 2, 15 CIRCLE (545, 48), 2, 15 CIRCLE (570, 45), 2, 15 CIRCLE (595, 38), 2, 15 CIRCLE (615, 34), 2, 15 CIRCLE (635, 40), 2, 15 CIRCLE (10, 45), 2, 15 CIRCLE (25, 47), 2, 15 CIRCLE (55, 55), 2, 15 CIRCLE (75, 52), 2, 15 CIRCLE (100, 47), 2, 15 CIRCLE (125, 54), 2, 15 CIRCLE (155, 58), 2, 15 CIRCLE (175, 45), 2, 15 CIRCLE (205, 46), 2, 15 CIRCLE (225, 51), 2, 15 CIRCLE (235, 50), 2, 15 CIRCLE (265, 60), 2, 15 CIRCLE (330, 46), 2, 15 CIRCLE (355, 43), 2, 15 CIRCLE (380, 52), 2, 15 CIRCLE (395, 56), 2, 15 CIRCLE (425, 48), 2, 15 CIRCLE (460, 45), 2, 15 CIRCLE (475, 53), 2, 15 CIRCLE (500, 47), 2, 15 CIRCLE (520, 51), 2, 15 CIRCLE (545, 58), 2, 15 CIRCLE (570, 55), 2, 15 CIRCLE (595, 48), 2, 15 CIRCLE (615, 44), 2, 15 CIRCLE (635, 50), 2, 15 CIRCLE (320, 50), 35, 14, 1.57, 4.712 CIRCLE (359, 50), 50, 14, 2.2689, 4.0142 '130, 230 PAINT (305, 50), 14 COLOR 2 LOCATE 20, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" LOCATE 19, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" LOCATE 21, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" LOCATE 22, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" LOCATE 23, 1 PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" CIRCLE (LeftHead, 114), 15, colorguy CIRCLE (LeftHead + 5, 112), 3, colorguy CIRCLE (LeftHead - 5, 112), 3, colorguy CIRCLE (RightHead, 114), 15, colorguy2 CIRCLE (RightHead + 5, 112), 3, colorguy2 CIRCLE (RightHead - 5, 112), 3, colorguy2 COLOR colorguy: LINE (LeftHead, 121)-(LeftHead, 144) LINE (LeftHead, 144)-(LeftHead + 20, 159) LINE (LeftHead, 144)-(LeftHead - 20, 159) LINE (LeftHead, 133)-(LeftHead + 15, 133) LINE (LeftHead, 133)-(LeftHead - 15, 133) COLOR colorguy2: LINE (RightHead, 121)-(RightHead, 144) LINE (RightHead, 144)-(RightHead + 20, 159) LINE (RightHead, 144)-(RightHead - 20, 159) LINE (RightHead, 133)-(RightHead + 15, 133) LINE (RightHead, 133)-(RightHead - 15, 133) GetKeys2: kbd$ = INKEY$ SELECT CASE kbd$ CASE CHR$(0) + "K": MoveLeft3 CASE CHR$(0) + "M": MoveRight3 CASE "n": SpecialMoveLeft2 CASE CHR$(0) + "P": SpecialMoveRight CASE "/": Punch2 CASE "'": Kick2 CASE "b": MoveRight CASE "v": MoveLeft CASE "a": Kick3 CASE "z": Punch3 CASE ELSE END SELECT GOTO GetKeys2 END SUB