'===========================================================================
' 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

