'=========================================================================== ' Subject: FIRE STORM Date: 03-06-96 (09:55) ' Author: Tim Desper Code: QB, QBasic, PDS ' Origin: pages.nyu.edu/~jqm1584/ Packet: GAMES.ABC '=========================================================================== ' |----- /------- | ' | | --|-- ' |---- - |___ ___ \------\ | /--\ |___ |\ /| ' | | | /___\ | | | | | | \/ | ' | | | \___ ------/ | \__/ | | | ' ' ' ' ' =================================================================== ' =================================================================== ' By Tim Desper & Co. ' ' ' =================================================================== ' =================================================================== ' ' SHELL "mode con: rate=32 delay=1" SHELL "cls" DIM paz(1 TO 1000) DIM ded(1 TO 5000) 6 SCREEN 12: CLS PSET (30, 40), (4): DRAW "r22l22d50u25r25" PSET (70, 40), (4): DRAW "r25l12d50l12r25" PSET (125, 40), (4): DRAW "r25d25l25u25d50u25f25" PSET (180, 40), (4): DRAW "r25l25d25r12l12d25r25" PSET (330, 40), (4): DRAW "r25l25d25r25d25l25" PSET (390, 40), (4): DRAW "r25l12d50" PSET (450, 40), (4): DRAW "r25d50l25u50" PSET (510, 40), (4): DRAW "r25d25l25u25d50u25f25" PSET (570, 40), (4): DRAW "d50u50f12e12d50" LOCATE 12, 34: PRINT "VERSION 1.0" LOCATE 14, 38: PRINT "by" LOCATE 15, 32: PRINT "Tim Desper & Co." LOCATE 20, 29: PRINT "Please Press Space Bar" DO SELECT CASE INKEY$ CASE CHR$(32): EXIT DO END SELECT LOOP 34 CLEAR SCREEN 12: CLS PAINT (1, 1), 8 PSET (10, 60): DRAW "r55l55d100u50r50" PSET (70, 60): DRAW "r50l25d100l25r50" PSET (125, 60): DRAW "r50d50l50u50d100u50f50" PSET (180, 60): DRAW "r50l50d50r25l25d50r50" PSET (330, 60): DRAW "r50l50d50r50d50l50" PSET (390, 60): DRAW "r50l25d100" PSET (450, 60): DRAW "r50d100l50u100" PSET (510, 60): DRAW "r50d50l50u50d100u50f50" PSET (570, 60): DRAW "d100u100f25e25d100" LOCATE 17, 40: PRINT "START" LOCATE 20, 40: PRINT "INSTRUCTIONS" LOCATE 23, 40: PRINT "REGISTRATION" a = 180: b = 262 CIRCLE (a, b), 40, , , , (2 / 15) LINE (a + 40, b)-(a + 50, b) DO SELECT CASE INKEY$ CASE CHR$(0) + "M" 'right CIRCLE (a, b), 40, 8, , , (2 / 15) LINE (a + 40, b)-(a + 50, b), 8 SELECT CASE b CASE 262: b = 310 CASE 310: b = 359 CASE 359: b = 262 END SELECT CASE CHR$(0) + "P" 'down CIRCLE (a, b), 40, 8, , , (2 / 15) LINE (a + 40, b)-(a + 50, b), 8 SELECT CASE b CASE 262: b = 310 CASE 310: b = 359 CASE 359: b = 262 END SELECT CASE CHR$(0) + "K" 'left CIRCLE (a, b), 40, 8, , , (2 / 15) LINE (a + 40, b)-(a + 50, b), 8 SELECT CASE b CASE 262: b = 359 CASE 310: b = 262 CASE 359: b = 310 END SELECT CASE CHR$(0) + "H" 'up CIRCLE (a, b), 40, 8, , , (2 / 15) LINE (a + 40, b)-(a + 50, b), 8 SELECT CASE b CASE 262: b = 359 CASE 310: b = 262 CASE 359: b = 310 END SELECT CASE CHR$(32) SELECT CASE b CASE 262: GOTO 17 CASE 310 CLS LOCATE 7, 15: PRINT "In Firestorm you are the oval shaped ship. You" LOCATE 8, 15: PRINT "move up, down, left, and right by using the" LOCATE 9, 15: PRINT "arrow keys. You shoot by pressing the space bar." LOCATE 10, 15: PRINT "To pause the game press the p button. You can end the" LOCATE 11, 15: PRINT "game at any point by pressing the e button. In level 1" LOCATE 12, 15: PRINT "if you or the circles touch the border then you" LOCATE 13, 15: PRINT "(or the circles) are transported to another place" LOCATE 14, 15: PRINT "on the screen. You will not be able to shoot the" LOCATE 15, 15: PRINT "level 1 boss until you shoot all of the small circles." LOCATE 16, 15: PRINT "Sometimes you will run across invisible small circles." LOCATE 17, 15: PRINT "Those are the hardest to shoot but are worth the most points." LOCATE 18, 15: PRINT "If you have any problems when using Spacewar" LOCATE 19, 15: PRINT "then E-mail me at Kilrathi3@aol.com and let me know." LOCATE 22, 26: PRINT "press spacebar to continue" DO SELECT CASE INKEY$ CASE "e": GOTO 33 CASE "E": GOTO 33 CASE CHR$(32): GOTO 34 END SELECT LOOP CASE 359 CLS LOCATE 9, 17: PRINT "The full version of Firestorm isn't finished yet." LOCATE 10, 17: PRINT "Firestorm version 2.0 will have registration info" LOCATE 11, 17: PRINT "and will run a lot better than Firestorm version 1.0." LOCATE 12, 17: PRINT "Look for it sometime early '96." LOCATE 13, 17: PRINT "If you are interested in registering Firestorm" LOCATE 14, 17: PRINT "let me know. E-mail me at Kilrathi3@aol.com and" LOCATE 15, 17: PRINT "tell me what you think of Firestorm, along with " LOCATE 16, 17: PRINT "any suggestions and ideas you have for it." LOCATE 20, 26: PRINT "press spacebar to continue" DO SELECT CASE INKEY$ CASE "e": GOTO 33 CASE "E": GOTO 33 CASE CHR$(32): GOTO 34 END SELECT LOOP END SELECT CASE "e": GOTO 33 CASE "E": GOTO 33 END SELECT CIRCLE (a, b), 40, , , , (2 / 15) LINE (a + 40, b)-(a + 50, b) LOOP 17 SCREEN 12: CLS qqqq = 0 LOCATE 14, 35: PRINT "level 1" DO qqqq = qqqq + 1 LOOP UNTIL qqqq = 5000 LOCATE 16, 30: PRINT " " LOCATE 17, 20: PRINT " " LOCATE 28, 43: PRINT "press p to pause and e to quit" qwe = 0 RANDOMIZE TIMER FOR ab = 1 TO 150 ac = INT(RND * 629) + 1 ad = INT(RND * 429) + 1 PSET (ac, ad) NEXT ab a = 50 b = 240 CIRCLE (a, b), 40, , , , (2 / 15) LINE (a + 40, b)-(a + 50, b) m = 450 n = 300 x = 500 y = 270 vc = 9 cx = 14 op = 470 po = 270 level = 1 life = 3 cleer = 0 CIRCLE (m, n), 10, vc CIRCLE (x, y), 10, cx CONST true = -1 CONST false = NOT true LOCATE 28, 5: PRINT "level:" LOCATE 28, 17: PRINT "lives:" LOCATE 28, 28: PRINT "score:" 100 DO LINE (1, 1)-(630, 430), 8, B LINE (1, 430)-(630, 479), 8, B LOCATE 28, 11: PRINT level LOCATE 28, 23: PRINT life LOCATE 28, 34: PRINT score wwww = wwww + 1 IF wwww = 50 THEN LOCATE 14, 35: PRINT " " IF chan = true AND (score MOD 800) = 0 THEN chan = false life = life + 1 END IF IF bn >= 16 AND bn < 31 AND ty < 40 THEN IF bn = 30 THEN uj = 1 ' no more circles CIRCLE (op, po), 75, 0 ml = ml + 1 IF ml < 100 THEN po = po - 1 IF ml > 100 THEN po = po + 1 IF ml >= 200 THEN ml = 0 IF bn < 30 THEN clo = 7 IF bn = 30 THEN clo = 9 CIRCLE (op, po), 75, clo RANDOMIZE TIMER nl = INT(RND * 30) + 1 SELECT CASE nl CASE 10 RANDOMIZE TIMER bl = INT(RND * 6) + 1 SELECT CASE bl CASE IS < 7 change = true END SELECT CASE ELSE: change = false END SELECT END IF IF change = true THEN SELECT CASE bl CASE 1 ol = op oo = po oll = op ooo = po DO qi = qi + 1 IF (oll - 10) < (a + 50) AND (oll - 10) > (a - 40) AND ooo < (b + 15) AND ooo > (b - 15) THEN GOTO 1 IF (ol - 10) < (a + 50) AND (ol - 10) > (a - 40) AND oo < (b + 15) AND oo > (b - 15) THEN GOTO 1 LINE (ol, oo - 60)-(ol - 10, oo - 60), 0 LINE (oll, ooo)-(oll - 10, ooo), 0 ol = ol - 50 oll = oll - 50 LINE (ol, oo - 60)-(ol - 10, oo - 60), 4 LINE (oll, ooo)-(oll - 10, ooo), 4 LOOP UNTIL qi >= 50 qi = 0 CASE 2 ol = op oo = po oll = op ooo = po DO qi = qi + 1 IF (oll - 10) < (a + 50) AND (oll - 10) > (a - 40) AND ooo < (b + 15) AND ooo > (b - 15) THEN GOTO 1 IF (ol - 10) < (a + 50) AND (ol - 10) > (a - 40) AND oo < (b + 15) AND oo > (b - 15) THEN GOTO 1 LINE (ol, oo - 40)-(ol - 10, oo - 40), 0 LINE (oll, ooo)-(oll - 10, ooo), 0 ol = ol - 50 oll = oll - 50 LINE (ol, oo - 40)-(ol - 10, oo - 40), 4 LINE (oll, ooo)-(oll - 10, ooo), 4 LOOP UNTIL qi >= 50 qi = 0 CASE 3 ol = op oo = po oll = op ooo = po DO qi = qi + 1 IF (oll - 10) < (a + 50) AND (oll - 10) > (a - 40) AND ooo < (b + 15) AND ooo > (b - 15) THEN GOTO 1 IF (ol - 10) < (a + 50) AND (ol - 10) > (a - 40) AND oo < (b + 15) AND oo > (b - 15) THEN GOTO 1 LINE (ol, oo + 60)-(ol - 10, oo + 60), 0 LINE (oll, ooo)-(oll - 10, ooo), 0 ol = ol - 50 oll = oll - 50 LINE (ol, oo + 60)-(ol - 10, oo + 60), 4 LINE (oll, ooo)-(oll - 10, ooo), 4 LOOP UNTIL qi >= 50 qi = 0 CASE 4 ol = op oo = po oll = op ooo = po DO qi = qi + 1 IF (oll - 10) < (a + 50) AND (oll - 10) > (a - 40) AND ooo < (b + 15) AND ooo > (b - 15) THEN GOTO 1 IF (ol - 10) < (a + 50) AND (ol - 10) > (a - 40) AND oo < (b + 15) AND oo > (b - 15) THEN GOTO 1 LINE (ol, oo + 40)-(ol - 10, oo + 40), 0 LINE (oll, ooo)-(oll - 10, ooo), 0 ol = ol - 50 oll = oll - 50 LINE (ol, oo + 40)-(ol - 10, oo + 40), 4 LINE (oll, ooo)-(oll - 10, ooo), 4 LOOP UNTIL qi >= 50 qi = 0 CASE 5 ol = op oo = po oll = op ooo = po ool = op loo = po DO qi = qi + 1 IF (ool - 10) < (a + 50) AND (ool - 10) > (a - 40) AND loo < (b + 15) AND loo > (b - 15) THEN GOTO 1 IF (oll - 10) < (a + 50) AND (oll - 10) > (a - 40) AND ooo < (b + 15) AND ooo > (b - 15) THEN GOTO 1 IF (ol - 10) < (a + 50) AND (ol - 10) > (a - 40) AND oo < (b + 15) AND oo > (b - 15) THEN GOTO 1 LINE (ol, oo - 60)-(ol - 10, oo - 60), 0 LINE (ool, loo + 60)-(ool - 10, loo + 60), 0 LINE (oll, ooo)-(oll - 10, ooo), 0 ol = ol - 50 oll = oll - 50 ool = ool - 50 LINE (ol, oo - 60)-(ol - 10, oo - 60), 4 LINE (ool, loo + 60)-(ool - 10, loo + 60), 4 LINE (oll, ooo)-(oll - 10, ooo), 4 LOOP UNTIL qi >= 50 qi = 0 CASE 6 ol = op oo = po oll = op ooo = po ool = op loo = po DO qi = qi + 1 IF (ool - 10) < (a + 50) AND (ool - 10) > (a - 40) AND loo < (b + 15) AND loo > (b - 15) THEN GOTO 1 IF (oll - 10) < (a + 50) AND (oll - 10) > (a - 40) AND ooo < (b + 15) AND ooo > (b - 15) THEN GOTO 1 IF (ol - 10) < (a + 50) AND (ol - 10) > (a - 40) AND oo < (b + 15) AND oo > (b - 15) THEN GOTO 1 LINE (ol, oo - 40)-(ol - 10, oo - 40), 0 LINE (ol, oo + 40)-(ol - 10, oo + 40), 0 LINE (ol, oo)-(ol - 10, oo), 0 ool = ool - 50 oll = oll - 50 ol = ol - 50 LINE (ol, oo - 40)-(ol - 10, oo - 40), 4 LINE (oll, ooo + 40)-(oll - 10, ooo + 40), 4 LINE (ool, loo)-(ool - 10, loo), 4 LOOP UNTIL qi >= 50 qi = 0 END SELECT END IF IF circ = 1 AND sfd = 1 AND uj = 0 THEN RANDOMIZE TIMER vc = INT(RND * 16) cx = INT(RND * 16) 2 m = INT(RND * 600) + 1 IF m < 20 THEN GOTO 2 3 n = INT(RND * 450) + 1 IF n < 20 THEN GOTO 3 4 x = INT(RND * 600) + 1 IF x < 20 THEN GOTO 4 5 y = INT(RND * 450) + 1 IF y < 20 THEN GOTO 5 circ = 0 sfd = 0 END IF IF level = 2 THEN GOTO 333 IF m <= 1 OR m >= 630 OR n <= 1 OR n >= 425 THEN CIRCLE (m, n), 10, 0 RANDOMIZE TIMER m = INT(RND * 600) + 1 n = INT(RND * 450) + 1 LOCATE 28, 5: PRINT "level:" LOCATE 28, 17: PRINT "lives:" LOCATE 28, 28: PRINT "score:" LOCATE 28, 43: PRINT "press p to pause and e to quit" ELSEIF x <= 1 OR x >= 630 OR y <= 1 OR y >= 425 THEN CIRCLE (x, y), 10, 0 RANDOMIZE TIMER x = INT(RND * 600) + 1 y = INT(RND * 450) + 1 LOCATE 28, 5: PRINT "level:" LOCATE 28, 17: PRINT "lives:" LOCATE 28, 28: PRINT "score:" LOCATE 28, 43: PRINT "press p to pause and e to quit" END IF IF (a - 40) <= 1 OR (a + 50) >= 630 OR (b - 10) <= 1 OR (b + 10) >= 425 THEN CIRCLE (a, b), 40, 0, , , (2 / 15) LINE (a + 40, b)-(a + 50, b), 0 RANDOMIZE TIMER a = INT(RND * 600) + 1 b = INT(RND * 450) + 1 CIRCLE (a, b), 40, , , , (2 / 15) LINE (a + 40, b)-(a + 50, b) LOCATE 28, 5: PRINT "level:" LOCATE 28, 17: PRINT "lives:" LOCATE 28, 28: PRINT "score:" LOCATE 28, 43: PRINT "press e to quit and p to pause" END IF RANDOMIZE TIMER IF circ = 0 THEN xy = INT(RND * 5) + 1 SELECT CASE xy CASE 1 CIRCLE (m, n), 10, 0 m = m + 10 CIRCLE (m, n), 10, vc CASE 2 CIRCLE (m, n), 10, 0 m = m - 10 CIRCLE (m, n), 10, vc CASE 3 CIRCLE (m, n), 10, 0 n = n - 10 CIRCLE (m, n), 10, vc CASE 4 CIRCLE (m, n), 10, 0 n = n + 10 CIRCLE (m, n), 10, vc CASE 5 RANDOMIZE TIMER aw = INT(RND * ((vc + 10) * 2)) + 1 SELECT CASE aw CASE 20 az = m FOR aa = 1 TO 130 IF (az - 30) <= (a + 50) AND (az - 30) >= (a - 50) AND n < (b + 20) AND n > (b - 20) THEN 1 life = life - 1 DO jk = jk + 1 CIRCLE (a, b), jk, 4 LOOP UNTIL jk = 70 jk = 80 DO jk = jk - 1 CIRCLE (a, b), jk, 0 LOOP UNTIL jk = 0 IF life = 0 THEN GOTO 333 GET (180, 179)-(440, 251), ded LINE (180, 179)-(440, 251), 15, B LINE (181, 180)-(439, 250), 8, BF DO SELECT CASE INKEY$ CASE CHR$(32): fill0 = 0: EXIT DO CASE "e": GOTO 33 CASE "E": GOTO 33 END SELECT LINE (181, 180)-(439, 250), 8, B IF fill0 = 0 THEN COLOR 15 LOCATE 13, 30: PRINT "You disappoint me." LOCATE 15, 26: PRINT "press space bar to continue" END IF PAINT (300, 195), 8, 15 PAINT (300, 240), 8, 15 fill0 = 1 LOOP PUT (180, 179), ded, PSET CIRCLE (a, b), 40, , , , (2 / 15) LINE (a + 40, b)-(a + 50, b) EXIT FOR END IF LINE (az - 10, n)-(az - 30, n), 0 az = az - 5 LINE (az - 10, n)-(az - 30, n), 4 NEXT aa END SELECT END SELECT END IF IF sfd = 0 THEN RANDOMIZE TIMER yu = INT(RND * 5) + 1 SELECT CASE yu CASE 1 CIRCLE (x, y), 10, 0 x = x + 10 CIRCLE (x, y), 10, cx CASE 2 CIRCLE (x, y), 10, 0 x = x - 10 CIRCLE (x, y), 10, cx CASE 3 CIRCLE (x, y), 10, 0 y = y - 10 CIRCLE (x, y), 10, cx CASE 4 CIRCLE (x, y), 10, 0 y = y + 10 CIRCLE (x, y), 10, cx CASE 5 RANDOMIZE TIMER aq = INT(RND * ((cx + 10) * 2)) + 1 SELECT CASE aq CASE 20 sw = x FOR se = 1 TO 130 IF (sw - 30) <= (a + 50) AND (sw - 30) >= (a - 50) AND y < (b + 20) AND y > (b - 20) THEN life = life - 1 DO ff = ff + 1 CIRCLE (a, b), ff, 4 LOOP UNTIL ff = 70 ff = 80 DO ff = ff - 1 CIRCLE (a, b), ff, 0 LOOP UNTIL ff = 0 GET (180, 179)-(440, 251), ded LINE (180, 179)-(440, 251), 15, B LINE (181, 180)-(439, 250), 8, BF DO SELECT CASE INKEY$ CASE CHR$(32): fill0 = 0: EXIT DO CASE "e": GOTO 33 CASE "E": GOTO 33 END SELECT LINE (181, 180)-(439, 250), 8, B IF fill0 = 0 THEN COLOR 15 LOCATE 13, 30: PRINT "You disappoint me." LOCATE 15, 26: PRINT "press space bar to continue" END IF PAINT (300, 195), 8, 15 PAINT (300, 240), 8, 15 fill0 = 1 LOOP PUT (180, 179), ded, PSET CIRCLE (a, b), 40, , , , (2 / 15) LINE (a + 40, b)-(a + 50, b) EXIT FOR END IF IF life = 0 THEN GOTO 333 LINE (sw - 10, y)-(sw - 30, y), 0 sw = sw - 5 LINE (sw - 10, y)-(sw - 30, y), 6 NEXT se END SELECT END SELECT END IF 333 IF life = 0 OR level = 2 THEN 33 CLS FOR tbg = 1 TO 20 RANDOMIZE TIMER tbf = INT(RND * 620) + 1 tbd = INT(RND * 460) + 1 tbc = INT(RND * 15) + 1 CIRCLE (tbf, tbd), 10, tbc NEXT tbg FOR stb = 1 TO 100 RANDOMIZE TIMER ynh = INT(RND * 630) + 1 yng = INT(RND * 470) + 1 PSET (ynh, yng) NEXT stb LOCATE 12, 31: PRINT "G A M E O V E R !" LOCATE 15, 30: PRINT "you made it to level"; level LOCATE 16, 30: PRINT "your score is"; score SELECT CASE ac2 CASE 0: LOCATE 17, 30: PRINT "accuracy: 0 %" CASE ELSE: LOCATE 17, 30: PRINT "accuracy:"; CINT((ac1 / ac2) * 100); "%" END SELECT DO cleer = cleer + 1 SELECT CASE INKEY$ CASE CHR$(32): cleer = cleer - 5 END SELECT LOOP UNTIL cleer = 1000 LOCATE 25, 27: PRINT "PRESS SPACE BAR TO CONTINUE" DO SELECT CASE INKEY$ CASE CHR$(32) CLS PAINT (1, 1), 8 PSET (10, 60): DRAW "r55l55d100u50r50" PSET (70, 60): DRAW "r50l25d100l25r50" PSET (125, 60): DRAW "r50d50l50u50d100u50f50" PSET (180, 60): DRAW "r50l50d50r25l25d50r50" PSET (330, 60): DRAW "r50l50d50r50d50l50" PSET (390, 60): DRAW "r50l25d100" PSET (450, 60): DRAW "r50d100l50u100" PSET (510, 60): DRAW "r50d50l50u50d100u50f50" PSET (570, 60): DRAW "d100u100f25e25d100" LOCATE 17, 30: PRINT "PLAY AGAIN?" LOCATE 20, 40: PRINT "YES" LOCATE 23, 40: PRINT "NO" a = 180: b = 310 CIRCLE (a, b), 40, , , , (2 / 15) LINE (a + 40, b)-(a + 50, b) DO SELECT CASE INKEY$ CASE CHR$(0) + "M" 'right CIRCLE (a, b), 40, 8, , , (2 / 15) LINE (a + 40, b)-(a + 50, b), 8 SELECT CASE b CASE 310: b = 359 CASE 359: b = 310 END SELECT CASE CHR$(0) + "P" 'down CIRCLE (a, b), 40, 8, , , (2 / 15) LINE (a + 40, b)-(a + 50, b), 8 SELECT CASE b CASE 310: b = 359 CASE 359: b = 310 END SELECT CASE CHR$(0) + "K" 'left CIRCLE (a, b), 40, 8, , , (2 / 15) LINE (a + 40, b)-(a + 50, b), 8 SELECT CASE b CASE 310: b = 359 CASE 359: b = 310 END SELECT CASE CHR$(0) + "H" 'up CIRCLE (a, b), 40, 8, , , (2 / 15) LINE (a + 40, b)-(a + 50, b), 8 SELECT CASE b CASE 310: b = 359 CASE 359: b = 310 END SELECT CASE CHR$(32) SELECT CASE b CASE 310: GOTO 34 CASE 359 CLS LOCATE 10, 36: PRINT "BYE BYE" END END SELECT END SELECT CIRCLE (a, b), 40, , , , (2 / 15) LINE (a + 40, b)-(a + 50, b) LOOP END SELECT LOOP END IF 321 SELECT CASE INKEY$ CASE CHR$(0) + "M": CIRCLE (a, b), 40, 0, , , (2 / 15): LINE (a + 40, b)-(a + 50, b), 0 a = a + 20: CIRCLE (a, b), 40, , , , (2 / 15): LINE (a + 40, b)-(a + 50, b) CASE CHR$(0) + "K": CIRCLE (a, b), 40, 0, , , (2 / 15): LINE (a + 40, b)-(a + 50, b), 0 a = a - 20: CIRCLE (a, b), 40, , , , (2 / 15): LINE (a + 40, b)-(a + 50, b) CASE CHR$(0) + "H": CIRCLE (a, b), 40, 0, , , (2 / 15): LINE (a + 40, b)-(a + 50, b), 0 b = b - 20: CIRCLE (a, b), 40, , , , (2 / 15): LINE (a + 40, b)-(a + 50, b) CASE CHR$(0) + "P": CIRCLE (a, b), 40, 0, , , (2 / 15): LINE (a + 40, b)-(a + 50, b), 0 b = b + 20: CIRCLE (a, b), 40, , , , (2 / 15): LINE (a + 40, b)-(a + 50, b) CASE "p" GET (262, 179)-(363, 251), paz LINE (262, 179)-(363, 251), 15, B LINE (263, 180)-(362, 250), 8, BF DO SELECT CASE INKEY$ CASE "p": fill0 = 0: EXIT DO CASE "P": fill0 = 0: EXIT DO CASE "e": GOTO 33 CASE "E": GOTO 33 END SELECT LINE (263, 180)-(362, 250), 8, B IF fill0 = 0 THEN COLOR 15 LOCATE 13, 35: PRINT "paused..." LOCATE 14, 35: PRINT "press p to" LOCATE 15, 35: PRINT "continue" END IF PAINT (300, 220), 8, 15 fill0 = 1 LOOP PUT (262, 179), paz, PSET CASE "P" GET (262, 179)-(363, 251), paz LINE (262, 179)-(363, 251), 15, B LINE (263, 180)-(362, 250), 8, BF DO SELECT CASE INKEY$ CASE "p": fill0 = 0: EXIT DO CASE "P": fill0 = 0: EXIT DO CASE "e": GOTO 33 CASE "E": GOTO 33 END SELECT LINE (263, 180)-(362, 250), 8, B IF fill0 = 0 THEN COLOR 15 LOCATE 13, 35: PRINT "paused..." LOCATE 14, 35: PRINT "press p to" LOCATE 15, 35: PRINT "continue" END IF PAINT (300, 220), 8, 15 fill0 = 1 LOOP PUT (262, 179), paz, PSET CASE CHR$(32) ac2 = ac2 + 1 d = a FOR r = 1 TO 28 IF (d + 75) <= (m + 10) AND (d + 75) >= (m - 10) AND b <= (n + 10) AND b >= (n - 10) AND circ = 0 THEN ac1 = ac1 + 1 SELECT CASE vc CASE 0: score = score + 90 CASE 1: score = score + 75 CASE 2: score = score + 70 CASE 3: score = score + 65 CASE 4: score = score + 60 CASE 5: score = score + 55 CASE 6: score = score + 50 CASE 7: score = score + 45 CASE 8: score = score + 40 CASE 9: score = score + 35 CASE 10: score = score + 30 CASE 11: score = score + 25 CASE 12: score = score + 20 CASE 13: score = score + 15 CASE 14: score = score + 10 CASE 15: score = score + 5 CASE 16: score = score + 5 END SELECT chang = true bn = bn + 1 circ = 1 DO z = z + 1 CIRCLE (m, n), z, 4 LOOP UNTIL z = 25 z = 27 DO z = z - 1 CIRCLE (m, n), z, 0 LOOP UNTIL z = 0 LINE (d + 55, b)-(d + 75, b), 0 EXIT FOR ELSEIF (d + 75) <= (x + 10) AND (d + 75) >= (x - 10) AND b <= (y + 10) AND b >= (y - 10) AND sfd = 0 THEN ac1 = ac1 + 1 SELECT CASE cx CASE 0: score = score + 90 CASE 1: score = score + 75 CASE 2: score = score + 70 CASE 3: score = score + 65 CASE 4: score = score + 60 CASE 5: score = score + 55 CASE 6: score = score + 50 CASE 7: score = score + 45 CASE 8: score = score + 40 CASE 9: score = score + 35 CASE 10: score = score + 30 CASE 11: score = score + 25 CASE 12: score = score + 20 CASE 13: score = score + 15 CASE 14: score = score + 10 CASE 15: score = score + 5 CASE 16: score = score + 5 END SELECT chang = true bn = bn + 1 sfd = 1 DO z = z + 1 CIRCLE (x, y), z, 4 LOOP UNTIL z = 25 z = 27 DO z = z - 1 CIRCLE (x, y), z, 0 LOOP UNTIL z = 0 LINE (d + 55, b)-(d + 75, b), 0 EXIT FOR ELSEIF (d + 75) <= (op + 75) AND (d + 75) >= (op - 75) AND b <= (po + 75) AND b >= (po - 75) AND ty < 40 AND bn = 30 THEN ac1 = ac1 + 1 chang = true gv = (d + 75) ty = ty + 1 score = score + 2 IF ty = 30 THEN chang = true sfd = 1 circ = 1 uj = 0 score = score + 150 level = level + 1 bn = bn + 1 DO qas = qas + 1 RANDOMIZE TIMER 10 ra = INT(RND * (op + 75)) + 1 IF ra < (op - 75) THEN GOTO 10 11 ar = INT(RND * (po + 75)) + 1 IF ar < (po - 75) THEN GOTO 11 DO qaz = qaz + 1 CIRCLE (ra, ar), qaz, 4 LOOP UNTIL qaz = 40 qaz = 42 DO qaz = qaz - 1 CIRCLE (ra, ar), qaz, 0 LOOP UNTIL qaz = 0 LOOP UNTIL qas = 50 CIRCLE (op, po), 75, 0 FOR star = 1 TO 50 ac = INT(RND * 630) ad = INT(RND * 470) PSET (ac, ad) NEXT star SELECT CASE score CASE 900 TO 1099: life = life + 1 CASE 1100 TO 1300: life = life + 3 CASE IS >= 1301: life = life + 10 END SELECT END IF DO yt = yt + 1 CIRCLE (gv, b), yt, 4 LOOP UNTIL yt = 20 yt = 22 DO yt = yt - 1 CIRCLE (gv, b), yt, 0 LOOP UNTIL yt = 0 LINE (d + 55, b)-(d + 75, b), 0 EXIT FOR END IF LINE (d + 55, b)-(d + 80, b), 0 d = d + 20 LINE (d + 55, b)-(d + 80, b), 3 NEXT r CASE "e": GOTO 33 CASE "E": GOTO 33 END SELECT LOOP