home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1984 October / 1984-10.d64 / trek (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  10KB  |  266 lines

  1. 10 poke53280,6:poke53281,0:print""
  2. 11 print"[147]                 trek"
  3. 12 print"              please wait"
  4. 13 gosub 5000
  5. 14 print"           skill  level (1-4) "
  6. 18 getfq$:if fq$<"1"or fq$>"4" then 18
  7. 19 fq=val(fq$):print"[147]"
  8. 20 gosub 500
  9. 30 gosub 800
  10. 35 gosub 880
  11. 40 v=53248:poke723,10:v1=2040:ss=0:ex=80:ti$="140000":poke53275,48:bsc=0
  12. 45 xx$=  ""
  13. 50 poke v+21,63
  14. 60 pokev1,215:pokev1+1,215:pokev1+2,215:pokev1+3,211:pokev1+4,212:pokev1+5,213
  15. 70 pokev+39,6:pokev+40,10:pokev+41,5:pokev+42,15:pokev+43,9:pokev+44,9
  16. 80 poke v+9,202:pokev+11,202
  17. 90 gosub 900
  18. 95 qi=.01:pokev+6,80:e=100:pokev+5,145:pokev+29,8:poke53280,0:iffq>2thenqi=.06
  19. 96 poke 2046,214:poke53293,10:pokev+30,0
  20. 97 poke v+1,150:pokev+3,155:pokev+5,160:pokev+7,180:ep=180:poke650,128:hit=0
  21. 99 ss=.1:ex=80:s=54272:poke54296,9:pokes+5,9:pokes+6,0:pokes,240:pokes+1,33
  22. 100 sys 989:poke53277,peek(53277)or(2^4):poke53277,peek(53277)or(2^5)
  23. 110 sys thrst:poke53280,0:pokev+7,peek(v+7)+1:if peek(v+7)>185then pokev+7,185
  24. 112 sys thrst:poke49402,peek(v+30):sys phas:sys thrst
  25. 114 sys thrst:sys bam:sys thrst:if(peek(49402)and15)>8thenpoke53280,2:hit=hit+1
  26. 116 sys thrst:sys move:poke54273,0:sys phas:if peek(197)=60 then hit=hit+1
  27. 117 systhrst:poke54277,15:poke54276,17:sys thrst:systhrst:poke54278,129
  28. 118 sys890:poke54296,4:print""spc(31)"score":print""spc(25),(ti-t1)-hit
  29. 119 sys thrst:poke53280,0:sys phas:if peek(v)<20 then pokev+1,(peek(v+7))
  30. 120 sys thrst:sys phas:poke54273,20:if peek(v+2)<20 then pokev+3,(peek(v+7))
  31. 121 sys thrst:sys phas:if peek(v+4)<20 then pokev+5,(peek(v+7))
  32. 123 sys thrst:sys bam:sys phas:sys thrst
  33. 124 sys890:sys phas:poke54276,16:poke54276,17:sys thrst
  34. 125 sys thrst:on fq goto 130,129,128,127,126
  35. 126 sys thrst:sys move:sys move:sys move:sys move:sys move:sys phas
  36. 127 sys thrst:sys move:sys move:sys move:sys phas
  37. 128 sys thrst:sys move:sys move:sys move:sys phas
  38. 129 sys thrst:sys move:sys move:sys phas
  39. 130 sys thrst:sys move:sys move:sys phas
  40. 131 sys thrst:sys move:sys thrust:sys move:if rnd(.)<qi then8000
  41. 132 sys thrst:a5=peek(197):pokev+7,peek(v+7)+1:ifpeek(v+7)>185thenpokev+7,185
  42. 133 sys890:ifa5=22andabs(peek(v+6)-peek(v+10))<25andpeek(v+7)>175thengosub6000
  43. 135 xy$=str$(100-(hit*15.1))+"  "
  44. 140 sys890:printxx$;"energy to shields ";xy$
  45. 145 sys thrst:sys phas:sys thrst:if hit*15.1>100then200
  46. 180 sys thrst:ex=ex+1:if ex>150then ex=40:lc=lc+1:if lc>1 then 4000
  47. 190 sys thrst:sys move:sys phas:poke v+6,ex:sys thrst
  48. 195 sys thrst:sys phas:goto110
  49. 200 printxx$;"shields collapsed,  starship destroyed"
  50. 205 s=54272:pokes+24,15:pokes+5,192:pokes+6,129:u1=255:pokes+2,75:poke53280,2
  51. 210 n=190-peek(v+7):for crash=1 to nstep4
  52. 215 pokes+1,u1:pokes+4,17:u1=u1-1
  53. 220 for dl=1to10:next:c1=(peek(v+7)+4):c2=(peek(v+6)+4)
  54. 225 if c2>225 thencrash=n
  55. 230 pokev+7,c1:pokev+6,c2:next
  56. 231 gosub 300
  57. 234 pokev+21,peek(v+21)and(255-8)
  58. 235 pokes+24,15:pokes+1,15:pokes+4,128
  59. 240 pokes+5,9:pokes+1,20:pokes+4,128
  60. 250 fordl=1to700:next
  61. 260 pokes+4,129:goto3000
  62. 300 poke 53277,peek(53277)and(255-2^3)
  63. 301 poke 53271,peek(53271)and(255-2^3)
  64. 305 poke 2043,216:pokev+42,7:for delay=1to20:next:pokes+4,129
  65. 310 pokev+7,peek(v+7)-10:poke 53271,peek(53271)or(2^3):for delay=1to10:next
  66. 312 pokes+24,7:ford=1to20:next:pokes+24,8:ford=1to40:next:pokes+24,13
  67. 315 poke 53277,peek(53277)or(2^3):for delay=1to60:next
  68. 316 pokes+24,7:ford=1to40:next:pokes+24,8:ford=1to20:next:pokes+24,13
  69. 320 poke 53271,peek(53271)and(255-2^3)
  70. 325 pokev+42,1:ford=13to1step-.5:pokes+24,d:next:pokes+4,128:pokes+24,9:return
  71. 499 rem sprite subsection
  72. 500 for n=13440to13502:reada:poken,a:next
  73. 510 for n=13504to13566:reada:poken,a:next
  74. 515 for n=13568to13630:reada:poken,a:next
  75. 520 for n=13632to13694:reada:poken,a:next
  76. 525 for n=13760to13822:reada:poken,a:next
  77. 527 for n=13696to13759:reada:poken,a:next
  78. 528 for n=13824to13886:reada:poken,a:next
  79. 530 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,48,0,0,48,0,0
  80. 535 data 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  81. 540 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,1,248,255,223,255
  82. 545 data 127,223,255,15,135,192,7,143,128,3,159,0,15,255,0,15,255,0,7,255,128
  83. 550 data 7,255,0,3,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  84. 555 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,1,248,0,3,252,0,3
  85. 560 data 254,224,7,255,16,15,255,8,31,255,132,127,255,254,255,255,255,255,255
  86. 565 data 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,15,128,0,31,192,0,31,192,2
  87. 570 data 63,240,7,127,248,15,191,248,15,223,248,31,231,252,31,251,252,63,248
  88. 575 data 254,63,255,6,127,255,248,255,255,254,255,255,255,255,255,255,0,0,0,0,0
  89. 580 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,248,3,255,240,15,255,248,63,255,248,0,15
  90. 585 data 192,1,255,240,1,255,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  91. 590 data 0,0
  92. 592 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0
  93. 593 data 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  94. 595 data 0,0,0,0,112,0,3,252,0,15,255,128,23,255,64,59,254,240,61,253,248,118
  95. 596 data 171,252,251,255,60,255,254,220,123,253,232,119,251,248,47,255,240,15
  96. 597 data 223,224,7,223,224,3,223,192,3,219,192,3,219,192,7,219,224,15,219,240
  97. 598 data 0,0,0
  98. 600 ki=49152:for n=ki to 49204:reada:poken,a:next
  99. 610 data 162,210,173,30,208,141,62,192,41,68,201,68,208,7,142,208,2,142,5,208
  100. 620 data 96,173,62,192,41,66,201,66,208,7,142,198,2,142,3,208,96,173,62,192,41
  101. 630 data 65,201,65,208,246,142,188,2,142,1,208,96
  102. 640 bam=49407:for n=bam to 49459:reada:poken,a:next
  103. 641 data 162,210,173,30,208,141,62,192,41,12,201,12,208,7,142,208,2,142,5,208
  104. 642 data 96,173,62,192,41,10,201,10,208,7,142,198,2,142,3,208,96,173,62,192,41
  105. 643 data 9,201,9,208,246,142,188,2,142,1,208,96
  106. 650 move=49232:forn=moveto49275:reada:poken,a:next
  107. 660 data 173,7,208,205,1,208,176,6,206,1,208
  108. 665 data 76,97,192,238,1,208,205,3,208,176
  109. 670 data 6,206,3,208,76,111,192,238,3,208,205,5,208,176,4,206,5,208,96,238
  110. 680 data 5,208,96
  111. 690 phas=49472:for n=phas to 49531:reada:poke n,a:next
  112. 691 data 165,197,201,60,240,1,96,169,129,141,4,212,173,7,208,174,6,208,142,12
  113. 693 data 208,141,13,208,160,127,140,21,208,238,12,208,173,12,208,208,13,169
  114. 695 data 128,141,4,212,169,63,141,21,208,76,0,192,160,70,136,192,0,208,251
  115. 697 data 76,93,193
  116. 700 return
  117. 799 rem main loop machine language
  118. 800 for n=828 to 886:reada:poken,a:next
  119. 810 data 174,188,2,202,202,142,188,2,142,0,208,174,198,2,202,202,202,142,198
  120. 815 data 2,142,2,208,174,208,2,202,142,208,2,142,4,208,174,188,2,174,213,2,202
  121. 820 data 142,213,2,142,8,208,174,211,2,202,142,211,2,142,10,208,76,49,234
  122. 850 return
  123. 879 rem reset hardware interupt vector
  124. 880 for n=989to1002:reada:poken,a:next
  125. 885 data 120,169,60,141,20,3,169,3,141,21,3,88,96,32
  126. 890 rem thrusters (thrst)
  127. 891 thrst=890:forn=890to951:reada:poken,a:next
  128. 892 data 165,197,201,2,240,13,165,197,201,7,240,19,165,197,197,60,240,25,96
  129. 893 data 174,7,208,202,224,95,240,247,142,7,208,96,174,7,208,232,224,190,240
  130. 894 data 247,142,7,208,96,173,7,208,74,74,74,24,105,25,168,174,6,208,24,32
  131. 895 data 240,255,96,32
  132. 899 return
  133. 900 poke53280,0:poke53281,0
  134. 910 gosub 1100
  135. 920 print"[147]":gosub 980
  136. 930 print"[149][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]";
  137. 950 print"       [166][166][166][166] [166][166][166][166][160][166][166][166][166][160][166][160][160][166]     hi score ";
  138. 952 print" level   [166]  [166]  [166] [166]    [166] [166][166]    "bsc
  139. 954 print"  "fq"    [166]  [166][166][166][166] [166][166][166]  [166][166][166]               ";
  140. 956 print"         [166]  [166] [166]  [166]    [166] [166]               ";
  141. 958 print"         [166]  [166] [166][166] [166][166][166][166] [166] [166][166]              ";
  142. 960 print"[185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185]";
  143. 965 for sv=1to12:printspc(30)"[181]":next
  144. 970 printspc(31)"[184][184][184][184][184][184][184][184][184]"
  145. 971 print""spc(31)"[159]controls"
  146. 972 printspc(31)"[158]crsr-dn="
  147. 973 printspc(33)"down"
  148. 97