home *** CD-ROM | disk | FTP | other *** search
/ Share Gallery 1 / share_gal_1.zip / share_gal_1 / GAS / GAS02.ZIP / XWING.BAS < prev    next >
BASIC Source File  |  1983-05-29  |  35KB  |  733 lines

  1. 10 KEY OFF:CLS
  2. 20 SCREEN 0
  3. 30 WIDTH 40
  4. 40 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  5. 50 PRINT"░┌───────────────────────────────────┐░"
  6. 60 PRINT"░│                                   │░"
  7. 70 PRINT"░│            2060-A.BAS             │░"
  8. 80 PRINT"░│              XWING                │░"
  9. 90 PRINT"░│                                   │░"
  10. 100 PRINT"░│                                   │░"
  11. 110 PRINT"░│ BROUGHT TO YOU BY THE MEMBERS OF  │░"
  12. 120 PRINT"░│      ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄      │░"
  13. 130 PRINT"░│        █   █   █ █     █   █      │░"
  14. 140 PRINT"░│        █   █▄▄▄█ █     █   █      │░"
  15. 150 PRINT"░│        █   █     █     █   █      │░"
  16. 160 PRINT"░│      ▄▄█▄▄ █     █▄▄▄▄ █▄▄▄█      │░"
  17. 170 PRINT"░│                                   │░"
  18. 180 PRINT"░│      International PC Owners      │░"
  19. 190 PRINT"░│                                   │░"
  20. 200 PRINT"░│P.O. Box 10426, Pittsburgh PA 15234│░"
  21. 210 PRINT"░│                                   │░"
  22. 220 PRINT"░└───────────────────────────────────┘░"
  23. 230 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  24. 240 PRINT
  25. 250 PRINT "       PRESS ANY KEY TO CONTINUE
  26. 260 A$=INKEY$: IF A$="" THEN 260
  27. 270 WIDTH 80
  28. 280 CLS
  29. 1000  REM * STAR PILOT GAME *
  30. 1010  REM * WRITTEN BY GEORGE BLANK, LEECHBURG, PA. *
  31. 1020  REM * FOR  PUBLIC DOMAIN UNLESS MOVIEMAKERS OBJECT *
  32. 1030  REM * VERSION 4.0    SEPTEMBER 25,1978 *
  33. 1040  REM * MODIFIED TO RUN ON THE IBM PC BY ERNEST *
  34. 1050  REM * SMITH AND RAYMOND ROGERS, HOUSTON, TEXAS *
  35. 1060  REM * DECEMBER 82 *
  36. 1070  KEY OFF:CLS:WIDTH 80:DEF SEG=0:A=PEEK(&H410):POKE &H410,(A AND &HCF) OR &H20
  37. 1080  WIDTH 40:SCREEN 1:SCREEN 0:WIDTH 80:WIDTH 40:SCREEN 1:COLOR 0,1
  38. 1090  GOTO 1200
  39. 1100  V=V-1:IF V<-3 THEN V=-3
  40. 1110  RETURN
  41. 1120  W=W-1:IF W<-5 THEN W=-5
  42. 1130  RETURN
  43. 1140  W=W+1:IF W>5 THEN W=5
  44. 1150  RETURN
  45. 1160  V=V+1:IF V>3 THEN V=3
  46. 1170  RETURN
  47. 1180  KEY(1) ON:KEY(2) ON:KEY(11) ON:KEY(12) ON:KEY(13) ON:KEY(14) ON:RETURN
  48. 1190  KEY(1) STOP:KEY(2) STOP:KEY(11) STOP:KEY(12) STOP:KEY(13) STOP:KEY(14) STOP:RETURN
  49. 1200    LOCATE 8,1:PRINT"***************************************";
  50. 1210    PRINT"*                                     *";
  51. 1220    PRINT"*      X W I N G   F I G H T E R      *";
  52. 1230    PRINT"*                                     *";
  53. 1240    PRINT"***************************************";
  54. 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
  55. 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
  56. 1270 LOCATE 16,1:PRINT"DO YOU WANT INSTRUCTIONS (Y OR N)?";
  57. 1280  K$=INKEY$:IF K$="Y" OR K$="y" GOTO 6930
  58. 1290  IF K$<>"N" AND K$<>"n" GOTO 1270
  59. 1300 CLS:CLEAR:DEFINT A-Z:DEFSNG O,G,J,S
  60. 1310 RANDOMIZE(VAL(RIGHT$(TIME$,2)))
  61. 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
  62. 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"
  63. 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
  64. 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
  65. 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
  66. 1370  IM5(13)=-32768!:IM5(14)=128:IM5(15)=-32768!:IM5(16)=128:IM5(17)=-32768!:IM5(18)=128:IM5(19)=-32768!
  67. 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
  68. 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
  69. 1400  DIM IM7(44)
  70. 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
  71. 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
  72. 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
  73. 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
  74. 1450  IM7(40)=2592:IM7(41)=8192:IM7(42)=-21846:IM7(43)=-32598
  75. 1460  DIM IM8(102)
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 1520  IM8(90)=2050:IM8(94)=136:IM8(97)=10240:IM8(101)=8
  82. 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"
  83. 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
  84. 1550  DIM DV4(13)
  85. 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
  86. 1570  DV4(10)=8192:DV4(11)=8:DV4(12)=128
  87. 1580  DIM DV5(20)
  88. 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!
  89. 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
  90. 1610  DIM DV6(32)
  91. 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
  92. 1630  DV6(19)=2176:DV6(21)=2080:DV6(23)=2056:DV6(25)=8194:DV6(27)=-32768!:DV6(29)=2:DV6(31)=168
  93. 1640  DIM DV7(44)
  94. 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
  95. 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
  96. 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
  97. 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
  98. 1690  DV7(40)=546:DV7(41)=-32640:DV7(42)=-22006:DV7(43)=170
  99. 1700  DIM DV8(76)
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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"
  106. 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"
  107. 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
  108. 1790  DIM EXPL3(18):DIM EXPL4(18):DIM EXPL5(18):DIM EXPL6(18):DIM EXPL7(18):DIM EXPL8(18)
  109. 1800  DATA 22,11,0,0,0,8194,0,-32608,-22006,2560,-32598,-22006,128,168,8706,0,0,0,0
  110. 1810  FOR I=0 TO 18:READ EXPL3(I):NEXT I
  111. 1820  DATA 22,11,-30720,2048,136,-30718,-24544,-32608,-22006,-21848,-22358,-22006,-23936,10274,-30206,2048,-32632,-30720,0
  112. 1830  FOR I=0 TO 18:READ EXPL4(I):NEXT I
  113. 1840  DATA 22,11,-30712,512,136,8194,-32760,-24416,-21974,-21976,-22358,-21974,-32608,2216,-30206,512,138,-30712,128
  114. 1850  FOR I=0 TO 18:READ EXPL5(I):NEXT I
  115. 1860  DATA 22,11,-30712,2048,136,8194,-24536,-32608,-22006,-21976,-22358,-22006,-24448,10408,8706,2048,-32632,-30712,128
  116. 1870  FOR I=0 TO 18:READ EXPL6(I):NEXT I
  117. 1880 DATA  22,11,-30688,2048,2080,8194,-32736,-32608,-21974,-22008,-22358,-22006,-24448,10408,8706,2048,-32632,-30688,32
  118. 1890  FOR I=0 TO 18:READ EXPL7(I):NEXT I
  119. 1900  DATA 22,11,-30688,2048,2184,-30718,-24544,-32608,-22006,-21848,-22358,-22006,-23936,10274,-30206,2048,-32632,-30688,32
  120. 1910  FOR I=0 TO 18:READ EXPL8(I):NEXT I
  121. 1920  LOCATE 17,1:PRINT "SELECT SKILL LEVEL FROM 0 TO 3"
  122. 1930  S$=INKEY$:IF S$<>"0" AND S$<>"1" AND S$<>"2" AND S$<>"3" GOTO 1920
  123. 1940  SKILL=VAL(S$):CLS
  124. 1950  DIM LASAR(381)
  125. 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
  126. 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
  127. 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
  128. 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
  129. 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
  130. 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
  131. 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
  132. 2030  LASAR(353)=256:LASAR(354)=64:LASAR(362)=20:LASAR(363)=20:LASAR(371)=256:LASAR(372)=16448:LASAR(381)=4096
  133. 2040  REM * INITIALIZE VARIABLES *
  134. 2050  M=INT(RND*61)+10:N=INT(RND*21)+10:O=INT(RND*32001)+70000!
  135. 2060  E=INT(RND*61)+10:F=INT(RND*21)+10:G=25000
  136. 2070  H=INT(RND*61)+10:I=INT(RND*21)+10:J=INT(RND*32001)+40000!
  137. 2080  Q=5:Z=3
  138. 2090  IMX=38:IMY=21:IMR1=1:IMR2=1
  139. 2100  DVX=38:DVY=21:DVR1=1:DVR2=1
  140. 2110  IF SKILL=0 THEN A1=5:A2=0:BYPASS=3
  141. 2120  IF SKILL=1 THEN A1=3:A2=0:BYPASS=2
  142. 2130  IF SKILL=2 THEN A1=2:A2=45:BYPASS=1
  143. 2140  IF SKILL=3 THEN A1=2:A2=30
  144. 2150 K$="5"
  145. 2160   LINE (1,1)-(76,42),3,B
  146. 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"
  147. 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"
  148. 2190  LOCATE 8,1:PRINT "REPUBLIC      X-WING     STAR FIGHTER"
  149. 2200  LOCATE 10,5:PRINT "TORPEDOES"
  150. 2210 LOCATE 12,1:PRINT "HOR.   VERT. DIRECTION"
  151. 2220  LOCATE 15,1:PRINT  "SPEED MACH"
  152. 2230  LOCATE 17,1:PRINT "RADAR TARGETS"
  153. 2240  LOCATE 18,8:PRINT "KM TO IMPERIAL FIGHTER"
  154. 2250  LOCATE 19,8:PRINT "KM TO DARTH VADER"
  155. 2260  LOCATE 20,8:PRINT "KM TO DEATH STAR"
  156. 2270  LOCATE 22,1:PRINT "TIME REMAINING"
  157. 2280  PLAY"T250"
  158. 2290   SEC1=VAL(RIGHT$(TIME$,2))
  159. 2300  GOSUB 1180
  160. 2310  REM * MASTER CONTROL ROUTINE *
  161. 2320  GOSUB 1190
  162. 2330  PUT (38,21),DS1
  163. 2340  LOCATE 10,1:PRINT Z
  164. 2350 LOCATE 13,1:PRINT W;"     ";-V
  165. 2360  LOCATE 15,12:PRINT Q*10
  166. 2370  GS=G-S:IF GS<0 THEN GS=0
  167. 2380  LOCATE 18,1:PRINT GS
  168. 2390  JS=J-S:IF JS<0 THEN JS=0
  169. 2400  LOCATE 19,1:PRINT JS
  170. 2410  OS=O-S:IF OS<0 THEN OS=0
  171. 2420  LOCATE 20,1:PRINT OS
  172. 2430  LOCATE 22,16:PRINT A1;":";A2NEW
  173. 2440  SOUND 37*Q,1
  174. 2450  PUT (38,21),DS1
  175. 2460  GOSUB 1180
  176. 2470  REM * DISPLAY DEATH STAR *
  177. 2480  IF O-S=30000 OR O-S>30000 GOTO 2840
  178. 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)
  179. 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)
  180. 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)
  181. 2520  IF FLAG1<>BYPASS THEN FLAG1=FLAG1+1:GOTO 2550
  182. 2530  FLAG1=0
  183. 2540  M=M+INT(RND*5)-2:N=N+INT(RND*5)-2
  184. 2550  M=M-W:N=N-V
  185. 2560  IF M<2  THEN  M=2+INT(RND*3)
  186. 2570  IF M>69 THEN  M=69-INT(RND*3)
  187. 2580  IF N<2  THEN  N=2+INT(RND*3)
  188. 2590  IF N>35 THEN  N=35-INT(RND*3)
  189. 2600  GOSUB 1190
  190. 2610  PUT (M,N),DS
  191. 2620  IF DSNEW=0 THEN DSNEW=1:GOTO 2680
  192. 2630  IF DSFLAG=0 GOTO 2670
  193. 2640  IF DSFLAG=1 THEN DSFLAG=0:PUT (MP,NP),DS1:GOTO 2680
  194. 2650  IF DSFLAG=2 THEN DSFLAG=0:PUT (MP,NP),DS2:GOTO 2680
  195. 2660  IF DSFLAG=3 THEN DSFLAG=0:PUT (MP,NP),DS3:GOTO 2680
  196. 2670  PUT(MP,NP),DS
  197. 2680  GOSUB 1180
  198. 2690  MP=M:NP=N
  199. 2700  IF O-S>10000 OR FLAG=1 GOTO 2840
  200. 2710  GOSUB 1190
  201. 2720  FOR K=1 TO 2
  202. 2730   LOCATE 24,1:PRINT "*** DEATH STAR WITHIN TORPEDO RANGE ***";
  203. 2740  PLAY "L2 N0"
  204. 2750   LOCATE 24,1:PRINT "                                       ";
  205. 2760  PLAY "L16 N0"
  206. 2770  NEXT K
  207. 2780   LOCATE 24,1:PRINT "*** DEATH STAR WITHIN TORPEDO RANGE ***";
  208. 2790   PLAY "L1 N0":PLAY "L1 N0"
  209. 2800   LOCATE 24,1:PRINT "                                       ";
  210. 2810  GOSUB 1180
  211. 2820  FLAG=1
  212. 2830  REM * DISPLAY IMPERIAL FIGHTER *
  213. 2840  GOSUB 1190
  214. 2850  IF G-S>26000 THEN GOSUB 1180:GOTO 3910
  215. 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
  216. 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
  217. 2880  IF FLAG2<>BYPASS THEN FLAG2=FLAG2+1:GOTO 2910
  218. 2890  FLAG2=0
  219. 2900 E=E+INT(RND*5)-2:F=F+INT(RND*5)-2
  220. 2910 E=E-W:F=F-V
  221. 2920 IF E<2  THEN  E=2+INT(RND*3)
  222. 2930 IF E>69 THEN  E=69-INT(RND*3)
  223. 2940 IF F<2  THEN  F=2+INT(RND*3)
  224. 2950 IF F>37 THEN  F=37-INT(RND*3)
  225. 2960  PUT (E,F),IM
  226. 2970  IF IMNEW=0 THEN IMNEW=1:GOTO 3020
  227. 2980  IF IMFLAG=0 GOTO 3010
  228. 2990  IF IMFLAG=1 THEN IMFLAG=0:PUT (EP,FP),IM1:GOTO 3020
  229. 3000  IF IMFLAG=2 THEN IMFLAG=0:PUT (EP,FP),IM2:GOTO 3020
  230. 3010  PUT (EP,FP),IM
  231. 3020  GOSUB 1180
  232. 3030  EP=E:FP=F
  233. 3040  IF G-S>5000 OR FLAG3=1 GOTO 3170
  234. 3050  GOSUB 1190
  235. 3060  FOR K=1 TO 2
  236. 3070  LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER ATTACKS ****";
  237. 3080  PLAY "L2 N0"
  238. 3090  LOCATE 24,1:PRINT "                                  ";
  239. 3100  PLAY "L16 N0"
  240. 3110  NEXT K
  241. 3120  LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER ATTACKS ****";
  242. 3130  PLAY "L1 N0":PLAY "L1 N0"
  243. 3140  LOCATE 24,1:PRINT "                                  ";
  244. 3150  GOSUB 1180
  245. 3160  FLAG3=1
  246. 3170 IF G>S THEN GOTO 3910
  247. 3180  REM * IMPERIAL FIGHTER ATTACKS *
  248. 3190  FLAG3=0:IMNEW=0:IMNEW1=0:IMPFIGH2=0:IMPFIGH3=0:PUT (E,F),IM
  249. 3200  GOSUB 1190
  250. 3210  DELTAX=29-E:DELTAY=19-F
  251. 3220  IF DELTAX>0 THEN E=E+1
  252. 3230  IF DELTAX<0 THEN E=E-1
  253. 3240  IF DELTAY>0 THEN F=F+1
  254. 3250  IF DELTAY<0 THEN F=F-1
  255. 3260  IF DELTAX=0 AND DELTAY=0 GOTO 3320
  256. 3270  PUT (E,F),IM:IF IMNEW1=0 THEN IMNEW1=1:GOTO 3290
  257. 3280  PUT (EP,FP),IM
  258. 3290  EP=E:FP=F
  259. 3300  PLAY "P32"
  260. 3310  GOTO 3210
  261. 3320  PUT (EP-4,FP-1),IM4
  262. 3330  PUT (EP,FP),IM
  263. 3340  PLAY "P4"
  264. 3350  PUT (EP-9,FP-2),IM5
  265. 3360  PUT (EP-4,FP-1),IM4
  266. 3370  PLAY "P4"
  267. 3380  PUT (EP-12,FP-6),IM6
  268. 3390  PUT (EP-9,FP-2),IM5
  269. 3400  PLAY "P4"
  270. 3410  PUT (EP-9,FP-7),IM7
  271. 3420  PUT (EP-12,FP-6),IM6
  272. 3430  PLAY "P4"
  273. 3440  PUT (EP-20,FP-14),IM8
  274. 3450  PUT (EP-9,FP-7),IM7
  275. 3460  PLAY "P4"
  276. 3470  PUT (EP-20,FP-14),IM8
  277. 3480  FOR J2=10000 TO 100 STEP -500
  278. 3490  SOUND J2,.001*18.2
  279. 3500  NEXT J2
  280. 3510  FOR A=1 TO 50:NEXT A
  281. 3520  FOR J2=10000 TO 100 STEP -500
  282. 3530  SOUND J2,.001*18.2
  283. 3540  NEXT J2
  284. 3550  G=G+25000
  285. 3560  E=INT(RND*61)+10:F=INT(RND*21)+10
  286. 3570  K=INT(RND*10)
  287. 3580  IF K>SKILL  THEN 3790
  288. 3590  KEY(1) OFF:KEY(2) OFF:KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  289. 3600  CLS
  290. 3610  PRINT  "BLAM!"
  291. 3620  FOR J2=1000 TO 37 STEP -10
  292. 3630  SOUND J2,.01*18.2
  293. 3640  NEXT J2
  294. 3650  PRINT
  295. 3660  PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  296. 3670  PRINT"YOU HAVE JUST BEEN SHOT DOWN BY AN";
  297. 3680  PRINT"IMPERIAL SKY FIGHTER!"
  298. 3690  PRINT
  299. 3700  PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  300. 3710  PRINT"YOU ARE A HERO!"
  301. 3720  PRINT
  302. 3730  PRINT"UNFORTUNATELY, YOU ARE A DEAD HERO AND";
  303. 3740  PRINT"DEAD HEROES DON'T WIN WARS. DARTH VADER";
  304. 3750  PRINT"WINS!"
  305. 3760  PRINT
  306. 3770  PRINT"*********   YOU   LOSE!!   *********"
  307. 3780   GOTO  5310
  308. 3790  FOR K=1 TO 2
  309. 3800  LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER MISSED ****";
  310. 3810  PLAY "L2 N0"
  311. 3820  LOCATE 24,1:PRINT "                                 ";
  312. 3830  PLAY "L16 N0"
  313. 3840  NEXT K
  314. 3850  LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER MISSED ****";
  315. 3860  PLAY "L1 N0":PLAY "L1 N0"
  316. 3870  LOCATE 24,1:PRINT "                                 ";
  317. 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)
  318. 3890  GOSUB 1180
  319. 3900  REM * DISPLAY DARTH VADER *
  320. 3910  GOSUB 1190
  321. 3920  IF J-S>26000 THEN GOSUB 1180:GOTO 5140
  322. 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
  323. 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
  324. 3950  IF FLAG2<>BYPASS THEN FLAG2=FLAG2+1:GOTO 3980
  325. 3960  FLAG2=0
  326. 3970 H=H+INT(RND*5)-2:I=I+INT(RND*5)-2
  327. 3980 H=H-W:I=I-V
  328. 3990 IF H<2  THEN  H=2+INT(RND*3)
  329. 4000 IF H>69 THEN  H=69-INT(RND*3)
  330. 4010 IF I<2  THEN  I=2+INT(RND*3)
  331. 4020 IF I>37 THEN  I=37-INT(RND*3)
  332. 4030  PUT (H,I),DV
  333. 4040  IF DVNEW=0 THEN DVNEW=1:GOTO 4090
  334. 4050  IF DVFLAG=0 GOTO 4080
  335. 4060  IF DVFLAG=1 THEN DVFLAG=0:PUT (HP,IP),DV1:GOTO 4090
  336. 4070  IF DVFLAG=2 THEN DVFLAG=0:PUT (HP,IP),DV2:GOTO 4090
  337. 4080  PUT (HP,IP),DV
  338. 4090  GOSUB 1180
  339. 4100  HP=H:IP=I
  340. 4110  IF J-S>5000 OR FLAG4=1 GOTO 4350
  341. 4120  GOSUB 1190
  342. 4130  IF DVGONE=0 GOTO 4240
  343. 4140  FOR K=1 TO 2
  344. 4150  LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER ATTACKS ****";
  345. 4160  PLAY "L2 N0"
  346. 4170  LOCATE 24,1:PRINT "                                  ";
  347. 4180  PLAY "L16 N0"
  348. 4190  NEXT K
  349. 4200  LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER ATTACKS ****";
  350. 4210  PLAY "L1 N0":PLAY "L1 N0"
  351. 4220  LOCATE 24,1:PRINT "                                  ";
  352. 4230  GOTO 4330
  353. 4240  FOR K=1 TO 2
  354. 4250  LOCATE 24,1:PRINT "**** DARTH VADER ATTACKS ****";
  355. 4260  PLAY "L2 N0"
  356. 4270  LOCATE 24,1:PRINT "                             ";
  357. 4280  PLAY "L16 N0"
  358. 4290  NEXT K
  359. 4300  LOCATE 24,1:PRINT "**** DARTH VADER ATTACKS ****";
  360. 4310  PLAY "L1 N0":PLAY "L1 N0"
  361. 4320  LOCATE 24,1:PRINT "                             ";
  362. 4330  FLAG4=1
  363. 4340  GOSUB 1180
  364. 4350  IF J>S THEN GOTO 5140
  365. 4360  REM * DARTH VADER ATTACKS *
  366. 4370  FLAG4=0:DVNEW=0:DVNEW1=0:DVADER2=0:DVADER3=0:PUT (H,I),DV
  367. 4380  GOSUB 1190
  368. 4390  DELTAX=41-H:DELTAY=19-I
  369. 4400  IF DELTAX>0 THEN H=H+1
  370. 4410  IF DELTAX<0 THEN H=H-1
  371. 4420  IF DELTAY>0 THEN I=I+1
  372. 4430  IF DELTAY<0 THEN I=I-1
  373. 4440  IF DELTAX=0 AND DELTAY=0 GOTO 4500
  374. 4450  PUT (H,I),DV:IF DVNEW1=0 THEN DVNEW1=1:GOTO 4470
  375. 4460  PUT (HP,IP),DV
  376. 4470  HP=H:IP=I
  377. 4480  PLAY "P32"
  378. 4490  GOTO 4390
  379. 4500  IF DVGONE=0 THEN PUT(HP,IP-1),DV4 ELSE PUT(HP,IP-1),IM4
  380. 4510  PUT (HP,IP),DV
  381. 4520  PLAY "P4"
  382. 4530  IF DVGONE=0 THEN PUT(HP+3,IP-2),DV5 ELSE PUT(HP+3,IP-2),IM5
  383. 4540  IF DVGONE=0 THEN PUT(HP,IP-1),DV4 ELSE PUT(HP,IP-1),IM4
  384. 4550  PLAY "P4"
  385. 4560  IF DVGONE=0 THEN PUT(HP+2,IP-6),DV6 ELSE PUT(HP+2,IP-6),IM6
  386. 4570  IF DVGONE=0 THEN PUT(HP+3,IP-2),DV5 ELSE PUT(HP+3,IP-2),IM5
  387. 4580  PLAY "P4"
  388. 4590  IF DVGONE=0 THEN PUT(HP+1,IP-6),DV7 ELSE PUT(HP+1,IP-6),IM7
  389. 4600  IF DVGONE=0 THEN PUT(HP+2,IP-6),DV6 ELSE PUT(HP+2,IP-6),IM6
  390. 4610  PLAY "P4"
  391. 4620  IF DVGONE=0 THEN PUT(HP+2,IP-6),DV8 ELSE PUT(HP+2,IP-6),IM8
  392. 4630  IF DVGONE=0 THEN PUT(HP+1,IP-6),DV7 ELSE PUT(HP+1,IP-6),IM7
  393. 4640  PLAY "P4"
  394. 4650  IF DVGONE=0 THEN PUT(HP+2,IP-6),DV8 ELSE PUT(HP+2,IP-6),IM8
  395. 4660  FOR J2=10000 TO 100 STEP -500
  396. 4670  SOUND J2,.001*18.2
  397. 4680  NEXT J2
  398. 4690  FOR A=1 TO 50:NEXT A
  399. 4700  FOR J2=10000 TO 100 STEP -500
  400. 4710  SOUND J2,.001*18.2
  401. 4720  NEXT J2
  402. 4730  J=J+25000
  403. 4740 H=INT(RND*61)+10:I=INT(RND*21)+10
  404. 4750  K=INT(RND*10)
  405. 4760  IF K>SKILL+1  THEN 4910
  406. 4770  KEY(1) OFF:KEY(2) OFF:KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  407. 4780  CLS:PRINT "****  B O O M !  ****"
  408. 4790  FOR J2=1000 TO 37 STEP -10
  409. 4800  SOUND J2,.01*18.2
  410. 4810  NEXT J2
  411. 4820  PRINT
  412. 4830  PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  413. 4840  IF DVGONE=1 THEN PRINT"TOO BAD.  YOU HAVE BEEN SHOT DOWN.":GOTO 4880
  414. 4850  PRINT"YOU HAVE JUST BEEN PERSONALLY SHOT DOWN";
  415. 4860  PRINT"BY DARTH VADER.  THE FORCE WAS NOT WITH";
  416. 4870  PRINT"YOU."
  417. 4880  PRINT
  418. 4890  PRINT"*********   YOU   LOSE!!   *********"
  419. 4900   GOTO  5310
  420. 4910  IF DVGONE=0 GOTO 5030
  421. 4920  FOR K=1 TO 2
  422. 4930  LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER MISSED ****";
  423. 4940  PLAY "L2 N0"
  424. 4950  LOCATE 24,1:PRINT "                                 ";
  425. 4960  PLAY "L16 N0"
  426. 4970  NEXT K
  427. 4980  LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER MISSED ****";
  428. 4990  PLAY "L1 N0":PLAY "L1 N0"
  429. 5000  LOCATE 24,1:PRINT "                                 ";
  430. 5010  DV(0)=DV1(0):DV(1)=DV1(1):DV(2)=DV1(2):DV(3)=DV1(3)
  431. 5020  GOTO 5140
  432. 5030  FOR K=1 TO 2
  433. 5040  LOCATE 24,1:PRINT "**** DARTH VADER MISSED ****";
  434. 5050  PLAY "L2 N0"
  435. 5060  LOCATE 24,1:PRINT "                            ";
  436. 5070  PLAY "L16 N0"
  437. 5080  NEXT K
  438. 5090  LOCATE 24,1:PRINT "**** DARTH VADER MISSED ****";
  439. 5100  PLAY "L1 N0":PLAY "L1 N0"
  440. 5110  LOCATE 24,1:PRINT "                            ";
  441. 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)
  442. 5130  REM * X - WING FIGHTER ROUTINE *
  443. 5140  GOSUB 1180
  444. 5150 Z$=INKEY$
  445. 5160 IF VAL(Z$)>0 AND VAL(Z$)<10   THEN  Q=VAL(Z$)
  446. 5170  S=S+Q*100
  447. 5180  IF S>O  GOTO 6410
  448. 5190  REM * TIME ROUTINE *
  449. 5200   SEC2=VAL(RIGHT$(TIME$,2))
  450. 5210   SECNEW=SEC2
  451. 5220   IF SECNEW=SECOLD GOTO 5280
  452. 5230   IF SECNEW<SECOLD THEN N8=N8+1
  453. 5240   SECOLD=SEC2
  454. 5250   A2NEW=A2-(SEC2+(60*N8)-SEC1)
  455. 5260   IF A2NEW<0 THEN A2NEW=A2NEW+60:A1=A1-1:A2=A2+60
  456. 5270   IF A1<0 GOTO 6760
  457. 5280   GOTO   2320
  458. 5290  REM * DISPLAY SKY FIGHTER *
  459. 5300  IF J-S<10000 THEN A=3
  460. 5310  REM * NEW GAME *
  461. 5320   PRINT
  462. 5330 PRINT "HIT ENTER TO PLAY AGAIN, ESC TO GIVE UP"
  463. 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
  464. 5350  REM * FIRE CANNON *
  465. 5360  KEY(2) STOP:KEY(11) STOP:KEY(12) STOP:KEY(13) STOP:KEY(14) STOP
  466. 5370  PUT (2,2),LASAR
  467. 5380  FOR J2=5000 TO 100 STEP -250
  468. 5390    SOUND J2,.01*18.2
  469. 5400  NEXT J2
  470. 5410  PUT (2,2),LASAR
  471. 5420  IF G-S<26000 AND ABS(IMX-E)<IMR1 AND ABS(IMY-F)<IMR2 GOTO 5450
  472. 5430  IF J-S<26000 AND ABS(DVX-H)<DVR1 AND ABS(DVY-I)<DVR2 GOTO 5580
  473. 5440  GOTO 5730
  474. 5450  FOR I9=1 TO 2:PUT (E-2,F-3),EXPL3:PLAY "P64":PUT (E-2,F-3),EXPL3:NEXT I9
  475. 5460  FOR I9=1 TO 2:PUT (E-2,F-3),EXPL4:PLAY "P64":PUT (E-2,F-3),EXPL4:NEXT I9
  476. 5470  PUT (E,F),IM
  477. 5480  IF IMR2=1 GOTO 5540
  478. 5490  FOR I9=1 TO 2:PUT (E-2,F-3),EXPL5:PLAY "P64":PUT (E-2,F-3),EXPL5:NEXT I9
  479. 5500  FOR I9=1 TO 2:PUT (E-2,F-3),EXPL6:PLAY "P64":PUT (E-2,F-3),EXPL6:NEXT I9
  480. 5510  IF IMR2=2 GOTO 5540
  481. 5520  FOR I9=1 TO 2:PUT (E-2,F-3),EXPL7:PLAY "P64":PUT (E-2,F-3),EXPL7:NEXT I9
  482. 5530  FOR I9=1 TO 2:PUT (E-2,F-3),EXPL8:PLAY "P64":PUT (E-2,F-3),EXPL8:NEXT I9
  483. 5540  G=G+25000:E=INT(RND*61)+10:F=INT(RND*21)+10:FLAG3=0:IMNEW=0:IMPFIGH2=0:IMPFIGH3=0
  484. 5550  IMX=38:IMY=21:IMR1=1:IMR2=1
  485. 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)
  486. 5570  GOTO 5730
  487. 5580  FOR I9=1 TO 2:PUT (H-2,I-3),EXPL3:PLAY "P64":PUT (H-2,I-3),EXPL3:NEXT I9
  488. 5590  FOR I9=1 TO 2:PUT (H-2,I-3),EXPL4:PLAY "P64":PUT (H-2,I-3),EXPL4:NEXT I9
  489. 5600  PUT (H,I),DV
  490. 5610  IF DVR2=1 GOTO 5670
  491. 5620  FOR I9=1 TO 2:PUT (H-2,I-3),EXPL5:PLAY "P64":PUT (H-2,I-3),EXPL5:NEXT I9
  492. 5630  FOR I9=1 TO 2:PUT (H-2,I-3),EXPL6:PLAY "P64":PUT (H-2,I-3),EXPL6:NEXT I9
  493. 5640  IF DVR2=2 GOTO 5670
  494. 5650  FOR I9=1 TO 2:PUT (H-2,I-3),EXPL7:PLAY "P64":PUT (H-2,I-3),EXPL7:NEXT I9
  495. 5660  FOR I9=1 TO 2:PUT (H-2,I-3),EXPL8:PLAY "P64":PUT (H-2,I-3),EXPL8:NEXT I9
  496. 5670  J=J+25000:H=INT(RND*61)+10:I=INT(RND*21)+10:FLAG4=0:LOCATE 19,8:PRINT "KM TO IMPERIAL FIGHTER";
  497. 5680  DVNEW=0:DVADER2=0:DVADER3=0
  498. 5690  DVX=38:DVY=21:DVR1=1:DVR2=1
  499. 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)
  500. 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)
  501. 5720  DVGONE=1
  502. 5730  KEY(2) ON:KEY(11) ON:KEY(12) ON:KEY(13) ON:KEY(14) ON
  503. 5740  RETURN
  504. 5750  REM * FIRE  TORPEDO *
  505. 5760  KEY(1) STOP:KEY(11) STOP:KEY(12) STOP:KEY(13) STOP:KEY(14) STOP
  506. 5770  IF Z=0  THEN 3600
  507. 5780  FOR J2=1500 TO 100 STEP -20
  508. 5790    SOUND J2,.01*18.2
  509. 5800    SOUND 3600-J2,.01*18.2
  510. 5810  NEXT J2
  511. 5820  Z=Z-1
  512. 5830  IF O-S>10000  THEN 5990
  513. 5840  IF POINT(38,21)<>3 THEN 5880
  514. 5850  IF SKILL=0 GOTO 6100
  515. 5860  K=INT(RND*10)
  516. 5870  IF K>SKILL+1  THEN 6100
  517. 5880   FOR K=1 TO 2
  518. 5890  LOCATE 24,1:PRINT "**** TORPEDO  MISSED  ****";
  519. 5900  PLAY "L2 N0"
  520. 5910  LOCATE 24,1:PRINT "                          ";
  521. 5920  PLAY "L16 N0"
  522. 5930   NEXT K
  523. 5940  LOCATE 24,1:PRINT "**** TORPEDO  MISSED  ****";
  524. 5950  PLAY "L1 N0":PLAY "L1 N0"
  525. 5960  LOCATE 24,1:PRINT "                          ";
  526. 5970  IF Z<=0  THEN 4780
  527. 5980  GOTO 6080
  528. 5990 FOR K=1 TO 2
  529. 6000  LOCATE 24,1:PRINT "**** OUT  OF  RANGE  ****";
  530. 6010  PLAY "L2 N0"
  531. 6020  LOCATE 24,1:PRINT "                         ";
  532. 6030  PLAY "L16 N0"
  533. 6040 NEXT K
  534. 6050  LOCATE 24,1:PRINT "**** OUT  OF  RANGE  ****";
  535. 6060  PLAY "L1 N0":PLAY "L1 N0"
  536. 6070  LOCATE 24,1:PRINT "                         ";
  537. 6080  KEY(1) ON:KEY(11) ON:KEY(12) ON:KEY(13) ON:KEY(14) ON
  538. 6090   RETURN
  539. 6100  REM * GAME WON *
  540. 6110  KEY(1) OFF:KEY(2) OFF:KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  541. 6120  FOR SCALE=1 TO 24
  542. 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"
  543. 6140  NEXT SCALE
  544. 6150  CLS
  545. 6160  FOR K=1 TO 5
  546. 6170  SOUND 37,.1*18.2
  547. 6180  SCREEN 0:WIDTH 40
  548. 6190  FOR A=1 TO 10:NEXT A
  549. 6200  SCREEN 1:WIDTH 80
  550. 6210  NEXT K
  551. 6220  WIDTH 40
  552. 6230  CLS:PRINT:PRINT:PRINT
  553. 6240  PRINT"* * * * * * * * * * * * * * * * * * * *";
  554. 6250  PRINT"*                                     *";
  555. 6260  PRINT"*                                     *";
  556. 6270  PRINT"*    THE  FORCE  IS  WITH  YOU  !!    *";
  557. 6280  PRINT"*                                     *";
  558. 6290  PRINT"* YOU HAVE DESTROYED THE DEATH STAR ! *";
  559. 6300  PRINT"*                                     *";
  560. 6310  PRINT"*    YOU HAVE SAVED THE REPUBLIC !    *";
  561. 6320  PRINT"*                                     *";
  562. 6330  PRINT"* PRINCESS LEAH WILL LOVE YOU ALWAYS! *";
  563. 6340  PRINT"*                                     *";
  564. 6350  PRINT"* * * * * * * * * * * * * * * * * * * *"
  565. 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
  566. 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
  567. 6380  PRINT
  568. 6390  GOTO   5310
  569. 6400  REM * COLLISION WITH DEATH STAR *
  570. 6410 KEY(1) OFF:KEY(2) OFF:KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  571. 6420  DELTAX=35-M:DELTAY=18-N
  572. 6430  IF DELTAX>0 THEN M=M+1
  573. 6440  IF DELTAX<0 THEN M=M-1
  574. 6450  IF DELTAY>0 THEN N=N+1
  575. 6460  IF DELTAY<0 THEN N=N-1
  576. 6470  IF DELTAX=0 AND DELTAY=0 GOTO 6530
  577. 6480  PUT (M,N),DS
  578. 6490  PUT (MP,NP),DS
  579. 6500  MP=M:NP=N
  580. 6510  PLAY "P32"
  581. 6520  GOTO 6420
  582. 6530  FOR RAD=4 TO 20
  583. 6540  CIRCLE(38,21),RAD,3
  584. 6550  PLAY "P32"
  585. 6560  NEXT RAD
  586. 6570  CLS:PRINT "CRASH"
  587. 6580  FOR J2=1000 TO 37 STEP -10
  588. 6590  SOUND J2,.01*18.2
  589. 6600  NEXT J2
  590. 6610  PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  591. 6620  PRINT
  592. 6630  PRINT"DARTH VADER IS LAUGHING AT YOU."
  593. 6640  PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  594. 6650  PRINT
  595. 6660  PRINT"YOU HAVE JUST COLLIDED WITH THE DEATH";
  596. 6670  PRINT"STAR.  THEY DID NOT EVEN HEAR THE";
  597. 6680  PRINT"COLLISION.  YOU DID NOT EVEN SCRATCH";
  598. 6690  PRINT"THE DEATH STAR'S PAINT, BUT YOU ARE   ";
  599. 6700  PRINT"DEAD!"
  600. 6710  PRINT
  601. 6720  PRINT"*********   YOU  LOSE!!   *********"
  602. 6730  PRINT
  603. 6740   GOTO  5310
  604. 6750  REM * OUT OF TIME *
  605. 6760  KEY(1) OFF:KEY(2) OFF:KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  606. 6770  CLS:PRINT "TOO LATE!"
  607. 6780  FOR J2=1000 TO 37 STEP -10
  608. 6790  SOUND J2,.01*18.2
  609. 6800  NEXT J2
  610. 6810  PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  611. 6820  PRINT
  612. 6830  PRINT"DARTH VADER IS LAUGHING AT YOU."
  613. 6840  PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  614. 6850  PRINT
  615. 6860  PRINT"THE DEATH STAR HAS JUST DESTROYED";
  616. 6870  PRINT"PRINCESS LEAH AND THE ENTIRE REBEL";
  617. 6880  PRINT"STRONGHOLD";
  618. 6890  PRINT
  619. 6900  PRINT"*********   YOU  LOSE!!   *********"
  620. 6910  PRINT
  621. 6920   GOTO  5310
  622. 6930  CLS
  623. 6940  PRINT"       STAR  PILOT  INSTRUCTIONS"
  624. 6950  PRINT
  625. 6960  PRINT"    THE DEATH  STAR SPACE STATION, UNDER";
  626. 6970  PRINT"THE COMMAND OF DARTH  VADER, IS THE MOST";
  627. 6980  PRINT"POWERFUL  WEAPON  THE UNIVERSE  HAS EVER";
  628. 6990  PRINT"KNOWN.   A FRONTAL  ATTACK BY  ANY OTHER";
  629. 7000  PRINT"CRAFT WOULD BE ABSOLUTE SUICIDE. HOWEVER";
  630. 7010  PRINT"INTELLIGENCE DELIVERED  TO  OUR REPUBLIC";
  631. 7020  PRINT"HEADQUARTERS  BY  THE  ANDROIDS R2D2 AND";
  632. 7030  PRINT"C3PO GIVES A FAINT  HOPE OF A SUCCESSFUL";
  633. 7040  PRINT"ATTACK  BY A SMALL ONE OR TWO  PASSENGER";
  634. 7050  PRINT"X-WING FIGHTER."
  635. 7060  PRINT
  636. 7070  PRINT"    THERE IS A SMALL, UNSHIELDED EXHAUST";
  637. 7080  PRINT"PORT  ON  THE  SURFACE OF THE DEATH STAR";
  638. 7090  PRINT"THAT LEADS DIRECTLY TO THE MAIN REACTOR.";
  639. 7100  PRINT"SINCE IT IS AN EMERGENCY THERMAL PORT IN";
  640. 7110  PRINT"CASE THE REACTOR OVERHEATS, IT COULD NOT";
  641. 7120  PRINT"BE SHIELDED."
  642. 7130  PRINT
  643. 7140  INPUT"     (PRESS ENTER  TO  CONTINUE)",B$
  644. 7150  CLS
  645. 7160  PRINT
  646. 7170  PRINT"    IF YOU CAN  SLIP YOUR  SMALL FIGHTER";
  647. 7180  PRINT"PAST THE  DEATH STAR'S DEFENSES AND MAKE";
  648. 7190  PRINT"A DIRECT HIT ON THE THERMAL EXHAUST PORT";
  649. 7200  PRINT"WITH  A  TORPEDO, THERE IS A CHANCE THAT";
  650. 7210  PRINT"THE  TORPEDO  WILL   PENETRATE  TO   THE";
  651. 7220  PRINT"MAIN REACTOR AND START A CHAIN REACTION,";
  652. 7230  PRINT"DESTROYING THE DEATH STAR."
  653. 7240  PRINT
  654. 7250  PRINT"    IT IS A SLIM  CHANCE,  BUT IT IS THE";
  655. 7260  PRINT"ONLY  HOPE  THE  REPUBLIC HAS.   OBI-WAN";
  656. 7270  PRINT"KENOBI GAVE  HIS LIFE TO GET THE MESSAGE";
  657. 7280  PRINT"HERE, SO HE CONSIDERED IT IMPORTANT."
  658. 7290  PRINT:PRINT:PRINT:PRINT
  659. 7300  PRINT"PRESS ENTER FOR X-WING FIGHTER          ";
  660. 7310  INPUT"      FAMILIARIZATION",B$
  661. 7320  CLS
  662. 7330  PRINT"        REPUBLIC  X-WING  FIGHTER       "
  663. 7340  PRINT
  664. 7350  PRINT"     THE X-WING  FIGHTER IS A SMALL  ONE";
  665. 7360  PRINT"MAN  SPACESHIP  THAT IS,  QUITE FRANKLY,";
  666. 7370  PRINT"OBSOLETE.  IT IS ARMED ONLY WITH A LASER";
  667. 7380  PRINT"CANNON  AND  THREE  TORPEDOES.   USE THE";
  668. 7390  PRINT"LASER CANNON  TO  FIGHT OFF ANY IMPERIAL";
  669. 7400  PRINT"FIGHTERS AND SAVE THE  TORPEDOES FOR THE";
  670. 7410  PRINT"DEATH STAR."
  671. 7420  PRINT
  672. 7430  PRINT"     THE  TARGET  ACQUISITION  RADAR CAN";
  673. 7440  PRINT"DETECT IN  EXCESS OF  100,000 KILOMETERS";
  674. 7450  PRINT"AWAY, BUT CAN ONLY DISPLAY TARGETS WITH-";
  675. 7460  PRINT"IN  20,000 KM.   THEREFORE,  YOU WILL BE";
  676. 7470  PRINT"WARNED OF APPROACHING  TARGETS  ON  YOUR";
  677. 7480  PRINT"CONTROL PANEL  BEFORE THEY ARE DISPLAYED";
  678. 7490  PRINT"ON THE RADAR SCREEN."
  679. 7500  PRINT
  680. 7510  INPUT"     (PRESS ENTER  TO  CONTINUE)",B$
  681. 7520  CLS
  682. 7530  PRINT
  683. 7540  PRINT"     THE LASER  CANNON IS AN  ANTIQUATED";
  684. 7550  PRINT"WEAPON.  TO  HIT AN ENEMY, YOU MUST HAVE";
  685. 7560  PRINT"HIM  IN THE  EXACT CENTER  OF THE  CROSS";
  686. 7570  PRINT"HAIRS ON YOUR RADAR SCREEN. THEN YOU MAY";
  687. 7580  PRINT"FIRE THE  LASER CANNON BY  TYPING THE F1";
  688. 7590  PRINT"KEY ON YOUR CONTROL PANEL."
  689. 7600  PRINT
  690. 7610  PRINT"     YOUR  THREE  TORPEDOES ARE COMPUTER";
  691. 7620  PRINT"GUIDED,  BUT ALSO QUITE  LIMITED.   MAKE";
  692. 7630  PRINT"SURE THAT YOU ARE WITHIN 10000 KM OF THE";
  693. 7640  PRINT"DEATH STAR  AND THAT YOU HAVE  SOME PART";
  694. 7650  PRINT"OF  THE SPACE STATION  IN THE CENTER  OF";
  695. 7660  PRINT"THE  CROSS HAIRS  ON YOUR  RADAR SCREEN.";
  696. 7670  PRINT"EVEN THEN,  SINCE IT TAKES A PERFECT HIT";
  697. 7680  PRINT"ON THE EXHAUST PORT TO DESTROY THE DEATH";
  698. 7690  PRINT"STAR,  YOU  MAY  REQUIRE  MORE  THAN ONE";
  699. 7700  PRINT"TORPEDO.   TYPE THE  F2  KEY TO FIRE THE";
  700. 7710  PRINT"TORPEDO."
  701. 7720  PRINT
  702. 7730  INPUT"    (PRESS ENTER  TO  CONTINUE)",B$
  703. 7740  CLS
  704. 7750  PRINT
  705. 7760  PRINT"    THE SPEED OF YOUR SHIP IS CONTROLLED";
  706. 7770  PRINT"BY TYPING THE NUMBERS  1 THROUGH 9  (FOR";
  707. 7780  PRINT"MACH  10 THROUGH 90  RESPECTIVELY).  THE";
  708. 7790  PRINT"MOVEMENT OF YOUR  SHIP IS  CONTROLLED BY";
  709. 7800  PRINT"THE CURSOR CONTROLS.  SINCE THESE INPUTS";
  710. 7810  PRINT"MOVE YOUR SHIP  AND NOT THE TARGETS, THE";
  711. 7820  PRINT"TARGETS APPEAR  TO  MOVE IN THE OPPOSITE";
  712. 7830  PRINT"DIRECTION.   ALSO, YOU  CAN  EXPECT  THE";
  713. 7840  PRINT"ENEMY TO TAKE EVASIVE ACTION."
  714. 7850  PRINT
  715. 7860  PRINT"    WHEN SELECTING THE SKILL LEVEL, 0 IS";
  716. 7870  PRINT"THE EASIEST  GAME AND 3 IS THE  HARDEST.";
  717. 7880  PRINT"SKILL LEVEL  0  PROVIDES THE BEST CHANCE";
  718. 7890  PRINT"OF BEING  MISSED BY THE  FIGHTERS AND OF";
  719. 7900  PRINT"HITTING  THE DEATH STAR.  LEVEL  0  ALSO";
  720. 7910  PRINT"PROVIDES  THE LARGEST  TIME LIMIT BEFORE";
  721. 7920  PRINT"THE DEATH STAR DESTROYS THE REBEL BASE."
  722. 7930  PRINT
  723. 7940  PRINT
  724. 7950  INPUT"PRESS ENTER FOR  TAKE-OFF",B$
  725. 7960  CLS
  726. 7970  PRINT"****************************************"
  727. 7980  PRINT
  728. 7990  PRINT"    MAY  THE  FORCE  BE  WITH  YOU"
  729. 8000  PRINT
  730. 8010  PRINT"****************************************"
  731. 8020  PLAY "L1 N0":PLAY "L1 N0"
  732. 8030   GOTO   1300
  733. YOU