'=========================================================================== ' Subject: X-WING FIGHTER Date: 09-28-78 (00:00) ' Author: George Blank Code: QB, QBasic, PDS ' Origin: alt.lang.basic Packet: GAMES.ABC '=========================================================================== 10 KEY OFF: CLS 20 SCREEN 0 30 WIDTH 40 40 PRINT "000000000000000000000000000000000000000" 50 PRINT "0ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD?0" 60 PRINT "03 30" 70 PRINT "03 2060-A.BAS 30" 80 PRINT "03 XWING 30" 90 PRINT "03 30" 100 PRINT "03 30" 110 PRINT "03 BROUGHT TO YOU BY THE MEMBERS OF 30" 120 PRINT "03 \\\\\ \\\\\ \\\\\ \\\\\ 30" 130 PRINT "03 [ [ [ [ [ [ 30" 140 PRINT "03 [ [\\\[ [ [ [ 30" 150 PRINT "03 [ [ [ [ [ 30" 160 PRINT "03 \\[\\ [ [\\\\ [\\\[ 30" 170 PRINT "03 30" 180 PRINT "03 International PC Owners 30" 190 PRINT "03 30" 200 PRINT "03P.O. Box 10426, Pittsburgh PA 1523430" 210 PRINT "03 30" 220 PRINT "0@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY0" 230 PRINT "000000000000000000000000000000000000000" 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 GEORGE BLANK, LEECHBURG, PA. * 1020 REM * FOR PUBLIC DOMAIN UNLESS MOVIEMAKERS OBJECT * 1030 REM * VERSION 4.0 SEPTEMBER 25,1978 * 1040 REM * MODIFIED TO RUN ON THE IBM PC BY ERNEST * 1050 REM * SMITH AND RAYMOND ROGERS, HOUSTON, TEXAS * 1060 REM * DECEMBER 82 * 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: END 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 "DAOFF" 6760 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 "PO, 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