home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1985 December / Ahoy_Magazine_85-12_1985_Double_L.d64 / gypsy (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  13KB  |  353 lines

  1. 1 rem      ***  gypsy  ***
  2. 2 rem files 'gypsy video' and 'gypsy planets' must be on disk!
  3. 3 rem use 'video setup' and 'planet setup' to create these files
  4. 5 poke 55,255:poke 56,127:poke 643,255:poke 644,127:clr
  5. 6 rem (typing this program is easier if you gosub 95 in direct mode right away)
  6. 7 f$=" ":c0%=0:c1%=0:c2%=0:c3%=0:c4%=0:c5%=0:c6%=0:sp%=0
  7. 8 if peek(37952)<>16 or peek(37953)<>20 then 2000
  8. 9 dim vv$(24)
  9. 10 gosub 700:gosub 2100
  10. 12 gosub 90:gosub 600:print "[147]";:gosub 95:gosub 900:l=fre(9)
  11. 13 print vv$(23)"[146]                                        ";
  12. 14 sys 38046:poke 648,140:print vv$(23)bb$bb$"             ";
  13. 15 gosub 260:poke 33767,32
  14. 16 for i=0 to 63:poke 35840+i,0:next:poke es,31
  15. 17 goto 100
  16. 39 rem read joystick
  17. 40 jy=255-peek(56320):jb=jy and 16
  18. 41 jy=jy and 15:if jy=0 and jb=0 then 40
  19. 42 return
  20. 50 i=int(rnd(0)*i):return
  21. 55 for i=19 to 23:print vv$(i)"                                        ";:next
  22. 56 print vv$(19);:return
  23. 60 c4%=0:fm=fm-1:if fm>0 then return
  24. 62 fm=ts/2:qf=qf-1:if qf=0 then print vv$(23)bb$;:return
  25. 64 print vv$(23)bb$vv$(23)left$(ff$,qf);:return
  26. 70 tm=ts:qs=qs-1:if qs=0 then print vv$(24)bb$;:return
  27. 72 print vv$(24)bb$vv$(24)left$(ss$,qs);:return
  28. 90 poke 53265,0:return
  29. 95 poke 53265,91:return
  30. 98 rem      *** action loop ***
  31. 100 tm=tm-1:if tm<1 then gosub 70:if qs<1 then 275
  32. 105 if c4%>0 then gosub 60:if qf<1 then 270
  33. 110 if c4%>0 and c5%>0 then gosub 200
  34. 120 c0%=0:c5%=0
  35. 130 if sp%>0 then 280
  36. 196 goto 100
  37. 200 i=c5%:c5%=0:c4%=0:j=i and 10:k=i and 20
  38. 201 wp=1:if i>2 then wp=2:if i>4 then wp=3:if i>8 then wp=4
  39. 204 if c0%>0 then 230
  40. 205 if j>0 then 220
  41. 210 qf=qf+lv:if qf>33 then qf=33
  42. 215 print vv$(23)left$(ff$,qf);:return
  43. 220 if qs<17 then qs=qs+lv:if qs>17 then qs=17
  44. 225 print vv$(24)left$(ss$,qs);:return
  45. 230 on wp goto 400,240,400,240:return
  46. 240 if rp(wp)>0 then 400
  47. 245 print vv$(23)bb$vv$(23)"[211][207][210][210][217][173][173][206][207][160][211][213][210][198][193][195][197][160][198][207][210][160][204][193][206][196][201][206][199]";:gosub 800
  48. 250 print vv$(24)bb$vv$(24)"press button to go on";:c0%=0
  49. 255 if c0%=0 then 255
  50. 256 if c0%=1 then c0%=0:goto 256
  51. 260 print vv$(23)bb$vv$(24)bb$;
  52. 265 print vv$(23)left$(ff$,qf)vv$(24)left$(ss$,qs);:return
  53. 270 print vv$(23)"[207][213][212][160][207][198][160][198][213][197][204][146]";:for i=0 to 1999:next:goto 280
  54. 275 print vv$(24)"[207][213][212][160][207][198][160][193][201][210][146]";:for i=0 to 1999:next
  55. 280 sp%=0:gosub 90:poke es,0:sys 40768
  56. 281 poke 56578,peek(56578)or3:poke 56576,(peek(56576)and 252)or 3
  57. 282 poke 53272,20:poke 648,4:print "[147]";
  58. 283 gosub 95:print " "gb$" has removed you as pilot.":i=len(gl$):gosub 50
  59. 284 print:print " with luck, "gn$(i)" can pilot"
  60. 285 print " the family to fortune--and survival!";
  61. 286 print vv$(24)"[208][210][197][211][211][160][194][213][212][212][207][206][160][212][207][160][195][207][206][212][201][206][213][197][146]";
  62. 287 gosub 40:if jb=0 then 287
  63. 295 goto 300
  64. 300 print "[147]"vv$(10)"[160][160][160][160][160][160][208][204][193][217][160][193][199][193][201][206][191]"vv$(12)"[160][160][160][160][160][160][209][213][201][212][191][160][160][160][160][160][160]";
  65. 305 print vv$(2)"cargo value     [146]\"str$(cv*10000)
  66. 306 print vv$(4)"surviving crew  [146] "str$(len(gl$))
  67. 307 lv=10:xv=10:for i=0 to 599:next
  68. 308 print vv$(xv)rx$vv$(lv)"[173][146]":xv=lv
  69. 309 gosub 40:if jb>0 then 315
  70. 310 if(jy<>1)and(jy<>2) then 309
  71. 311 if lv=10 then lv=12:goto 308
  72. 312 lv=10:goto 308
  73. 315 if lv=12 then 370
  74. 320 gl$=left$(pz$,33):py$=left$(pz$,tn)
  75. 321 gb=int(rnd(0)*33):gb$=gn$(gb):i=gb:gosub 875:pv=0
  76. 330 gosub 700
  77. 335 goto 12
  78. 370 print vv$(24)"till next time, gypsy pilot[146]";:for i=0 to 1999:next
  79. 379 rem ** reenable shift/commodore and run-stop/restore
  80. 380 poke 657,0:poke 792,71:poke 808,237
  81. 390 sys 65126
  82. 400 qs=33:print vv$(24)left$(ss$,qs);:poke es,0:sys 40768
  83. 401 vt(wp)=1:dg$=left$(pz$,3):tr$=left$(pz$,ht(wp)):ft=0
  84. 405 poke 56578,peek(56578)or3:poke 56576,(peek(56576)and 252)or 3
  85. 410 poke 53272,20:poke 648,4
  86. 415 print "[147][146]";:gosub 95
  87. 416 print " you have landed a group of gypsies on"
  88. 417 print " "mm$(0,2-rp(wp));:if pn(wp)<254 then print " named "nm$(pn(wp))
  89. 418 print vv$(2)" (it is "mm$(1,hb(wp))")"
  90. 419 print vv$(4)" your first report to the ship notes:"
  91. 420 print ""vv$(5)pm$(pd(wp),hb(wp))vv$(8)"[215][200][193][212][160][215][201][204][204][160][217][207][213][160][196][207][160][206][207][215][191][146]";
  92. 421 on hb(wp) goto 500,500
  93. 422 print ""vv$(9)"[160][160][204][207][207][203][160][193][210][207][213][206][196]"vv$(10)"[160][160][212][193][203][197][160][215][200][193][212][160][215][197][160][206][197][197][196]";
  94. 423 print vv$(11)"[160][160][199][197][212][160][194][193][195][203][160][212][207][160][212][200][197][160][211][200][201][208]"vv$(12)"[160][160][210][197][211][201][199][206][160][193][211][160][208][201][204][207][212][154]";
  95. 424 k=9:l=k
  96. 425 print vv$(l)rx$vv$(k)rr$;:l=k
  97. 426 gosub 40:if jb>0 then 431
  98. 427 if jy=1 then k=k-1:if k<9 then k=12
  99. 428 if jy=2 then k=k+1:if k>12 then k=9
  100. 429 if k=l then 426
  101. 430 goto 425
  102. 431 print vv$(l)rx$;:on k-8 goto 432,435,480,470
  103. 432 i=dl(wp):gosub 50:if i<3 then 440
  104. 433 i=ef(wp):gosub 50:if i<3 and len(tr$)>0 then 450
  105. 434 gosub 55:print "[160][198][207][213][206][196][160][206][207][212][200][201][206][199][160][215][207][210][212][200][215][200][201][204][197][160]";:goto 424
  106. 435 if ft>0 then gosub 55:print "[160][199][207][212][160][201][212][161][160]";:cv=cv+ft:ft=0:goto 424
  107. 436 i=dl(wp):gosub 50:if i<3 then 440
  108. 437 gosub 55:print "[160][215][200][193][212][167][211][160][212][207][160][212][193][203][197][191][160]";:goto 424
  109. 440 gosub 55:print " pilot!  it's awful!  ";
  110. 441 i=len(gl$):gosub 50:print gn$(i)" just"
  111. 442 gosub 875:if len(gl$)<5 then sp%=1:print vv$(23)" too many lost, pilot!";
  112. 443 print am$(pd(wp),hb(wp),asc(left$(dg$,1)),0)"[146]";
  113. 444 i=len(dg$):if i<2 then 446
  114. 445 dg$=right$(dg$,i-1):on hb(wp) goto 507,507:goto 424
  115. 446 print vv$(24)"[160][208][210][197][211][211][160][194][213][212][212][207][206][160][212][207][160][195][207][206][212][201][206][213][197][160]";
  116. 447 gosub 40:if jb=0 then 447
  117. 448 print vv$(18)gn$(gb)" orders you: return to the ship!";
  118. 449 goto 480
  119. 450 gosub 55:print "[160][208][201][204][207][212][161][160][160][204][207][207][203][160][215][200][193][212][160][215][197][160][198][207][213][206][196][161][160][160]"
  120. 451 print am$(pd(wp),hb(wp),asc(left$(tr$,1)),1)"[146]";
  121. 452 i=10:gosub 50:ft=1+(i*lv):i=12-dl(wp):if i<1 then 454
  122. 453 gosub 50:ft=ft-i
  123. 454 if ft=0 then ft=1
  124. 455 i=len(tr$):if i=1 then tr$="":goto 457
  125. 456 tr$=right$(tr$,i-1)
  126. 457 on hb(wp) goto 507,507:goto 424
  127. 470 sp%=1:gosub 90:goto 490
  128. 480 gosub 55
  129. 481 print "[211][213][210][214][201][214][201][206][199][160][195][210][197][215][160][160]"len(gl$)vv$(20)"[195][193][210][199][207][160][214][193][204][213][197][160][160][160][160][220]"cv*10000
  130. 482 print vv$(24)"[160][208][210][197][211][211][160][194][213][212][212][207][206][160][212][207][160][195][207][206][212][201][206][213][197][160][146]";
  131. 483 for i=0 to 599:next
  132. 484 gosub 40:if jb=0 then 484
  133. 490 gosub 800
  134. 491 if(peek(52)-peek(50))<4 then l=fre(9)
  135. 495 gosub 600:sys 38046:poke 648,140:poke es,31
  136. 496 return
  137. 500 print ""vv$(9)"[160][160][204][207][207][203][160][193][210][207][213][206][196]"vv$(10)"[160][160][193][211][203][160][209][213][197][211][212][201][207][206][211]";
  138. 501 print vv$(11)"[160][160][208][213][212][160][207][206][160][193][160][211][200][207][215]"vv$(12)"[160][160][207][198][198][197][210][160][212][207][160][212][201][206][203][197][210]";
  139. 502 print vv$(13)"[160][160][196][201][195][203][197][210][160][215][201][212][200][160][212][200][197][160][204][207][195][193][204][211]"vv$(14)"[160][160][193][211][203][160][198][207][210][160][200][197][204][208]";
  140. 503 print vv$(15)"[160][160][212][193][203][197][160][215][200][193][212][160][215][197][160][206][197][197][196]"vv$(16)"[160][160][199][197][212][160][194][193][195][203][160][212][207][160][212][200][197][160][211][200][201][208]";
  141. 504 print vv$(17)"[160][160][210][197][211][201][199][206][160][193][211][160][208][201][204][207][212][154]";
  142. 507 k=9:l=k
  143. 508 print vv$(l)rx$vv$(k)rr$;:l=k
  144. 509 gosub 40:if jb>0 then 515
  145. 510 if jy=1 then k=k-1:if k<9 then k=17
  146. 511 if jy=2 then k=k+1:if k>17 then k=9
  147. 512 if k=l then 509
  148. 513 goto 508
  149. 515 print vv$(l)rx$;:on k-8 goto 520,530,540,550,560,570,580,480,470
  150. 520 i=dl(wp):gosub 50:if i<3 then 440
  151. 521 i=ef(wp):gosub 50:if i<3 and len(tr$)>0 then 450
  152. 522 gosub 55:print "[160][198][207][213][206][196][160][206][207][212][200][201][206][199][160][215][207][210][212][200][215][200][201][204][197][160]";:goto 507
  153. 529 goto 507
  154. 530 if hb(wp)<>1 then 532
  155. 531 if dl(wp)<5 then dl(wp)=3:gosub 55:print "[162][199][207][160][193][215][193][217][162]";:goto 507
  156. 532 if dl(wp)>7 and len(tr$)>0 then 450
  157. 533 gosub 55:if hb(wp)=1 then print "[162][211][207][210][210][217][173][173][195][193][206][167][212][160][200][197][204][208][160][217][207][213][162]";:goto 507
  158. 534 print "[162][206][207][160][211][208][197][193][203][160][199][193][204][193][195][212][201][195][160][204][193][206][199][213][193][199][197][160][211][207][160][211][207][210][210][217][162]";:goto 507
  159. 540 if dl(wp)<7 then dl(wp)=dl(wp)+1:goto 542
  160. 541 gosub 55:print "[160][212][200][197][160][217][207][203][197][204][211][160][196][207][206][167][212][160][193][208][208][210][197][195][201][193][212][197][160][193][210][212][160]";:goto 507
  161. 542 gosub 55:print "[160][200][197][193][210][160][212][200][197][160][193][208][208][204][193][213][211][197][191][160][160][212][200][197][217][160][204][207][214][197][160][213][211][161][160]";:goto 507
  162. 550 if hb(wp)=1 then i=dl(wp):gosub 50:if i<3 then dl(wp)=dl(wp)+1:goto 552
  163. 551 gosub 55:print "[160][212][200][197][217][167][214][197][160][199][207][212][160][206][207][212][200][201][206][199][160][198][207][210][160][213][211][160][212][207][160][198][201][216][160]";:goto 507
  164. 552 gosub 55:print "[160][212][200][197][217][160][204][201][203][197][196][160][207][213][210][160][215][207][210][203][172][160][208][201][204][207][212][160]";
  165. 553 if ef(wp)>4 then ef(wp)=ef(wp)-1
  166. 554 goto 507
  167. 560 if ft<>0 then 563
  168. 561 if (dl(wp)>6)and(ef(wp)<10)and len(tr$)>0 then 565
  169. 562 gosub 55:print "[162][206][207][160][196][197][193][204][211][160][215][201][212][200][160][199][217][208][211][201][197][211][161][162]";:goto 507
  170. 563 if dl(wp)<4 then 562
  171. 564 gosub 55:print "[160][199][207][212][160][201][212][161][160]";:cv=cv+ft:ft=0:goto 507
  172. 565 gosub 55:print "[160][193][204][204][160][210][201][199][200][212][172][160][199][217][208][211][201][197][211][174][160][160][217][207][213][160][215][193][206][212][160][212][207][160][194][213][217][160]"
  173. 566 print ""am$(pd(wp),hb(wp),asc(left$(tr$,1)),1)"[160][191][146]";
  174. 567 goto 452
  175. 570 if hb(wp)=1 then 573
  176. 571 dl(wp)=dl(wp)+1:if ef(wp)>6 then ef(wp)=ef(wp)-1
  177. 572 gosub 55:print "[162][215][197][167][204][204][160][196][207][160][215][200][193][212][160][215][197][160][195][193][206][173][173][203][197][197][208][160][204][207][207][203][201][206][199][162]";:goto 507
  178. 573 if dl(wp)>7 then 575
  179. 574 gosub 55:print "[162][202][213][211][212][160][215][200][193][212][160][215][197][160][206][197][197][196][173][173][199][217][208][211][217][160][194][197][199][199][193][210][211][161][162]";:goto 507
  180. 575 if ef(wp)>4 then ef(wp)=ef(wp)-1:goto 572
  181. 576 gosub 55:print "[162][212][200][197][210][197][167][211][160][206][207][212][200][201][206][199][160][215][197][160][195][193][206][160][196][207][173][173][211][207][210][210][217][160][162]";:goto 507
  182. 579 goto 507
  183. 580 if ft<>0 then gosub 55:print "[160][199][207][212][160][201][212][161][160]":cv=cv+ft:ft=0:goto 583
  184. 581 i=dl(wp):gosub 50:if i<3 then 440
  185. 582 gosub 55:print "[160][215][200][193][212][167][211][160][212][207][160][212][193][203][197][191][160]":dl(wp)=dl(wp)-2:goto 585
  186. 583 if dl(wp)<8 then 440
  187. 584 dl(wp)=dl(wp)-3:i=dl(wp):gosub 50:if i<3 then 440
  188. 585 print "[162][215][197][160][196][207][206][167][212][160][204][201][203][197][160][217][207][213][172][160][212][200][201][197][214][201][206][199][160][199][217][208][211][201][197][211][161][162]":goto 507
  189. 586 if dl(wp)<8 then 440
  190. 587 dl(wp)=dl(wp)-3:i=dl(wp):gosub 50:if i<3 then 440
  191. 589 goto 507
  192. 600 vb=32768:poke 56578,peek(56578)or3:poke 56576,(peek(56576)and 252)or 1
  193. 602 sb=0:poke 53272,(sb*16)+4:sb=vb+1024*sb
  194. 604 bb=sb/256:poke 648,bb
  195. 611 rem ** sprite color table
  196. 612 ct(0)=53287:for i=1 to 7:ct(i)=ct(i-1)+1:next
  197. 613 hh(0)=53248:vv(0)=53249:for i=1 to 7:hh(i)=hh(0)+i*2:vv(i)=vv(0)+i*2:next
  198. 618 hr=53264
  199. 620 es=53269
  200. 622 poke 53271,0
  201. 624 poke 53277,0
  202. 626 poke 53275,0
  203. 628 poke 53276,30
  204. 630 poke 53285,15:poke 53286,7
  205. 635 for i=0 to 7:bc(i)=255-bs(i):next
  206. 638 rem     *** initialize values ***
  207. 640 print "[154]";
  208. 642 poke 53281,0
  209. 644 poke 53280,0
  210. 646 poke ct(0),7:poke ct(1),5:poke ct(2),2:poke ct(3),6:poke ct(4),12
  211. 659 rem       *** ml table setup ***
  212. 661 poke 37920,4:poke 37921,4
  213. 663 poke 37922,1
  214. 665 poke 37923,0
  215. 667 poke 37924,1:poke 37925,1
  216. 669 poke 37936,1
  217. 671 poke 37940,1
  218. 673 poke 37941,0
  219. 674 rem ** go-speed timer (number of sprite 0 moves per interrupt [1=slowest])
  220. 675 poke 37926,3:poke 37928,3
  221. 677 poke 37927,0:poke 37935,0:poke 37943,0
  222. 679 poke 53282,1:poke 53283,7:poke 53284,9
  223. 693 rem     ** safety procedures ***
  224. 694 poke 657,128:rem disable shift/commodore character set switch
  225. 695 poke 808,234:poke 792,193:rem disable stop and stop/restore
  226. 696 return
  227. 699 rem *** intro screen ***
  228. 700 poke 53281,0:poke 53280,4:poke 53265,peek(53265)or 64:print "[154][147]";
  229. 701 poke 53282,7:poke 53283,9:poke 53284,1
  230. 705 print ""tab(14)"[199][217][208][211][217][160][160][208][201][204][207][212][146]":print:print
  231. 710 print "    you have been chosen to pilot the"
  232. 711 print "family's starship in search of worlds
  233. 712 [153] "where we can trade, put on shows, and"
  234. 713 [153] "perhaps find some spectacular treasure.":[153]
  235. 714 [153] "    most important, though, is to keep
  236. 715 print "the family safe.  there are dangers out"
  237. 716 print "among the stars.  and you must answer"
  238. 717 print "for any lives that are lost.":print:print
  239. 720 print "    how dangerous a voyage do you dare  attempt?"
  240. 721 print "[160][160][160][160][160][214][197][210][217][160][196][193][206][199][197][210][207][213][211][160][160][160][160]"
  241. 722 print "[160][160][160][160][160][194][207][204][196][160][194][213][212][160][206][207][212][160][195][210][193][218][217]"
  242. 723 print "[160][160][160][160][160][208][210][197][212][212][217][160][211][193][198][197][160][160][160][160][160][160][160]":print:print "(use joystick in port 2)";
  243. 724 vv$(0)="":for i=1 to 24:vv$(i)=vv$(i-1)+"":next:rr$="=[146]":rx$="[160]":lv=18
  244. 725 rr$="=[146]":rx$="[160]":lv=18:xv=lv
  245. 726 print vv$(xv)rx$vv$(lv)rr$;:xv=lv
  246. 727 jb=0:jy=0:gosub 40:if jb>0 then lv=lv-17:goto 731
  247. 728 if jy=1 then lv=lv-1:if lv<18 then lv=20
  248. 729 if jy=2 then lv=lv+1:if lv>20 then lv=18
  249. 730 goto 726
  250. 731 print "[147][204][193][211][212][160][205][201][206][213][212][197][160][201][206][211][212][210][213][195][212][201][207][206][211]"
  251. 735 print:print "   the ship's computer will locate       planets:":print
  252. 736 print "   [199][193][211][160][199][201][193][206][212][211][160][160][160] for hydrogen fuel     ":print
  253. 737 print "   [210][207][195][203][217][160][208][204][193][206][197][212][211] for the elements that "
  254. 738 print " support life--carbon, oxygen, nitrogen"
  255. 740 print:print "   your job is to pilot the ship into"
  256. 741 print " stationary orbit, so it follows right"
  257. 742 print " along with the planet.  fuel and"
  258. 743 print " supplies are taken aboard by machines.":print
  259. 744 print "   to visit a planet, press the button"
  260. 745 print " while in stationary orbit."
  261. 750 print vv$(24)"[208][210][197][211][211][160][194][213][212][212][207][206][160][212][207][160][199][207][160][207][206]";
  262. 751 gosub 40
  263. 760 print "[147] you can take a nap now--it takes a     ";
  264. 761 print " while to load supplies aboard the ship."
  265. 765 return
  266. 800 rp(wp)=0:j=0
  267. 805 if(wp=2)or(wp=4) then j=rnd(0)*100
  268. 807 if j>88 then rp(wp)=1:if j>96 then rp(wp)=2:pn(wp)=254:pd(wp)=10
  269. 810 hb(wp)=int(rnd(0)*3):if rp(wp)=2 and hb(wp)=0 then hb(wp)=1
  270. 811 dl(wp)=3+int(6*rnd(0))+lv-hb(wp):ef(wp)=6+int(6*rnd(0))-lv-hb(wp)
  271. 812 ht(wp)=1+int(3*rnd(0))
  272. 820 if rp(wp)=2 then return
  273. 822 pv=pv+1:if pv>28 then sp%=1:goto 885
  274. 825 i=len(px$(hb(wp))):if i<1 then 810
  275. 830 j=int(rnd(0)*i)+1:gosub 860
  276. 835 pd(wp)=asc(mid$(px$(hb(wp)),j,1))
  277. 840 if i>2 then goto 855
  278. 845 if i=1 then px$(hb(wp))="":return
  279. 850 px$(hb(wp))=mid$(px$(hb(wp)),xq(j),1):return
  280. 855 if j=1 then px$(hb(wp))=right$(px$(hb(wp)),i-1):return
  281. 856 if j=i then px$(hb(wp))=left$(px$(hb(wp)),i-1):return
  282. 857 px$(hb(wp))=left$(px$(hb(wp)),j-1)+right$(px$(hb(wp)),i-(j+1)):return
  283. 860 k=len(py$):l=1+int(rnd(0)*k)
  284. 865 pn(wp)=asc(mid$(py$,l,1))
  285. 868 if l=1 then py$=right$(py$,k-1):return
  286. 869 if l=k then py$=left$(py$,k-1):return
  287. 870 py$=left$(py$,l-1)+right$(py$,k-(l+1)):return
  288. 875 if i=0 then gl$=right$(gl$,len(gl$)-1):return
  289. 876 if i=len(gl$)-1 then gl$=left$(gl$,i-1):return
  290. 880 gl$=left$(gl$,i)+right$(gl$,len(gl$)-(i+1)):return
  291. 885 print vv$(23)"[160][160][217][207][213][160][204][197][196][160][213][211][160][212][207][160][178][185][160][215][207][210][204][196][211][173][173][199][207][207][196][160][215][207][210][203][161][160][160][160]"bb$;
  292. 890 return
  293. 900 for i=1 to 4:poke hh(i),20+int(rnd(9)*220)
  294. 901 poke vv(i),50+int(rnd(9)*190):next
  295. 902 poke hr,0
  296. 909 rem ** put stars on the screen
  297. 910 print "[147]";:for i=0 to 49:poke vb+int(rnd(9)*1024),46:next
  298. 915 for i=0 to 8:poke vb+int(rnd(9)*1024),42:next
  299. 919 rem ** starship position
  300. 920 poke 53248,175:poke 53249,150
  301. 921 rem ** starship direction
  302. 922 poke vb+1016,16
  303. 929 rem ** setup strings
  304. 931 bb$="[146]                                "
  305. 935 ff$="fuel                            "
  306. 936 ss$="[211][213][208][208][204][201][197][211][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]"
  307. 937 qf=33:qs=33
  308. 938 for i=0 to 2:px$(i)=left$(pz$,10):next
  309. 939 rem ** level of play
  310. 940 ts=50:if lv<3 then ts=20:if lv<2 then ts=10
  311. 941 tm=ts:fm=ts/2
  312. 942 xq(1)=2:xq(2)=1
  313. 944 print vv$(23)" pause a moment for garbage disposal ...";
  314. 945 for wp=1 to 4:gosub 800:next
  315. 946 cv=1
  316. 947 return
  317. 1998 rem    ***  machine language  ***
  318. 1999 rem load ml file
  319. 2000 load "gypsy video",8,1
  320. 2100 open 2,8,2,"gypsy planets"
  321. 2110 dim nm$(254),gn$(33),mm$(1,2),pm$(10,2),am$(10,2,2,1)
  322. 2120 tn=0:nm$(254)="[193][210][212][201][198][201][195][201][193][204][160][211][193][212][197][204][204][201][212][197]"
  323. 2130 input#2,nm$(tn):if nm$(tn)="xxxxx" then 2145
  324. 2140 tn=tn+1:goto 2130
  325. 2145 pz$="":for i=0 to 254:pz$=pz$+chr$(i):next:py$=left$(pz$,tn):l=fre(9)
  326. 2150 for i=0 to 1:for j=0 to 2:input#2,mm$(i,j):next:next
  327. 2160 for i=0 to 32:input#2,gn$(i):next:gl$=left$(pz$,33)
  328. 2161 print "[147][160][160][160][160][160][160][160][160][200][197][210][197][160][201][211][160][212][200][197][160][199][217][208][211][217][160][198][193][205][201][204][217][160][160][160][160][160][160][160][160]"
  329. 2163 gb=int(rnd(0)*33):gb$=gn$(gb):i=gb:gosub 875
  330. 2164 print "";:for i=1 to 32 step 2
  331. 2165 print ,gn$(asc(mid$(gl$,i,1))),gn$(asc(mid$(gl$,i+1,1))):next:print "[154]";
  332. 2166 a$="[160]"+gb$+"[154][160][201][211][160][200][197][193][196][160][207][198][160][212][200][197][160][198][193][205][201][204][217][174]":l=int((42-len(a$))/2)
  333. 2167 b$="":for i=1 to l:b$=b$+"[160]":next:a$=b$+a$:for i=len(a$) to 42
  334. 2168 a$=a$+"[160]":next:print:print a$
  335. 2169 print " now the computer will update its star"
  336. 2170 print " charts--and then we're on our way!"
  337. 2180 for i=0 to 2:for j=0 to 9:input#2,pm$(j,i)
  338. 2190 for k=0 to 1:for l=0 to 2:input#2,am$(j,i,l,k):next:next:next:next
  339. 2195 for i=1 to 2:read pm$(10,i):for k=0 to 1:for l=0 to 2
  340. 2196 read am$(10,i,l,k):next:next:next
  341. 2200 close 2:return
  342. 2210 data a spanking new space station with a crewof lonely humans
  343. 2211 data got waylaid by sex-starved crew members and now refuses to leave
  344. 2212 data stumbled on illegal drugs and was shot,was caught selling hooch
  345. 2213 data an urgent message of an alien invasion,vital data about this system
  346. 2214 data a thrilling novel the crew has written  in their endless spare time
  347. 2220 data an ancient alien orbital vessel with a  crew of giant speechless bees
  348. 2221 data went exploring--found the queen and was stung to death
  349. 2222 data tried to breathe the alien air,was kidnapped and used for larva food
  350. 2223 data a kind of honey that gives temporary    telepathic abilities
  351. 2224 data a structural beeswax stronger than steel
  352. 2225 data observations of the bees--including     their magnificent dancing
  353.