5748471 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n raptormn.bas
   1: 'RAPTORMAN v1.0 BY RAPTER TEK SOFTWARE
   2: '
   3: ' Player 1 Keys:    Player 2 Keys:
   4: '      [8]               [W]
   5: '   [4]   [6]         [A]   [S]
   6: '      [2]               [Z]
   7: ' MISSION: YOU'RE RAPTORMAN AND YOU NEED TO STAY AWAY FROM THE T-REX GHOST,AND
   8: 'GET ALL THE RAPTOR EGGS!      HIT IT!
   9: ' [0] to switch from Pac-Man and Ms. Pac-Man
  10: '
  11:     DEF SEG = 0
  12:     POKE &H417, (Status% XOR &H40)     'Change Caps Lock state, bit 6.
  13:     DEF FnRan (X) = INT(RND(1) * X) + 1
  14:     DEF SEG = 0                       ' Set NumLock to ON
  15:     KeyFlags = PEEK(1047)
  16:     IF (KeyFlags AND 32) = 0 THEN
  17:     POKE 1047, KeyFlags OR 32
  18:     END IF
  19:     DEF SEG
  20: A$ = INKEY$
  21: SPD = 250: PLAYER = 0: STYLE = 1: B = 47
  22: SCREEN 7, 0, 1, 0: COLOR 15, 0: CLS
  23: LOCATE 9, 17: PRINT "RAPTORMAN v1.0 BY RT SOFTWARE"
  24: FOR A = 320 TO 0 STEP -10
  25: CIRCLE (20 + A, 20 + B), 10, 14: PAINT (11 + A, 20 + B), 14
  26: PSET (17 + A, 18 + B), 0: PSET (17 + A, 17 + B), 0: PSET (18 + A, 17 + B), 0
  27: IF CHOMP = 0 THEN CHOMP = 1 ELSE IF CHOMP = 1 THEN CHOMP = 0
  28: IF CHOMP = 1 THEN LINE (8 + A, 16 + B)-(17 + A, 20 + B), 0
  29: IF CHOMP = 1 THEN LINE (17 + A, 20 + B)-(8 + A, 23 + B), 0
  30: IF CHOMP = 1 THEN PAINT (10 + A, 20 + B), 0
  31: IF CHOMP = 0 THEN LINE (17 + A, 20 + B)-(8 + A, 20 + B), 0
  32: FOR X = 1 TO 700: NEXT X
  33: SCREEN 7, 0, 0, 0: PCOPY 1, 0: SCREEN 7, 0, 1, 0
  34: PAINT (20 + A, 20 + B), 0: PAINT (20 + A, 28 + B), 0: PAINT (12 + A, 23 + B), 0
  35: NEXT A
  36: 5
  37: DO: K$ = INKEY$: LOOP WHILE K$ <> ""
  38: SCREEN 7, 0, 1, 0: COLOR 15, 0: CLS
  39: PP = 0: W1 = 0: W2 = 0: W3 = 0: W4 = 0: W5 = 0: CHOMP = 0: BITE = 0: P = 0: T = 0: MV = 0: SELCT = 0
  40: FOR X = 0 TO 290 STEP 40: CIRCLE (20 + X, 45), 10, 14: PAINT (11 + X, 45), 14: LINE (8 + X, 41)-(17 + X, 45), 0: LINE (17 + X, 45)-(8 + X, 48), 0: PAINT (10 + X, 45), 0: NEXT X
  41: FOR X = 0 TO 290 STEP 40: CIRCLE (20 + X, 150), 10, 14: PAINT (11 + X, 150), 14: LINE (8 + X, 146)-(17 + X, 150), 0: LINE (17 + X, 150)-(8 + X, 153), 0: PAINT (10 + X, 150), 0: NEXT X
  42: SCREEN 7, 0, 0, 0: PCOPY 1, 0
  43: 10
  44: LOCATE 9, 17: PRINT "RAPTORMAN": LOCATE 11, 14
  45: IF SELCT = 0 THEN PRINT CHR$(16); " PLAYERS? ";  ELSE PRINT "  PLAYERS? ";
  46: IF PLAYER = 0 THEN PRINT "1" ELSE IF PLAYER = 1 THEN PRINT "2"
  47: LOCATE 13, 14
  48: IF SELCT = 1 THEN PRINT CHR$(16); " STYLE? ";  ELSE PRINT "  STYLE? ";
  49: IF STYLE = 0 THEN PRINT "ATARI " ELSE IF STYLE = 1 THEN PRINT "ARCADE"
  50: LOCATE 15, 14
  51: IF SELCT = 2 THEN PRINT CHR$(16); " SPEED? ";  ELSE PRINT "  SPEED? ";
  52: IF SPD = 50 THEN PRINT "FAST  " ELSE IF SPD = 250 THEN PRINT "MEDIUM" ELSE IF SPD = 500 THEN PRINT "SLOW  "
  53: LOCATE 17, 14
  54: IF SELCT = 3 THEN PRINT CHR$(16); " END";  ELSE PRINT "  END";
  55: DO: A$ = INKEY$: LOOP WHILE A$ = ""
  56: IF A$ = "8" THEN SELCT = SELCT - 1: IF SELCT < 0 THEN SELCT = 0: GOTO 10 ELSE GOTO 10
  57: IF A$ = "2" THEN SELCT = SELCT + 1: IF SELCT > 3 THEN SELCT = 3: GOTO 10 ELSE GOTO 10
  58: IF SELCT = 0 AND PLAYER = 0 THEN PLAYER = 1 ELSE IF SELCT = 0 AND PLAYER = 1 THEN PLAYER = 0
  59: IF SELCT = 1 AND STYLE = 0 THEN STYLE = 1 ELSE IF SELCT = 1 AND STYLE = 1 THEN STYLE = 0
  60: 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
  61: IF SELCT <> 3 THEN GOTO 10
  62: G = 120: H = 80: A = 0: B = 80
  63: SCREEN 7, 0, 0, 0: CLS : EATEN = 1: YUM = 35
  64: IF STYLE = 0 THEN COLOR 0, 1 ELSE IF STYLE = 1 THEN COLOR 0, 0
  65: SCREEN 7, 0, 1, 0: CLS
  66: PLAY "MB": SOUND 1000, 5: SOUND 1200, 5: SOUND 1100, 5: SOUND 920, 5
  67: IF STYLE = 0 THEN DRAW "C6" ELSE IF STYLE = 1 THEN DRAW "C13"
  68: DRAW "BM0,0D199R140BR40R139U199L140BL40L139"
  69: DRAW "BM0,0R80BD40L80R40BD40R80U80"
  70: DRAW "BM0,199R80BU40L80R40BU40R80D80"
  71: DRAW "BM319,0L80BD40R80L40BD40L80U80"
  72: DRAW "BM319,199L80BU40R80L40BU40L80D80"
  73: DRAW "BM160,100U60D120"
  74: DRAW "BM160,100C0U20D40"
  75: DRAW "BM0,20C11"
  76: FOR X = 1 TO 3: DRAW "BR18R4BR18": NEXT: DRAW "BR80": FOR X = 1 TO 3: DRAW "BR18R4BR18": NEXT
  77: DRAW "BM0,60C11"
  78: FOR X = 1 TO 3: DRAW "BR18R4BR18": NEXT: DRAW "BR80": FOR X = 1 TO 3: DRAW "BR18R4BR18": NEXT
  79: DRAW "BM0,100C11"
  80: FOR X = 1 TO 3: DRAW "BR18R4BR18": NEXT: DRAW "BR80": FOR X = 1 TO 3: DRAW "BR18R4BR18": NEXT
  81: DRAW "BM0,140C11"
  82: FOR X = 1 TO 3: DRAW "BR18R4BR18": NEXT: DRAW "BR80": FOR X = 1 TO 3: DRAW "BR18R4BR18": NEXT
  83: DRAW "BM0,180C11"
  84: FOR X = 1 TO 3: DRAW "BR18R4BR18": NEXT: DRAW "BR80": FOR X = 1 TO 3: DRAW "BR18R4BR18": NEXT
  85: DRAW "BM160,100C6BD5BL5U10R10D10L10": PAINT (160, 100), 14, 6
  86: CIRCLE (20, 20), 4, 14
  87: CIRCLE (300, 20), 4, 14
  88: CIRCLE (300, 180), 4, 14
  89: CIRCLE (20, 180), 4, 14
  90: PAINT (20, 20), 14
  91: PAINT (300, 20), 14
  92: PAINT (300, 180), 14
  93: PAINT (20, 180), 14
  94: 20
  95: CIRCLE (20 + A, 20 + B), 10, 14
  96: IF PP = 0 THEN PAINT (11 + A, 20 + B), 14 ELSE IF PP = 1 THEN PAINT (11 + A, 20 + B), 15, 14
  97: IF PAC = 1 THEN MSPAC$ = "BM" + STR$(A + 30) + "," + STR$(B + 10): DRAW MSPAC$: DRAW "C4BL2BD2L2R2D2R2D2"
  98: IF PAC = 1 OR STYLE = 0 THEN PSET (17 + A, 18 + B), 0
  99: IF PAC = 1 OR STYLE = 0 THEN PSET (17 + A, 17 + B), 0
 100: IF PAC = 1 OR STYLE = 0 THEN PSET (18 + A, 17 + B), 0
 101: GHOST$ = "BM" + STR$(G + 10) + "," + STR$(H + 16)
 102: DRAW GHOST$
 103: IF PP = 0 AND EATEN = 0 THEN DRAW "C5E5R10F5H5L10G5D10E5F5E5F5U10"
 104: IF PP = 1 AND EATEN = 0 THEN DRAW "C9E5R10F5H5L10G5D10E5F5E5F5U10"
 105: IF PP = 0 AND EATEN = 0 THEN PSET (17 + G, 18 + H), 5: PSET (17 + G, 17 + H), 5: PSET (18 + G, 17 + H), 5: PSET (23 + G, 18 + H), 5: PSET (23 + G, 17 + H), 5: PSET (22 + G, 17 + H), 5
 106: IF PP = 1 OR EATEN = 1 THEN PSET (17 + G, 18 + H), 9: PSET (17 + G, 17 + H), 9: PSET (18 + G, 17 + H), 9: PSET (23 + G, 18 + H), 9: PSET (23 + G, 17 + H), 9: PSET (22 + G, 17 + H), 9
 107: IF CHOMP = 1 THEN LINE (8 + A, 16 + B)-(17 + A, 20 + B), 0
 108: IF CHOMP = 1 THEN LINE (17 + A, 20 + B)-(8 + A, 23 + B), 0
 109: IF CHOMP = 1 THEN PAINT (10 + A, 20 + B), 0
 110: IF CHOMP = 1 AND PAC = 1 THEN LINE (10 + A, 16 + B)-(17 + A, 20 + B), 4
 111: IF CHOMP = 1 AND PAC = 1 THEN LINE (17 + A, 20 + B)-(10 + A, 23 + B), 4
 112: IF CHOMP = 0 THEN LINE (17 + A, 20 + B)-(8 + A, 20 + B), 0
 113: IF CHOMP = 0 AND PAC = 1 THEN LINE (17 + A, 20 + B)-(10 + A, 20 + B), 4
 114: SCREEN 7, 0, 0, 0: PCOPY 1, 0: SCREEN 7, 0, 1, 0
 115: A$ = INKEY$
 116: IF A$ = "0" THEN PAC = PAC + 1: IF PAC > 1 THEN PAC = 0
 117: IF A = 0 AND B = 0 AND W1 = 0 THEN W1 = 1: PLAY "O1T255L8A": PP = 1: T = 0
 118: IF A = 0 AND B = 160 AND W2 = 0 THEN W2 = 1: PLAY "O1T255L8A": PP = 1: T = 0
 119: IF A = 280 AND B = 0 AND W3 = 0 THEN W3 = 1: PLAY "O1T255L8A": PP = 1: T = 0
 120: IF A = 280 AND B = 160 AND W4 = 0 THEN W4 = 1: PLAY "O1T255L8A": PP = 1: T = 0
 121: IF CHOMP = 0 THEN CHOMP = 1 ELSE IF CHOMP = 1 THEN CHOMP = 0
 122: IF A = G AND B = H AND PP = 0 AND EATEN = 0 THEN PLAY "MF": FOR X = 100 TO 500 STEP 70: SOUND X, 1: NEXT: FOR X = 1 TO 500: NEXT
 123: IF A = G AND B = H AND PP = 0 AND EATEN = 0 THEN FOR X = 200 TO 600 STEP 70: SOUND X, 1: NEXT: FOR X = 1 TO 500: NEXT
 124: IF A = G AND B = H AND PP = 0 AND EATEN = 0 THEN FOR X = 700 TO 1100 STEP 70: SOUND X, 1: NEXT: FOR X = 1 TO 500: NEXT
 125: IF A = G AND B = H AND PP = 0 AND EATEN = 0 THEN FOR X = 2000 TO 10000 STEP 300: SOUND X, 1: NEXT
 126: IF A = G AND B = H AND PP = 0 AND EATEN = 0 THEN FOR X = 1 TO 500: NEXT: GOTO 5
 127: IF A = G AND B = H AND PP = 1 AND EATEN = 0 THEN EATEN = 1: SOUND 10000, 1: SOUND 2000, 1
 128: IF EATEN = 1 THEN YUM = YUM + 1: IF YUM > 40 THEN YUM = 0: EATEN = 0
 129: IF PP = 1 THEN T = T + 1: IF T > 15 THEN T = 0: PP = 0
 130: IF W1 = 1 AND W2 = 1 AND W3 = 1 AND W4 = 1 THEN GOTO 5
 131: FOR X = 1 TO SPD: NEXT
 132: DRAW GHOST$
 133: DRAW "C0E5R10F5H5L10G5D10E5F5E5F5U10"
 134: PSET (17 + G, 18 + H), 0
 135: PSET (17 + G, 17 + H), 0
 136: PSET (18 + G, 17 + H), 0
 137: PSET (23 + G, 18 + H), 0
 138: PSET (23 + G, 17 + H), 0
 139: PSET (22 + G, 17 + H), 0
 140: PAINT (20 + A, 20 + B), 0: PAINT (20 + A, 28 + B), 0: PAINT (12 + A, 23 + B), 0
 141: IF PAC = 1 THEN MSPAC$ = "BM" + STR$(A + 30) + "," + STR$(B + 10): DRAW MSPAC$: DRAW "C0BL2BD2L2R2D2R2D2"
 142: IF PP = 1 THEN PAINT (20 + A, 20 + B), 0
 143: IF PP = 1 THEN PAINT (12 + A, 23 + B), 0
 144: IF PP = 1 THEN PSET (13 + A, 22 + B), 0
 145: CIRCLE (20 + A, 20 + B), 10, 0
 146: IF A$ = "W" AND PLAYER = 1 THEN MV = 1
 147: IF A$ = "Z" AND PLAYER = 1 THEN MV = 2
 148: IF A$ = "A" AND PLAYER = 1 THEN MV = 3
 149: IF A$ = "S" AND PLAYER = 1 THEN MV = 4
 150: IF MV = 1 AND PLAYER = 1 THEN H = H - 40
 151: IF MV = 2 AND PLAYER = 1 THEN H = H + 40
 152: IF MV = 3 AND PLAYER = 1 THEN G = G - 40
 153: IF MV = 4 AND PLAYER = 1 THEN G = G + 40
 154: IF PLAYER = 0 THEN PLAYER = 0: IF B < H AND CHOMP = 1 AND BITE = 0 AND EATEN = 0 THEN H = H - 40 ELSE IF B > H AND CHOMP = 1 AND BITE = 0 AND EATEN = 0 THEN H = H + 40
 155: IF PLAYER = 0 THEN PLAYER = 0: IF A < G AND CHOMP = 1 AND BITE = 1 AND EATEN = 0 THEN G = G - 40 ELSE IF A > G AND CHOMP = 1 AND BITE = 1 AND EATEN = 0 THEN G = G + 40
 156: IF PLAYER = 0 THEN PLAYER = 0: IF H < 80 AND CHOMP = 1 AND BITE = 0 AND EATEN = 1 THEN H = H + 40 ELSE IF H > 80 AND CHOMP = 1 AND BITE = 0 AND EATEN = 1 THEN H = H - 40
 157: IF PLAYER = 0 THEN PLAYER = 0: IF G < 140 AND CHOMP = 1 AND BITE = 1 AND EATEN = 1 THEN G = G + 40 ELSE IF G > 140 AND CHOMP = 1 AND BITE = 1 AND EATEN = 1 THEN G = G - 40
 158: IF G < 0 THEN G = 0 ELSE IF G > 280 THEN G = 280
 159: IF H < 0 THEN H = 0 ELSE IF H > 160 THEN H = 160
 160: IF CHOMP = 1 AND BITE = 1 THEN BITE = 0 ELSE IF CHOMP = 1 AND BITE = 0 THEN BITE = 1
 161: IF A$ = "8" THEN P = 1
 162: IF A$ = "4" THEN P = 2
 163: IF A$ = "2" THEN P = 3
 164: IF A$ = "6" THEN P = 4
 165: IF A = 140 AND B = -15 THEN A = 160: B = 160
 166: IF A = 140 AND B = 175 THEN A = 120: B = 0
 167: IF A$ = "8" AND A = 120 AND B = 0 OR A$ = "8" AND A = 160 AND B = 0 THEN A = 140: B = -15: P = 0
 168: IF A$ = "2" AND A = 120 AND B = 160 OR A$ = "2" AND A = 160 AND B = 160 THEN A = 140: B = 175: P = 0
 169: IF A = 0 AND B = 0 AND P = 3 THEN P = 0
 170: IF A = 0 AND B = 40 AND P = 1 THEN P = 0
 171: IF A = 280 AND B = 0 AND P = 3 THEN P = 0
 172: IF A = 280 AND B = 40 AND P = 1 THEN P = 0
 173: IF A = 40 AND B = 0 AND P = 3 THEN P = 0
 174: IF A = 80 AND B = 0 AND P = 4 THEN P = 0
 175: IF A = 120 AND B = 0 AND P = 2 THEN P = 0
 176: IF A = 120 AND B = 80 AND P = 4 AND W5 = 0 THEN PLAY "O1T100L8G": W5 = 1
 177: IF W5 = 1 THEN PAINT (160, 100), 0, 6: DRAW "BM160,100C0BD5BL5U10R10D10L10": W5 = 2
 178: IF A = 160 AND B = 0 AND P = 4 THEN P = 0
 179: IF A = 200 AND B = 0 AND P = 2 THEN P = 0
 180: IF A = 240 AND B = 0 AND P = 3 THEN P = 0
 181: IF A = 280 AND B = 160 AND P = 1 THEN P = 0
 182: IF A = 280 AND B = 120 AND P = 3 THEN P = 0
 183: IF A = 0 AND B = 120 AND P = 3 THEN P = 0
 184: IF A = 0 AND B = 160 AND P = 1 THEN P = 0
 185: IF A = 40 AND B = 40 AND P = 1 THEN P = 0
 186: IF A = 40 AND B = 40 AND P = 3 THEN P = 0
 187: IF A = 80 AND B = 40 AND P = 4 THEN P = 0
 188: IF A = 80 AND B = 40 AND P = 3 THEN P = 0
 189: IF A = 120 AND B = 40 AND P = 2 THEN P = 0
 190: IF A = 120 AND B = 40 AND P = 4 THEN P = 0
 191: IF A = 160 AND B = 40 AND P = 4 THEN P = 0
 192: IF A = 160 AND B = 40 AND P = 2 THEN P = 0
 193: IF A = 200 AND B = 40 AND P = 2 THEN P = 0
 194: IF A = 200 AND B = 40 AND P = 3 THEN P = 0
 195: IF A = 240 AND B = 40 AND P = 1 THEN P = 0
 196: IF A = 240 AND B = 40 AND P = 3 THEN P = 0
 197: IF A = 40 AND B = 80 AND P = 1 THEN P = 0
 198: IF A = 40 AND B = 80 AND P = 3 THEN P = 0
 199: IF A = 80 AND B = 80 AND P = 1 THEN P = 0
 200: IF A = 80 AND B = 80 AND P = 3 THEN P = 0
 201: IF A = 200 AND B = 80 AND P = 1 THEN P = 0
 202: IF A = 200 AND B = 80 AND P = 3 THEN P = 0
 203: IF A = 240 AND B = 80 AND P = 1 THEN P = 0
 204: IF A = 240 AND B = 80 AND P = 3 THEN P = 0
 205: IF A = 40 AND B = 120 AND P = 3 THEN P = 0
 206: IF A = 40 AND B = 120 AND P = 1 THEN P = 0
 207: IF A = 80 AND B = 120 AND P = 4 THEN P = 0
 208: IF A = 80 AND B = 120 AND P = 1 THEN P = 0
 209: IF A = 120 AND B = 120 AND P = 2 THEN P = 0
 210: IF A = 120 AND B = 120 AND P = 4 THEN P = 0
 211: IF A = 160 AND B = 120 AND P = 4 THEN P = 0
 212: IF A = 160 AND B = 120 AND P = 2 THEN P = 0
 213: IF A = 200 AND B = 120 AND P = 2 THEN P = 0
 214: IF A = 200 AND B = 120 AND P = 1 THEN P = 0
 215: IF A = 240 AND B = 120 AND P = 3 THEN P = 0
 216: IF A = 240 AND B = 120 AND P = 1 THEN P = 0
 217: IF A = 40 AND B = 160 AND P = 1 THEN P = 0
 218: IF A = 80 AND B = 160 AND P = 4 THEN P = 0
 219: IF A = 120 AND B = 160 AND P = 2 THEN P = 0
 220: IF A = 160 AND B = 160 AND P = 4 THEN P = 0
 221: IF A = 200 AND B = 160 AND P = 2 THEN P = 0
 222: IF A = 240 AND B = 160 AND P = 1 THEN P = 0
 223: IF P = 1 THEN B = B - 40: IF B < 0 THEN B = 0: P = 0
 224: IF P = 2 THEN A = A - 40: IF A < 0 THEN A = 0: P = 0
 225: IF P = 3 THEN B = B + 40: IF B > 160 THEN B = 160: P = 0
 226: IF P = 4 THEN A = A + 40: IF A > 280 THEN A = 280: P = 0
 227: GOTO 20
 228: 
5748472 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-05-09 21:08:12