10 KEY OFF: CLS 20 SCREEN 0 30 WIDTH 40 40 PRINT "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°" 50 PRINT "°ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿°" 60 PRINT "°³ ³°" 70 PRINT "°³ 2060-A.BAS ³°" 80 PRINT "°³ XWING ³°" 90 PRINT "°³ ³°" 100 PRINT "°³ ³°" 110 PRINT "°³ BROUGHT TO YOU BY DATATECH ³°" 120 PRINT "°³ ³°" 130 PRINT "°³ ³°" 140 PRINT "°³ ³°" 150 PRINT "°³ ³°" 160 PRINT "°³ ³°" 170 PRINT "°³ ³°" 180 PRINT "°³ ³°" 190 PRINT "°³ ³°" 200 PRINT "°³ MICHAEL KNOX WAUSAU WI 54403 ³°" 210 PRINT "°³ ³°" 220 PRINT "°ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ°" 230 PRINT "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°" 240 PRINT 250 PRINT " PRESS ANY KEY TO CONTINUE" 260 A$ = INKEY$: IF A$ = "" THEN 260 270 WIDTH 80 280 CLS 1000 REM * STAR PILOT GAME * 1010 REM * WRITTEN BY MICHAEL KNOX WAUSAU WI * 1020 REM * FOR PUBLIC DOMAIN UNLESS MOVIEMAKERS OBJECT * 1030 REM * VERSION 2.0 JANUARY 4, 1996 * 1040 REM * PRODUCED BY WILD BOAR PRODUCTIONS * 1050 REM * WILD BOAR PRODUCTIONS WAUSAU WI * 1060 REM * JANUARY 1996 * 1070 KEY OFF: CLS : WIDTH 80: DEF SEG = 0: A = PEEK(&H410): POKE &H410, (A AND &HCF) OR &H20 1080 WIDTH 40: SCREEN 1: SCREEN 0: WIDTH 80: WIDTH 40: SCREEN 1: COLOR 0, 1 1090 GOTO 1200 1100 V = V - 1: IF V < -3 THEN V = -3 1110 RETURN 1120 W = W - 1: IF W < -5 THEN W = -5 1130 RETURN 1140 W = W + 1: IF W > 5 THEN W = 5 1150 RETURN 1160 V = V + 1: IF V > 3 THEN V = 3 1170 RETURN 1180 KEY(1) ON: KEY(2) ON: KEY(11) ON: KEY(12) ON: KEY(13) ON: KEY(14) ON: RETURN 1190 KEY(1) STOP: KEY(2) STOP: KEY(11) STOP: KEY(12) STOP: KEY(13) STOP: KEY(14) STOP: RETURN 1200 LOCATE 8, 1: PRINT "***************************************"; 1210 PRINT "* *"; 1220 PRINT "* X W I N G F I G H T E R *"; 1230 PRINT "* *"; 1240 PRINT "***************************************"; 1250 SOUND 525.25, 18.2: SOUND 783.99, 18.2 / 2: SOUND 698.46, 18.2 / 6: SOUND 659.26, 18.2 / 6: SOUND 587.33, 18.2 / 6: SOUND 1046.6, 18.2: SOUND 783.99, 18.2 / 2: SOUND 698.46, 18.2 / 6: SOUND 659.26, 18.2 / 6: SOUND 587.33, 18.2 / 6 1260 SOUND 1046.5, 18.2: SOUND 783.99, 18.2 / 2: SOUND 698.46, 18.2 / 6: SOUND 659.26, 18.2 / 6: SOUND 698.46, 18.2 / 6: SOUND 587.33, 18.2 1270 LOCATE 16, 1: PRINT "DO YOU WANT INSTRUCTIONS (Y OR N)?"; 1280 K$ = INKEY$: IF K$ = "Y" OR K$ = "y" GOTO 6930 1290 IF K$ <> "N" AND K$ <> "n" GOTO 1270 1300 CLS : CLEAR : DEFINT A-Z: DEFSNG G, J, O, S 1310 RANDOMIZE (VAL(RIGHT$(TIME$, 2))) 1320 ON KEY(1) GOSUB 5350: ON KEY(2) GOSUB 5750: ON KEY(11) GOSUB 1100: ON KEY(12) GOSUB 1120: ON KEY(13) GOSUB 1140: ON KEY(14) GOSUB 1160 1330 LOCATE 8, 1: PRINT "IMPERIAL FIGHTER: ": DRAW "C2;BM145,59;M+0,0;BM+10,1;M+0,-2;M+2,2;M+0,-2;BM+10,-1;M+0,4;BM+6,-4;M+0,4;M+0,-2;M-6,0" 1340 DIM IM(6): DIM IM1(6): DIM IM2(6): DIM IM3(6): GET (145, 59)-(145, 59), IM: GET (145, 59)-(145, 59), IM1: GET (155, 58)-(157, 60), IM2: GET (167, 57)-(173, 61), IM3 1350 DIM IM4(13): IM4(0) = 22: IM4(1) = 7: IM4(2) = 128: IM4(3) = -32760: IM4(4) = 2048: IM4(5) = 128: IM4(6) = -22008: IM4(7) = -22358: IM4(8) = 128: IM4(9) = -32760: IM4(10) = 2048: IM4(11) = 128: IM4(12) = 8 1360 DIM IM5(20): IM5(0) = 26: IM5(1) = 9: IM5(2) = 128: IM5(3) = -32768!: IM5(4) = 128: IM5(5) = -32768!: IM5(6) = 128: IM5(7) = -32768!: IM5(8) = 128: IM5(9) = -32768!: IM5(10) = -21846: IM5(11) = -32598: IM5(12) = 128 1370 IM5(13) = -32768!: IM5(14) = 128: IM5(15) = -32768!: IM5(16) = 128: IM5(17) = -32768!: IM5(18) = 128: IM5(19) = -32768! 1380 DIM IM6(44): IM6(0) = 34: IM6(1) = 17: IM6(2) = 2048: IM6(5) = 32: IM6(7) = -32768!: IM6(9) = 512: IM6(12) = -32760: IM6(14) = 8192: IM6(15) = 32: IM6(17) = 2176: IM6(20) = 2: IM6(23) = 128: IM6(25) = 8192: IM6(28) = 8 1390 IM6(29) = 128: IM6(30) = 512: IM6(31) = 2: IM6(33) = -30720: IM6(36) = 32: IM6(38) = -32768!: IM6(40) = 512: IM6(43) = 8 1400 DIM IM7(44) 1410 IM7(0) = 30: IM7(1) = 21: IM7(2) = -22006: IM7(3) = -22358: IM7(4) = 32: IM7(5) = 8192: IM7(6) = -21846: IM7(7) = -32598: IM7(8) = 2048: IM7(9) = 128 1420 IM7(10) = 2048: IM7(11) = 128: IM7(12) = 2048: IM7(13) = 128: IM7(14) = 2048: IM7(15) = 128: IM7(16) = 2048: IM7(17) = 128: IM7(18) = 2048: IM7(19) = 128 1430 IM7(20) = 2560: IM7(21) = 32: IM7(22) = 2048: IM7(23) = 128: IM7(24) = 8704: IM7(25) = 128: IM7(26) = 2048: IM7(27) = 128: IM7(28) = 2048: IM7(29) = 128 1440 IM7(30) = 2048: IM7(31) = 128: IM7(32) = 2048: IM7(33) = 128: IM7(34) = 2048: IM7(35) = 128: IM7(36) = 2048: IM7(37) = 128: IM7(38) = -22518: IM7(39) = -22358 1450 IM7(40) = 2592: IM7(41) = 8192: IM7(42) = -21846: IM7(43) = -32598 1460 DIM IM8(102) 1470 IM8(0) = 50: IM8(1) = 29: IM8(3) = 2048: IM8(7) = 10: IM8(10) = 2048: IM8(11) = 128: IM8(14) = 8200: IM8(17) = 2048: IM8(18) = 8: IM8(21) = 514 1480 IM8(25) = -32640: IM8(28) = 8192: IM8(29) = 32: IM8(32) = 2184: IM8(35) = 514: IM8(36) = 2: IM8(38) = 2048: IM8(39) = -32760: IM8(40) = 128: IM8(42) = 8352 1490 IM8(43) = -32736: IM8(45) = 8194: IM8(46) = 2176: IM8(47) = 128: IM8(48) = 512: IM8(49) = 34: IM8(50) = -32766: IM8(51) = 128: IM8(52) = 10250: IM8(54) = -24448 1500 IM8(55) = 8704: IM8(56) = 32: IM8(58) = 136: IM8(59) = -24446: IM8(61) = -32256: IM8(62) = 514: IM8(63) = 128: IM8(65) = -30592: IM8(66) = 8: IM8(68) = 8192 1510 IM8(69) = 8224: IM8(72) = 8200: IM8(73) = 128: IM8(75) = 512: IM8(76) = 34: IM8(79) = -22528: IM8(80) = 128: IM8(83) = 8224: IM8(86) = 2048: IM8(87) = 8 1520 IM8(90) = 2050: IM8(94) = 136: IM8(97) = 10240: IM8(101) = 8 1530 LOCATE 10, 1: PRINT "DARTH VADER : ": DRAW "C2;BM145,75;M+0,0;BM+10,1;M+0,-2;M+2,2;M+0,-2;BM+11,-1;M-1,1;M+0,2;M+1,1;BM+4,-4;M+1,1;M+0,2;M-1,1;BM+1,-2;M-6,0" 1540 DIM DV(6): DIM DV1(6): DIM DV2(6): DIM DV3(6): GET (145, 75)-(145, 75), DV: GET (145, 75)-(145, 75), DV1: GET (155, 74)-(157, 76), DV2: GET (167, 73)-(173, 77), DV3 1550 DIM DV4(13) 1560 DV4(0) = 22: DV4(1) = 7: DV4(2) = 8: DV4(3) = 8320: DV4(4) = 8192: DV4(5) = 128: DV4(6) = -22008: DV4(7) = -22358: DV4(8) = 128: DV4(9) = 8200 1570 DV4(10) = 8192: DV4(11) = 8: DV4(12) = 128 1580 DIM DV5(20) 1590 DV5(0) = 26: DV5(1) = 9: DV5(2) = 8: DV5(3) = 8: DV5(4) = 32: DV5(5) = 2: DV5(6) = 128: DV5(7) = -32768!: DV5(8) = 128: DV5(9) = -32768! 1600 DV5(10) = -21846: DV5(11) = -32598: DV5(12) = 128: DV5(13) = -32768!: DV5(14) = 128: DV5(15) = -32768!: DV5(16) = 32: DV5(17) = 2: DV5(18) = 8: DV5(19) = 8 1610 DIM DV6(32) 1620 DV6(0) = 30: DV6(1) = 15: DV6(2) = -22528: DV6(4) = 2: DV6(6) = 8: DV6(8) = 34: DV6(10) = -32640: DV6(12) = 8320: DV6(14) = 2176: DV6(16) = 512 1630 DV6(19) = 2176: DV6(21) = 2080: DV6(23) = 2056: DV6(25) = 8194: DV6(27) = -32768!: DV6(29) = 2: DV6(31) = 168 1640 DIM DV7(44) 1650 DV7(0) = 32: DV7(1) = 21: DV7(2) = 10752: DV7(3) = -24406: DV7(4) = -32768!: DV7(5) = -30720: DV7(6) = -22014: DV7(7) = 682: DV7(8) = 520: DV7(9) = -30688 1660 DV7(10) = 544: DV7(11) = 8224: DV7(12) = 512: DV7(13) = 32: DV7(14) = 512: DV7(15) = 32: DV7(16) = 512: DV7(17) = 32: DV7(18) = 512: DV7(19) = 32 1670 DV7(20) = 512: DV7(21) = 136: DV7(22) = 512: DV7(23) = 32: DV7(24) = 2048: DV7(25) = 160: DV7(26) = 512: DV7(27) = 32: DV7(28) = 512: DV7(29) = 32 1680 DV7(30) = 512: DV7(31) = 32: DV7(32) = 512: DV7(33) = 32: DV7(34) = 520: DV7(35) = 544: DV7(36) = 546: DV7(37) = 2080: DV7(38) = -21888: DV7(39) = -24534 1690 DV7(40) = 546: DV7(41) = -32640: DV7(42) = -22006: DV7(43) = 170 1700 DIM DV8(76) 1710 DV8(0) = 46: DV8(1) = 25: DV8(3) = 10752: DV8(4) = 128: DV8(6) = -32768!: DV8(7) = 32: DV8(9) = -22526: DV8(10) = 8: DV8(12) = 512: DV8(13) = 2 1720 DV8(16) = -32640: DV8(18) = 512: DV8(19) = 8224: DV8(21) = 2048: DV8(22) = 2056: DV8(24) = 8192: DV8(25) = 2082: DV8(27) = -32766: DV8(28) = -30592: DV8(30) = -32248 1730 DV8(31) = 10240: DV8(32) = 128: DV8(33) = -30712: DV8(34) = 2048: DV8(35) = 128: DV8(36) = -24536: DV8(37) = 2048: DV8(38) = 128: DV8(39) = -32630: DV8(40) = 2048 1740 DV8(41) = 672: DV8(42) = -32760: DV8(44) = 2184: DV8(45) = 10: DV8(47) = 8322: DV8(48) = 32: DV8(50) = -32640: DV8(51) = 128: DV8(53) = -32224: DV8(56) = -30712 1750 DV8(59) = -24062: DV8(62) = -32768!: DV8(63) = 168: DV8(65) = 8192: DV8(66) = 136: DV8(68) = 2048: DV8(69) = 136: DV8(71) = 512: DV8(72) = 136: DV8(75) = 168 1760 LOCATE 12, 1: PRINT "DEATH STAR : ": DRAW "C3;BM145,91;M+0,0;BM+11,-1;M-1,1;M+2,0;M-1,1;BM+12,-3;M+1,0;M+1,1;M-3,0;M+0,1;M+3,0;M-1,1;M-1,0" 1770 DRAW "C3;BM+12,-5;M+2,0;M+1,1;M-4,0;M-1,1;M+6,0;M+0,1;M-6,0;M+0,1;M+6,0;M-1,1;M-4,0;M+1,1;M+2,0" 1780 DIM DS(8): DIM DS1(8): DIM DS2(8): DIM DS3(8): DIM DS4(8): GET (145, 91)-(145, 91), DS: GET (145, 91)-(145, 91), DS1: GET (155, 90)-(157, 92), DS2: GET (167, 89)-(170, 92), DS3: GET (178, 87)-(184, 93), DS4 1790 DIM EXPL3(18): DIM EXPL4(18): DIM EXPL5(18): DIM EXPL6(18): DIM EXPL7(18): DIM EXPL8(18) 1800 DATA 22,11,0,0,0,8194,0,-32608,-22006,2560,-32598,-22006,128,168,8706,0,0,0,0 1810 FOR i = 0 TO 18: READ EXPL3(i): NEXT i 1820 DATA 22,11,-30720,2048,136,-30718,-24544,-32608,-22006,-21848,-22358,-22006,-23936,10274,-30206,2048,-32632,-30720,0 1830 FOR i = 0 TO 18: READ EXPL4(i): NEXT i 1840 DATA 22,11,-30712,512,136,8194,-32760,-24416,-21974,-21976,-22358,-21974,-32608,2216,-30206,512,138,-30712,128 1850 FOR i = 0 TO 18: READ EXPL5(i): NEXT i 1860 DATA 22,11,-30712,2048,136,8194,-24536,-32608,-22006,-21976,-22358,-22006,-24448,10408,8706,2048,-32632,-30712,128 1870 FOR i = 0 TO 18: READ EXPL6(i): NEXT i 1880 DATA 22,11,-30688,2048,2080,8194,-32736,-32608,-21974,-22008,-22358,-22006,-24448,10408,8706,2048,-32632,-30688,32 1890 FOR i = 0 TO 18: READ EXPL7(i): NEXT i 1900 DATA 22,11,-30688,2048,2184,-30718,-24544,-32608,-22006,-21848,-22358,-22006,-23936,10274,-30206,2048,-32632,-30688,32 1910 FOR i = 0 TO 18: READ EXPL8(i): NEXT i 1920 LOCATE 17, 1: PRINT "SELECT SKILL LEVEL FROM 0 TO 3" 1930 S$ = INKEY$: IF S$ <> "0" AND S$ <> "1" AND S$ <> "2" AND S$ <> "3" GOTO 1920 1940 SKILL = VAL(S$): CLS 1950 DIM LASAR(381) 1960 LASAR(0) = 148: LASAR(1) = 40: LASAR(2) = 64: LASAR(11) = 5136: LASAR(20) = 16385: LASAR(21) = 16385: LASAR(29) = 5120: LASAR(31) = 20: LASAR(38) = 256: LASAR(39) = 64: LASAR(40) = 256: LASAR(41) = 64: LASAR(48) = 20 1970 LASAR(50) = 5120: LASAR(57) = 16385: LASAR(60) = 16385: LASAR(66) = 5120: LASAR(70) = 20: LASAR(75) = 256: LASAR(76) = 64: LASAR(79) = 256: LASAR(85) = 4: LASAR(89) = 20480: LASAR(94) = 20480: LASAR(99) = 5 1980 LASAR(103) = 1280: LASAR(109) = 80: LASAR(113) = 80: LASAR(118) = 1280: LASAR(122) = 5: LASAR(128) = 20480: LASAR(131) = 20480: LASAR(138) = 5: LASAR(140) = 1280: LASAR(148) = 80: LASAR(150) = 80 1990 LASAR(157) = 1024: LASAR(159) = 1: LASAR(167) = 16385: LASAR(168) = 5120: LASAR(177) = 276: LASAR(178) = 64: LASAR(186) = 256: LASAR(187) = 84: LASAR(196) = 21505: LASAR(205) = 5120: LASAR(206) = 16385 2000 LASAR(214) = 256: LASAR(215) = 64: LASAR(216) = 20: LASAR(224) = 4: LASAR(225) = 256: LASAR(233) = 20480: LASAR(235) = 20480: LASAR(242) = 1280: LASAR(245) = 5: LASAR(252) = 80: LASAR(255) = 80 2010 LASAR(261) = 5: LASAR(264) = 1280: LASAR(270) = 20480: LASAR(274) = 20480: LASAR(279) = 1280: LASAR(284) = 5: LASAR(289) = 80: LASAR(294) = 80: LASAR(298) = 1: LASAR(303) = 1024: LASAR(307) = 5120 2020 LASAR(313) = 16385: LASAR(316) = 256: LASAR(317) = 64: LASAR(323) = 20: LASAR(326) = 20: LASAR(332) = 256: LASAR(333) = 64: LASAR(335) = 16385: LASAR(342) = 5120: LASAR(344) = 5120: LASAR(352) = 16385 2030 LASAR(353) = 256: LASAR(354) = 64: LASAR(362) = 20: LASAR(363) = 20: LASAR(371) = 256: LASAR(372) = 16448: LASAR(381) = 4096 2040 REM * INITIALIZE VARIABLES * 2050 M = INT(RND * 61) + 10: N = INT(RND * 21) + 10: O = INT(RND * 32001) + 70000! 2060 E = INT(RND * 61) + 10: F = INT(RND * 21) + 10: G = 25000 2070 H = INT(RND * 61) + 10: i = INT(RND * 21) + 10: J = INT(RND * 32001) + 40000! 2080 Q = 5: Z = 3 2090 IMX = 38: IMY = 21: IMR1 = 1: IMR2 = 1 2100 DVX = 38: DVY = 21: DVR1 = 1: DVR2 = 1 2110 IF SKILL = 0 THEN A1 = 5: A2 = 0: BYPASS = 3 2120 IF SKILL = 1 THEN A1 = 3: A2 = 0: BYPASS = 2 2130 IF SKILL = 2 THEN A1 = 2: A2 = 45: BYPASS = 1 2140 IF SKILL = 3 THEN A1 = 2: A2 = 30 2150 K$ = "5" 2160 LINE (1, 1)-(76, 42), 3, B 2170 DRAW "C3;BM2,21;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+12,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0" 2180 DRAW "C3;BM38,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,6;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0" 2190 LOCATE 8, 1: PRINT "REPUBLIC X-WING STAR FIGHTER" 2200 LOCATE 10, 5: PRINT "TORPEDOES" 2210 LOCATE 12, 1: PRINT "HOR. VERT. DIRECTION" 2220 LOCATE 15, 1: PRINT "SPEED MACH" 2230 LOCATE 17, 1: PRINT "RADAR TARGETS" 2240 LOCATE 18, 8: PRINT "KM TO IMPERIAL FIGHTER" 2250 LOCATE 19, 8: PRINT "KM TO DARTH VADER" 2260 LOCATE 20, 8: PRINT "KM TO DEATH STAR" 2270 LOCATE 22, 1: PRINT "TIME REMAINING" 2280 PLAY "T250" 2290 SEC1 = VAL(RIGHT$(TIME$, 2)) 2300 GOSUB 1180 2310 REM * MASTER CONTROL ROUTINE * 2320 GOSUB 1190 2330 PUT (38, 21), DS1 2340 LOCATE 10, 1: PRINT Z 2350 LOCATE 13, 1: PRINT W; " "; -V 2360 LOCATE 15, 12: PRINT Q * 10 2370 GS = G - S: IF GS < 0 THEN GS = 0 2380 LOCATE 18, 1: PRINT GS 2390 JS = J - S: IF JS < 0 THEN JS = 0 2400 LOCATE 19, 1: PRINT JS 2410 OS = O - S: IF OS < 0 THEN OS = 0 2420 LOCATE 20, 1: PRINT OS 2430 LOCATE 22, 16: PRINT A1; ":"; A2NEW 2440 SOUND 37 * Q, 1 2450 PUT (38, 21), DS1 2460 GOSUB 1180 2470 REM * DISPLAY DEATH STAR * 2480 IF O - S = 30000 OR O - S > 30000 GOTO 2840 2490 IF O - S < 20000 AND DSTAR2 = 0 THEN DSTAR2 = 1: DSFLAG = 1: DS(0) = DS2(0): DS(1) = DS2(1): DS(2) = DS2(2): DS(3) = DS2(3) 2500 IF O - S < 10000 AND DSTAR3 = 0 THEN DSTAR3 = 1: DSFLAG = 2: DS(0) = DS3(0): DS(1) = DS3(1): DS(2) = DS3(2): DS(3) = DS3(3) 2510 IF O - S < 5000 AND DSTAR4 = 0 THEN DSTAR4 = 1: DSFLAG = 3: DS(0) = DS4(0): DS(1) = DS4(1): DS(2) = DS4(2): DS(3) = DS4(3): DS(4) = DS4(4): DS(5) = DS4(5): DS(6) = DS4(6): DS(7) = DS4(7): DS(8) = DS4(8) 2520 IF FLAG1 <> BYPASS THEN FLAG1 = FLAG1 + 1: GOTO 2550 2530 FLAG1 = 0 2540 M = M + INT(RND * 5) - 2: N = N + INT(RND * 5) - 2 2550 M = M - W: N = N - V 2560 IF M < 2 THEN M = 2 + INT(RND * 3) 2570 IF M > 69 THEN M = 69 - INT(RND * 3) 2580 IF N < 2 THEN N = 2 + INT(RND * 3) 2590 IF N > 35 THEN N = 35 - INT(RND * 3) 2600 GOSUB 1190 2610 PUT (M, N), DS 2620 IF DSNEW = 0 THEN DSNEW = 1: GOTO 2680 2630 IF DSFLAG = 0 GOTO 2670 2640 IF DSFLAG = 1 THEN DSFLAG = 0: PUT (MP, NP), DS1: GOTO 2680 2650 IF DSFLAG = 2 THEN DSFLAG = 0: PUT (MP, NP), DS2: GOTO 2680 2660 IF DSFLAG = 3 THEN DSFLAG = 0: PUT (MP, NP), DS3: GOTO 2680 2670 PUT (MP, NP), DS 2680 GOSUB 1180 2690 MP = M: NP = N 2700 IF O - S > 10000 OR FLAG = 1 GOTO 2840 2710 GOSUB 1190 2720 FOR K = 1 TO 2 2730 LOCATE 24, 1: PRINT "*** DEATH STAR WITHIN TORPEDO RANGE ***"; 2740 PLAY "L2 N0" 2750 LOCATE 24, 1: PRINT " "; 2760 PLAY "L16 N0" 2770 NEXT K 2780 LOCATE 24, 1: PRINT "*** DEATH STAR WITHIN TORPEDO RANGE ***"; 2790 PLAY "L1 N0": PLAY "L1 N0" 2800 LOCATE 24, 1: PRINT " "; 2810 GOSUB 1180 2820 FLAG = 1 2830 REM * DISPLAY IMPERIAL FIGHTER * 2840 GOSUB 1190 2850 IF G - S > 26000 THEN GOSUB 1180: GOTO 3910 2860 IF G - S < 20000 AND IMPFIGH2 = 0 THEN IMPFIGH2 = 1: IMFLAG = 1: IM(0) = IM2(0): IM(1) = IM2(1): IM(2) = IM2(2): IM(3) = IM2(3): IMX = 37: IMY = 20: IMR1 = 2: IMR2 = 2 2870 IF G - S < 10000 AND IMPFIGH3 = 0 THEN IMPFIGH3 = 1: IMFLAG = 2: IM(0) = IM3(0): IM(1) = IM3(1): IM(2) = IM3(2): IM(3) = IM3(3): IM(4) = IM3(4): IM(5) = IM3(5): IM(6) = IM3(6): IMX = 35: IMY = 19: IMR1 = 4: IMR2 = 3 2880 IF FLAG2 <> BYPASS THEN FLAG2 = FLAG2 + 1: GOTO 2910 2890 FLAG2 = 0 2900 E = E + INT(RND * 5) - 2: F = F + INT(RND * 5) - 2 2910 E = E - W: F = F - V 2920 IF E < 2 THEN E = 2 + INT(RND * 3) 2930 IF E > 69 THEN E = 69 - INT(RND * 3) 2940 IF F < 2 THEN F = 2 + INT(RND * 3) 2950 IF F > 37 THEN F = 37 - INT(RND * 3) 2960 PUT (E, F), IM 2970 IF IMNEW = 0 THEN IMNEW = 1: GOTO 3020 2980 IF IMFLAG = 0 GOTO 3010 2990 IF IMFLAG = 1 THEN IMFLAG = 0: PUT (EP, FP), IM1: GOTO 3020 3000 IF IMFLAG = 2 THEN IMFLAG = 0: PUT (EP, FP), IM2: GOTO 3020 3010 PUT (EP, FP), IM 3020 GOSUB 1180 3030 EP = E: FP = F 3040 IF G - S > 5000 OR FLAG3 = 1 GOTO 3170 3050 GOSUB 1190 3060 FOR K = 1 TO 2 3070 LOCATE 24, 1: PRINT "**** IMPERIAL FIGHTER ATTACKS ****"; 3080 PLAY "L2 N0" 3090 LOCATE 24, 1: PRINT " "; 3100 PLAY "L16 N0" 3110 NEXT K 3120 LOCATE 24, 1: PRINT "**** IMPERIAL FIGHTER ATTACKS ****"; 3130 PLAY "L1 N0": PLAY "L1 N0" 3140 LOCATE 24, 1: PRINT " "; 3150 GOSUB 1180 3160 FLAG3 = 1 3170 IF G > S THEN GOTO 3910 3180 REM * IMPERIAL FIGHTER ATTACKS * 3190 FLAG3 = 0: IMNEW = 0: IMNEW1 = 0: IMPFIGH2 = 0: IMPFIGH3 = 0: PUT (E, F), IM 3200 GOSUB 1190 3210 DELTAX = 29 - E: DELTAY = 19 - F 3220 IF DELTAX > 0 THEN E = E + 1 3230 IF DELTAX < 0 THEN E = E - 1 3240 IF DELTAY > 0 THEN F = F + 1 3250 IF DELTAY < 0 THEN F = F - 1 3260 IF DELTAX = 0 AND DELTAY = 0 GOTO 3320 3270 PUT (E, F), IM: IF IMNEW1 = 0 THEN IMNEW1 = 1: GOTO 3290 3280 PUT (EP, FP), IM 3290 EP = E: FP = F 3300 PLAY "P32" 3310 GOTO 3210 3320 PUT (EP - 4, FP - 1), IM4 3330 PUT (EP, FP), IM 3340 PLAY "P4" 3350 PUT (EP - 9, FP - 2), IM5 3360 PUT (EP - 4, FP - 1), IM4 3370 PLAY "P4" 3380 PUT (EP - 12, FP - 6), IM6 3390 PUT (EP - 9, FP - 2), IM5 3400 PLAY "P4" 3410 PUT (EP - 9, FP - 7), IM7 3420 PUT (EP - 12, FP - 6), IM6 3430 PLAY "P4" 3440 PUT (EP - 20, FP - 14), IM8 3450 PUT (EP - 9, FP - 7), IM7 3460 PLAY "P4" 3470 PUT (EP - 20, FP - 14), IM8 3480 FOR J2 = 10000 TO 100 STEP -500 3490 SOUND J2, .001 * 18.2 3500 NEXT J2 3510 FOR A = 1 TO 50: NEXT A 3520 FOR J2 = 10000 TO 100 STEP -500 3530 SOUND J2, .001 * 18.2 3540 NEXT J2 3550 G = G + 25000 3560 E = INT(RND * 61) + 10: F = INT(RND * 21) + 10 3570 K = INT(RND * 10) 3580 IF K > SKILL THEN 3790 3590 KEY(1) OFF: KEY(2) OFF: KEY(11) OFF: KEY(12) OFF: KEY(13) OFF: KEY(14) OFF 3600 CLS 3610 PRINT "BLAM!" 3620 FOR J2 = 1000 TO 37 STEP -10 3630 SOUND J2, .01 * 18.2 3640 NEXT J2 3650 PRINT 3660 PLAY "L1 N0": PLAY "L1 N0": PLAY "L1 N0" 3670 PRINT "YOU HAVE JUST BEEN SHOT DOWN BY AN"; 3680 PRINT "IMPERIAL SKY FIGHTER!" 3690 PRINT 3700 PLAY "L1 N0": PLAY "L1 N0": PLAY "L1 N0" 3710 PRINT "YOU ARE A HERO!" 3720 PRINT 3730 PRINT "UNFORTUNATELY, YOU ARE A DEAD HERO AND"; 3740 PRINT "DEAD HEROES DON'T WIN WARS. DARTH VADER"; 3750 PRINT "WINS!" 3760 PRINT 3770 PRINT "********* YOU LOSE!! *********" 3780 GOTO 5310 3790 FOR K = 1 TO 2 3800 LOCATE 24, 1: PRINT "**** IMPERIAL FIGHTER MISSED ****"; 3810 PLAY "L2 N0" 3820 LOCATE 24, 1: PRINT " "; 3830 PLAY "L16 N0" 3840 NEXT K 3850 LOCATE 24, 1: PRINT "**** IMPERIAL FIGHTER MISSED ****"; 3860 PLAY "L1 N0": PLAY "L1 N0" 3870 LOCATE 24, 1: PRINT " "; 3880 IM(0) = IM1(0): IM(1) = IM1(1): IM(2) = IM1(2): IM(3) = IM1(3): IM(4) = IM1(4): IM(5) = IM1(5): IM(6) = IM1(6) 3890 GOSUB 1180 3900 REM * DISPLAY DARTH VADER * 3910 GOSUB 1190 3920 IF J - S > 26000 THEN GOSUB 1180: GOTO 5140 3930 IF J - S < 20000 AND DVADER2 = 0 THEN DVADER2 = 1: DVFLAG = 1: DV(0) = DV2(0): DV(1) = DV2(1): DV(2) = DV2(2): DV(3) = DV2(3): DVX = 37: DVY = 20: DVR1 = 2: DVR2 = 2 3940 IF J - S < 10000 AND DVADER3 = 0 THEN DVADER3 = 1: DVFLAG = 2: DV(0) = DV3(0): DV(1) = DV3(1): DV(2) = DV3(2): DV(3) = DV3(3): DV(4) = DV3(4): DV(5) = DV3(5): DV(6) = DV3(6): DVX = 35: DVY = 19: DVR1 = 4: DVR2 = 3 3950 IF FLAG2 <> BYPASS THEN FLAG2 = FLAG2 + 1: GOTO 3980 3960 FLAG2 = 0 3970 H = H + INT(RND * 5) - 2: i = i + INT(RND * 5) - 2 3980 H = H - W: i = i - V 3990 IF H < 2 THEN H = 2 + INT(RND * 3) 4000 IF H > 69 THEN H = 69 - INT(RND * 3) 4010 IF i < 2 THEN i = 2 + INT(RND * 3) 4020 IF i > 37 THEN i = 37 - INT(RND * 3) 4030 PUT (H, i), DV 4040 IF DVNEW = 0 THEN DVNEW = 1: GOTO 4090 4050 IF DVFLAG = 0 GOTO 4080 4060 IF DVFLAG = 1 THEN DVFLAG = 0: PUT (HP, IP), DV1: GOTO 4090 4070 IF DVFLAG = 2 THEN DVFLAG = 0: PUT (HP, IP), DV2: GOTO 4090 4080 PUT (HP, IP), DV 4090 GOSUB 1180 4100 HP = H: IP = i 4110 IF J - S > 5000 OR FLAG4 = 1 GOTO 4350 4120 GOSUB 1190 4130 IF DVGONE = 0 GOTO 4240 4140 FOR K = 1 TO 2 4150 LOCATE 24, 1: PRINT "**** IMPERIAL FIGHTER ATTACKS ****"; 4160 PLAY "L2 N0" 4170 LOCATE 24, 1: PRINT " "; 4180 PLAY "L16 N0" 4190 NEXT K 4200 LOCATE 24, 1: PRINT "**** IMPERIAL FIGHTER ATTACKS ****"; 4210 PLAY "L1 N0": PLAY "L1 N0" 4220 LOCATE 24, 1: PRINT " "; 4230 GOTO 4330 4240 FOR K = 1 TO 2 4250 LOCATE 24, 1: PRINT "**** DARTH VADER ATTACKS ****"; 4260 PLAY "L2 N0" 4270 LOCATE 24, 1: PRINT " "; 4280 PLAY "L16 N0" 4290 NEXT K 4300 LOCATE 24, 1: PRINT "**** DARTH VADER ATTACKS ****"; 4310 PLAY "L1 N0": PLAY "L1 N0" 4320 LOCATE 24, 1: PRINT " "; 4330 FLAG4 = 1 4340 GOSUB 1180 4350 IF J > S THEN GOTO 5140 4360 REM * DARTH VADER ATTACKS * 4370 FLAG4 = 0: DVNEW = 0: DVNEW1 = 0: DVADER2 = 0: DVADER3 = 0: PUT (H, i), DV 4380 GOSUB 1190 4390 DELTAX = 41 - H: DELTAY = 19 - i 4400 IF DELTAX > 0 THEN H = H + 1 4410 IF DELTAX < 0 THEN H = H - 1 4420 IF DELTAY > 0 THEN i = i + 1 4430 IF DELTAY < 0 THEN i = i - 1 4440 IF DELTAX = 0 AND DELTAY = 0 GOTO 4500 4450 PUT (H, i), DV: IF DVNEW1 = 0 THEN DVNEW1 = 1: GOTO 4470 4460 PUT (HP, IP), DV 4470 HP = H: IP = i 4480 PLAY "P32" 4490 GOTO 4390 4500 IF DVGONE = 0 THEN PUT (HP, IP - 1), DV4 ELSE PUT (HP, IP - 1), IM4 4510 PUT (HP, IP), DV 4520 PLAY "P4" 4530 IF DVGONE = 0 THEN PUT (HP + 3, IP - 2), DV5 ELSE PUT (HP + 3, IP - 2), IM5 4540 IF DVGONE = 0 THEN PUT (HP, IP - 1), DV4 ELSE PUT (HP, IP - 1), IM4 4550 PLAY "P4" 4560 IF DVGONE = 0 THEN PUT (HP + 2, IP - 6), DV6 ELSE PUT (HP + 2, IP - 6), IM6 4570 IF DVGONE = 0 THEN PUT (HP + 3, IP - 2), DV5 ELSE PUT (HP + 3, IP - 2), IM5 4580 PLAY "P4" 4590 IF DVGONE = 0 THEN PUT (HP + 1, IP - 6), DV7 ELSE PUT (HP + 1, IP - 6), IM7 4600 IF DVGONE = 0 THEN PUT (HP + 2, IP - 6), DV6 ELSE PUT (HP + 2, IP - 6), IM6 4610 PLAY "P4" 4620 IF DVGONE = 0 THEN PUT (HP + 2, IP - 6), DV8 ELSE PUT (HP + 2, IP - 6), IM8 4630 IF DVGONE = 0 THEN PUT (HP + 1, IP - 6), DV7 ELSE PUT (HP + 1, IP - 6), IM7 4640 PLAY "P4" 4650 IF DVGONE = 0 THEN PUT (HP + 2, IP - 6), DV8 ELSE PUT (HP + 2, IP - 6), IM8 4660 FOR J2 = 10000 TO 100 STEP -500 4670 SOUND J2, .001 * 18.2 4680 NEXT J2 4690 FOR A = 1 TO 50: NEXT A 4700 FOR J2 = 10000 TO 100 STEP -500 4710 SOUND J2, .001 * 18.2 4720 NEXT J2 4730 J = J + 25000 4740 H = INT(RND * 61) + 10: i = INT(RND * 21) + 10 4750 K = INT(RND * 10) 4760 IF K > SKILL + 1 THEN 4910 4770 KEY(1) OFF: KEY(2) OFF: KEY(11) OFF: KEY(12) OFF: KEY(13) OFF: KEY(14) OFF 4780 CLS : PRINT "**** B O O M ! ****" 4790 FOR J2 = 1000 TO 37 STEP -10 4800 SOUND J2, .01 * 18.2 4810 NEXT J2 4820 PRINT 4830 PLAY "L1 N0": PLAY "L1 N0": PLAY "L1 N0" 4840 IF DVGONE = 1 THEN PRINT "TOO BAD. YOU HAVE BEEN SHOT DOWN.": GOTO 4880 4850 PRINT "YOU HAVE JUST BEEN PERSONALLY SHOT DOWN"; 4860 PRINT "BY DARTH VADER. THE FORCE WAS NOT WITH"; 4870 PRINT "YOU." 4880 PRINT 4890 PRINT "********* YOU LOSE!! *********" 4900 GOTO 5310 4910 IF DVGONE = 0 GOTO 5030 4920 FOR K = 1 TO 2 4930 LOCATE 24, 1: PRINT "**** IMPERIAL FIGHTER MISSED ****"; 4940 PLAY "L2 N0" 4950 LOCATE 24, 1: PRINT " "; 4960 PLAY "L16 N0" 4970 NEXT K 4980 LOCATE 24, 1: PRINT "**** IMPERIAL FIGHTER MISSED ****"; 4990 PLAY "L1 N0": PLAY "L1 N0" 5000 LOCATE 24, 1: PRINT " "; 5010 DV(0) = DV1(0): DV(1) = DV1(1): DV(2) = DV1(2): DV(3) = DV1(3) 5020 GOTO 5140 5030 FOR K = 1 TO 2 5040 LOCATE 24, 1: PRINT "**** DARTH VADER MISSED ****"; 5050 PLAY "L2 N0" 5060 LOCATE 24, 1: PRINT " "; 5070 PLAY "L16 N0" 5080 NEXT K 5090 LOCATE 24, 1: PRINT "**** DARTH VADER MISSED ****"; 5100 PLAY "L1 N0": PLAY "L1 N0" 5110 LOCATE 24, 1: PRINT " "; 5120 DV(0) = DV1(0): DV(1) = DV1(1): DV(2) = DV1(2): DV(3) = DV1(3): DV(4) = DV1(4): DV(5) = DV1(5): DV(6) = DV1(6) 5130 REM * X - WING FIGHTER ROUTINE * 5140 GOSUB 1180 5150 Z$ = INKEY$ 5160 IF VAL(Z$) > 0 AND VAL(Z$) < 10 THEN Q = VAL(Z$) 5170 S = S + Q * 100 5180 IF S > O GOTO 6410 5190 REM * TIME ROUTINE * 5200 SEC2 = VAL(RIGHT$(TIME$, 2)) 5210 SECNEW = SEC2 5220 IF SECNEW = SECOLD GOTO 5280 5230 IF SECNEW < SECOLD THEN N8 = N8 + 1 5240 SECOLD = SEC2 5250 A2NEW = A2 - (SEC2 + (60 * N8) - SEC1) 5260 IF A2NEW < 0 THEN A2NEW = A2NEW + 60: A1 = A1 - 1: A2 = A2 + 60 5270 IF A1 < 0 GOTO 6760 5280 GOTO 2320 5290 REM * DISPLAY SKY FIGHTER * 5300 IF J - S < 10000 THEN A = 3 5310 REM * NEW GAME * 5320 PRINT 5330 PRINT "HIT ENTER TO PLAY AGAIN, ESC TO GIVE UP" 5340 B$ = INKEY$: IF B$ = CHR$(13) THEN GOTO 1300 ELSE IF B$ = CHR$(27) THEN CLS : WIDTH 80: SCREEN 0: KEY ON: GOTO 9911 ELSE GOTO 5340 5350 REM * FIRE CANNON * 5360 KEY(2) STOP: KEY(11) STOP: KEY(12) STOP: KEY(13) STOP: KEY(14) STOP 5370 PUT (2, 2), LASAR 5380 FOR J2 = 5000 TO 100 STEP -250 5390 SOUND J2, .01 * 18.2 5400 NEXT J2 5410 PUT (2, 2), LASAR 5420 IF G - S < 26000 AND ABS(IMX - E) < IMR1 AND ABS(IMY - F) < IMR2 GOTO 5450 5430 IF J - S < 26000 AND ABS(DVX - H) < DVR1 AND ABS(DVY - i) < DVR2 GOTO 5580 5440 GOTO 5730 5450 FOR I9 = 1 TO 2: PUT (E - 2, F - 3), EXPL3: PLAY "P64": PUT (E - 2, F - 3), EXPL3: NEXT I9 5460 FOR I9 = 1 TO 2: PUT (E - 2, F - 3), EXPL4: PLAY "P64": PUT (E - 2, F - 3), EXPL4: NEXT I9 5470 PUT (E, F), IM 5480 IF IMR2 = 1 GOTO 5540 5490 FOR I9 = 1 TO 2: PUT (E - 2, F - 3), EXPL5: PLAY "P64": PUT (E - 2, F - 3), EXPL5: NEXT I9 5500 FOR I9 = 1 TO 2: PUT (E - 2, F - 3), EXPL6: PLAY "P64": PUT (E - 2, F - 3), EXPL6: NEXT I9 5510 IF IMR2 = 2 GOTO 5540 5520 FOR I9 = 1 TO 2: PUT (E - 2, F - 3), EXPL7: PLAY "P64": PUT (E - 2, F - 3), EXPL7: NEXT I9 5530 FOR I9 = 1 TO 2: PUT (E - 2, F - 3), EXPL8: PLAY "P64": PUT (E - 2, F - 3), EXPL8: NEXT I9 5540 G = G + 25000: E = INT(RND * 61) + 10: F = INT(RND * 21) + 10: FLAG3 = 0: IMNEW = 0: IMPFIGH2 = 0: IMPFIGH3 = 0 5550 IMX = 38: IMY = 21: IMR1 = 1: IMR2 = 1 5560 IM(0) = IM1(0): IM(1) = IM1(1): IM(2) = IM1(2): IM(3) = IM1(3): IM(4) = IM1(4): IM(5) = IM1(5): IM(6) = IM1(6) 5570 GOTO 5730 5580 FOR I9 = 1 TO 2: PUT (H - 2, i - 3), EXPL3: PLAY "P64": PUT (H - 2, i - 3), EXPL3: NEXT I9 5590 FOR I9 = 1 TO 2: PUT (H - 2, i - 3), EXPL4: PLAY "P64": PUT (H - 2, i - 3), EXPL4: NEXT I9 5600 PUT (H, i), DV 5610 IF DVR2 = 1 GOTO 5670 5620 FOR I9 = 1 TO 2: PUT (H - 2, i - 3), EXPL5: PLAY "P64": PUT (H - 2, i - 3), EXPL5: NEXT I9 5630 FOR I9 = 1 TO 2: PUT (H - 2, i - 3), EXPL6: PLAY "P64": PUT (H - 2, i - 3), EXPL6: NEXT I9 5640 IF DVR2 = 2 GOTO 5670 5650 FOR I9 = 1 TO 2: PUT (H - 2, i - 3), EXPL7: PLAY "P64": PUT (H - 2, i - 3), EXPL7: NEXT I9 5660 FOR I9 = 1 TO 2: PUT (H - 2, i - 3), EXPL8: PLAY "P64": PUT (H - 2, i - 3), EXPL8: NEXT I9 5670 J = J + 25000: H = INT(RND * 61) + 10: i = INT(RND * 21) + 10: FLAG4 = 0: LOCATE 19, 8: PRINT "KM TO IMPERIAL FIGHTER"; 5680 DVNEW = 0: DVADER2 = 0: DVADER3 = 0 5690 DVX = 38: DVY = 21: DVR1 = 1: DVR2 = 1 5700 IF DVGONE = 0 THEN DV3(0) = IM3(0): DV3(1) = IM3(1): DV3(2) = IM3(2): DV3(3) = IM3(3): DV3(4) = IM3(4): DV3(5) = IM3(5): DV3(6) = IM3(6) 5710 DV(0) = DV1(0): DV(1) = DV1(1): DV(2) = DV1(2): DV(3) = DV1(3): DV(4) = DV1(4): DV(5) = DV1(5): DV(6) = DV1(6) 5720 DVGONE = 1 5730 KEY(2) ON: KEY(11) ON: KEY(12) ON: KEY(13) ON: KEY(14) ON 5740 RETURN 5750 REM * FIRE TORPEDO * 5760 KEY(1) STOP: KEY(11) STOP: KEY(12) STOP: KEY(13) STOP: KEY(14) STOP 5770 IF Z = 0 THEN 3600 5780 FOR J2 = 1500 TO 100 STEP -20 5790 SOUND J2, .01 * 18.2 5800 SOUND 3600 - J2, .01 * 18.2 5810 NEXT J2 5820 Z = Z - 1 5830 IF O - S > 10000 THEN 5990 5840 IF POINT(38, 21) <> 3 THEN 5880 5850 IF SKILL = 0 GOTO 6100 5860 K = INT(RND * 10) 5870 IF K > SKILL + 1 THEN 6100 5880 FOR K = 1 TO 2 5890 LOCATE 24, 1: PRINT "**** TORPEDO MISSED ****"; 5900 PLAY "L2 N0" 5910 LOCATE 24, 1: PRINT " "; 5920 PLAY "L16 N0" 5930 NEXT K 5940 LOCATE 24, 1: PRINT "**** TORPEDO MISSED ****"; 5950 PLAY "L1 N0": PLAY "L1 N0" 5960 LOCATE 24, 1: PRINT " "; 5970 IF Z <= 0 THEN 4780 5980 GOTO 6080 5990 FOR K = 1 TO 2 6000 LOCATE 24, 1: PRINT "**** OUT OF RANGE ****"; 6010 PLAY "L2 N0" 6020 LOCATE 24, 1: PRINT " "; 6030 PLAY "L16 N0" 6040 NEXT K 6050 LOCATE 24, 1: PRINT "**** OUT OF RANGE ****"; 6060 PLAY "L1 N0": PLAY "L1 N0" 6070 LOCATE 24, 1: PRINT " "; 6080 KEY(1) ON: KEY(11) ON: KEY(12) ON: KEY(13) ON: KEY(14) ON 6090 RETURN 6100 REM * GAME WON * 6110 KEY(1) OFF: KEY(2) OFF: KEY(11) OFF: KEY(12) OFF: KEY(13) OFF: KEY(14) OFF 6120 FOR SCALE = 1 TO 24 6130 DRAW "C3;S=SCALE;BM38,21;NM+6,0;NM-6,0;NM+0,-3;NM+0,3;NM-6,3;NM+6,-3;NM-6,-3;NM+6,3;NM+3,-3;NM-3,3;NM+3,3;NM-3,-3;NM+6,2;NM-6,-2;NM-6,1;NM+6,-1;NM+1,3;NM-1,-3" 6140 NEXT SCALE 6150 CLS 6160 FOR K = 1 TO 5 6170 SOUND 37, .1 * 18.2 6180 SCREEN 0: WIDTH 40 6190 FOR A = 1 TO 10: NEXT A 6200 SCREEN 1: WIDTH 80 6210 NEXT K 6220 WIDTH 40 6230 CLS : PRINT : PRINT : PRINT 6240 PRINT "* * * * * * * * * * * * * * * * * * * *"; 6250 PRINT "* *"; 6260 PRINT "* *"; 6270 PRINT "* THE FORCE IS WITH YOU !! *"; 6280 PRINT "* *"; 6290 PRINT "* YOU HAVE DESTROYED THE DEATH STAR ! *"; 6300 PRINT "* *"; 6310 PRINT "* YOU HAVE SAVED THE REPUBLIC ! *"; 6320 PRINT "* *"; 6330 PRINT "* PRINCESS LEAH WILL LOVE YOU ALWAYS! *"; 6340 PRINT "* *"; 6350 PRINT "* * * * * * * * * * * * * * * * * * * *" 6360 SOUND 525.25, 18.2: SOUND 783.99, 18.2 / 2: SOUND 698.46, 18.2 / 6: SOUND 659.26, 18.2 / 6: SOUND 587.33, 18.2 / 6: SOUND 1046.6, 18.2: SOUND 783.99, 18.2 / 2: SOUND 698.46, 18.2 / 6: SOUND 659.26, 18.2 / 6: SOUND 587.33, 18.2 / 6 6370 SOUND 1046.5, 18.2: SOUND 783.99, 18.2 / 2: SOUND 698.46, 18.2 / 6: SOUND 659.26, 18.2 / 6: SOUND 698.46, 18.2 / 6: SOUND 587.33, 18.2 6380 PRINT 6390 GOTO 5310 6400 REM * COLLISION WITH DEATH STAR * 6410 KEY(1) OFF: KEY(2) OFF: KEY(11) OFF: KEY(12) OFF: KEY(13) OFF: KEY(14) OFF 6420 DELTAX = 35 - M: DELTAY = 18 - N 6430 IF DELTAX > 0 THEN M = M + 1 6440 IF DELTAX < 0 THEN M = M - 1 6450 IF DELTAY > 0 THEN N = N + 1 6460 IF DELTAY < 0 THEN N = N - 1 6470 IF DELTAX = 0 AND DELTAY = 0 GOTO 6530 6480 PUT (M, N), DS 6490 PUT (MP, NP), DS 6500 MP = M: NP = N 6510 PLAY "P32" 6520 GOTO 6420 6530 FOR RAD = 4 TO 20 6540 CIRCLE (38, 21), RAD, 3 6550 PLAY "P32" 6560 NEXT RAD 6570 CLS : PRINT "CRASH" 6580 FOR J2 = 1000 TO 37 STEP -10 6590 SOUND J2, .01 * 18.2 6600 NEXT J2 6610 PLAY "L1 N0": PLAY "L1 N0": PLAY "L1 N0" 6620 PRINT 6630 PRINT "DARTH VADER IS LAUGHING AT YOU." 6640 PLAY "L1 N0": PLAY "L1 N0": PLAY "L1 N0" 6650 PRINT 6660 PRINT "YOU HAVE JUST COLLIDED WITH THE DEATH"; 6670 PRINT "STAR. THEY DID NOT EVEN HEAR THE"; 6680 PRINT "COLLISION. YOU DID NOT EVEN SCRATCH"; 6690 PRINT "THE DEATH STAR'S PAINT, BUT YOU ARE "; 6700 PRINT "DEAD!" 6710 PRINT 6720 PRINT "********* YOU LOSE!! *********" 6730 PRINT 6740 GOTO 5310 6750 REM * OUT OF TIME * 6760 KEY(1) OFF: KEY(2) OFF: KEY(11) OFF: KEY(12) OFF: KEY(13) OFF: KEY(14) OFF 6770 CLS : PRINT "TOO LATE!" 6780 FOR J2 = 1000 TO 37 STEP -10 6790 SOUND J2, .01 * 18.2 6800 NEXT J2 6810 PLAY "L1 N0": PLAY "L1 N0": PLAY "L1 N0" 6820 PRINT 6830 PRINT "DARTH VADER IS LAUGHING AT YOU." 6840 PLAY "L1 N0": PLAY "L1 N0": PLAY "L1 N0" 6850 PRINT 6860 PRINT "THE DEATH STAR HAS JUST DESTROYED"; 6870 PRINT "PRINCESS LEAH AND THE ENTIRE REBEL"; 6880 PRINT "STRONGHOLD"; 6890 PRINT 6900 PRINT "********* YOU LOSE!! *********" 6910 PRINT 6920 GOTO 5310 6930 CLS 6940 PRINT " STAR PILOT INSTRUCTIONS" 6950 PRINT 6960 PRINT " THE DEATH STAR SPACE STATION, UNDER"; 6970 PRINT "THE COMMAND OF DARTH VADER, IS THE MOST"; 6980 PRINT "POWERFUL WEAPON THE UNIVERSE HAS EVER"; 6990 PRINT "KNOWN. A FRONTAL ATTACK BY ANY OTHER"; 7000 PRINT "CRAFT WOULD BE ABSOLUTE SUICIDE. HOWEVER"; 7010 PRINT "INTELLIGENCE DELIVERED TO OUR REPUBLIC"; 7020 PRINT "HEADQUARTERS BY THE ANDROIDS R2D2 AND"; 7030 PRINT "C3PO GIVES A FAINT HOPE OF A SUCCESSFUL"; 7040 PRINT "ATTACK BY A SMALL ONE OR TWO PASSENGER"; 7050 PRINT "X-WING FIGHTER." 7060 PRINT 7070 PRINT " THERE IS A SMALL, UNSHIELDED EXHAUST"; 7080 PRINT "PORT ON THE SURFACE OF THE DEATH STAR"; 7090 PRINT "THAT LEADS DIRECTLY TO THE MAIN REACTOR."; 7100 PRINT "SINCE IT IS AN EMERGENCY THERMAL PORT IN"; 7110 PRINT "CASE THE REACTOR OVERHEATS, IT COULD NOT"; 7120 PRINT "BE SHIELDED." 7130 PRINT 7140 INPUT " (PRESS ENTER TO CONTINUE)", B$ 7150 CLS 7160 PRINT 7170 PRINT " IF YOU CAN SLIP YOUR SMALL FIGHTER"; 7180 PRINT "PAST THE DEATH STAR'S DEFENSES AND MAKE"; 7190 PRINT "A DIRECT HIT ON THE THERMAL EXHAUST PORT"; 7200 PRINT "WITH A TORPEDO, THERE IS A CHANCE THAT"; 7210 PRINT "THE TORPEDO WILL PENETRATE TO THE"; 7220 PRINT "MAIN REACTOR AND START A CHAIN REACTION,"; 7230 PRINT "DESTROYING THE DEATH STAR." 7240 PRINT 7250 PRINT " IT IS A SLIM CHANCE, BUT IT IS THE"; 7260 PRINT "ONLY HOPE THE REPUBLIC HAS. OBI-WAN"; 7270 PRINT "KENOBI GAVE HIS LIFE TO GET THE MESSAGE"; 7280 PRINT "HERE, SO HE CONSIDERED IT IMPORTANT." 7290 PRINT : PRINT : PRINT : PRINT 7300 PRINT "PRESS ENTER FOR X-WING FIGHTER "; 7310 INPUT " FAMILIARIZATION", B$ 7320 CLS 7330 PRINT " REPUBLIC X-WING FIGHTER " 7340 PRINT 7350 PRINT " THE X-WING FIGHTER IS A SMALL ONE"; 7360 PRINT "MAN SPACESHIP THAT IS, QUITE FRANKLY,"; 7370 PRINT "OBSOLETE. IT IS ARMED ONLY WITH A LASER"; 7380 PRINT "CANNON AND THREE TORPEDOES. USE THE"; 7390 PRINT "LASER CANNON TO FIGHT OFF ANY IMPERIAL"; 7400 PRINT "FIGHTERS AND SAVE THE TORPEDOES FOR THE"; 7410 PRINT "DEATH STAR." 7420 PRINT 7430 PRINT " THE TARGET ACQUISITION RADAR CAN"; 7440 PRINT "DETECT IN EXCESS OF 100,000 KILOMETERS"; 7450 PRINT "AWAY, BUT CAN ONLY DISPLAY TARGETS WITH-"; 7460 PRINT "IN 20,000 KM. THEREFORE, YOU WILL BE"; 7470 PRINT "WARNED OF APPROACHING TARGETS ON YOUR"; 7480 PRINT "CONTROL PANEL BEFORE THEY ARE DISPLAYED"; 7490 PRINT "ON THE RADAR SCREEN." 7500 PRINT 7510 INPUT " (PRESS ENTER TO CONTINUE)", B$ 7520 CLS 7530 PRINT 7540 PRINT " THE LASER CANNON IS AN ANTIQUATED"; 7550 PRINT "WEAPON. TO HIT AN ENEMY, YOU MUST HAVE"; 7560 PRINT "HIM IN THE EXACT CENTER OF THE CROSS"; 7570 PRINT "HAIRS ON YOUR RADAR SCREEN. THEN YOU MAY"; 7580 PRINT "FIRE THE LASER CANNON BY TYPING THE F1"; 7590 PRINT "KEY ON YOUR CONTROL PANEL." 7600 PRINT 7610 PRINT " YOUR THREE TORPEDOES ARE COMPUTER"; 7620 PRINT "GUIDED, BUT ALSO QUITE LIMITED. MAKE"; 7630 PRINT "SURE THAT YOU ARE WITHIN 10000 KM OF THE"; 7640 PRINT "DEATH STAR AND THAT YOU HAVE SOME PART"; 7650 PRINT "OF THE SPACE STATION IN THE CENTER OF"; 7660 PRINT "THE CROSS HAIRS ON YOUR RADAR SCREEN."; 7670 PRINT "EVEN THEN, SINCE IT TAKES A PERFECT HIT"; 7680 PRINT "ON THE EXHAUST PORT TO DESTROY THE DEATH"; 7690 PRINT "STAR, YOU MAY REQUIRE MORE THAN ONE"; 7700 PRINT "TORPEDO. TYPE THE F2 KEY TO FIRE THE"; 7710 PRINT "TORPEDO." 7720 PRINT 7730 INPUT " (PRESS ENTER TO CONTINUE)", B$ 7740 CLS 7750 PRINT 7760 PRINT " THE SPEED OF YOUR SHIP IS CONTROLLED"; 7770 PRINT "BY TYPING THE NUMBERS 1 THROUGH 9 (FOR"; 7780 PRINT "MACH 10 THROUGH 90 RESPECTIVELY). THE"; 7790 PRINT "MOVEMENT OF YOUR SHIP IS CONTROLLED BY"; 7800 PRINT "THE CURSOR CONTROLS. SINCE THESE INPUTS"; 7810 PRINT "MOVE YOUR SHIP AND NOT THE TARGETS, THE"; 7820 PRINT "TARGETS APPEAR TO MOVE IN THE OPPOSITE"; 7830 PRINT "DIRECTION. ALSO, YOU CAN EXPECT THE"; 7840 PRINT "ENEMY TO TAKE EVASIVE ACTION." 7850 PRINT 7860 PRINT " WHEN SELECTING THE SKILL LEVEL, 0 IS"; 7870 PRINT "THE EASIEST GAME AND 3 IS THE HARDEST."; 7880 PRINT "SKILL LEVEL 0 PROVIDES THE BEST CHANCE"; 7890 PRINT "OF BEING MISSED BY THE FIGHTERS AND OF"; 7900 PRINT "HITTING THE DEATH STAR. LEVEL 0 ALSO"; 7910 PRINT "PROVIDES THE LARGEST TIME LIMIT BEFORE"; 7920 PRINT "THE DEATH STAR DESTROYS THE REBEL BASE." 7930 PRINT 7940 PRINT 7950 INPUT "PRESS ENTER FOR TAKE-OFF", B$ 7960 CLS 7970 PRINT "****************************************" 7980 PRINT 7990 PRINT " MAY THE FORCE BE WITH YOU" 8000 PRINT 8010 PRINT "****************************************" 8020 PLAY "L1 N0": PLAY "L1 N0" 8030 GOTO 1300 9911 CLS 999963 END