home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 59 / 059.d81 / lifeboat (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  8KB  |  219 lines

  1. 10 printchr$(147);chr$(14);:poke53280,0:poke53281,0
  2. 15 gosub 61000
  3. 20 nr=11:nv=33:nn=6:no=6:rm=1:m=0:v4=100
  4. 30 dimmp(nr,7),vb$(nv),nn$(nn),no$(no,1),rn$(nr),op(no)
  5. 40 fori=1tonv:readvb$(i):next:fori=1tonn:readnn$(i):next
  6. 50 fori=1tonr:forj=1to6:readmp(i,j):next:readrn$(i):next
  7. 60 fori=1tono:readob$(i,0),ob$(i,1),op(i):next
  8. 70 mp(1,7)=1:print"[200][197][204][208] is available.":goto640
  9. 80 if(int(rnd(1)*100)+1<10)orm=0thena$="[217]pv gfbq fwokptjpmt!":gosub880
  10. 90 ifm>60then1750
  11. 100 ifrm=10andop(3)=0then1660
  12. 110 ifrm=10andv2=1then1700
  13. 120 ifv4<mthenprint"[212]he lifeboat has launched without you!":goto800
  14. 130 ifv5=1thenprintv4-m+1"moves to launch."
  15. 140 a1=0:print"[215]hat now? ";:limit=25:gosub50000:print:iflen(am$)>20then80
  16. 150 fori=1tolen(am$):ifmid$(am$,i,1)<>" "thennext:w1$=am$:w2$="":goto170
  17. 160 w1$=left$(am$,i-1):w2$=mid$(am$,i+1,15)
  18. 170 fori=1tonv
  19. 175 ifvb$(i)<>left$(w1$,3)thennext:print"[201] don't know "w1$:goto80
  20. 180 w1=i:ifw2$=""thenw2=0:goto220
  21. 190 fori=1tonn:ifnn$(i)=left$(w2$,3)thenw2=i:goto220
  22. 200 next:fori=1tono:ifleft$(w2$,3)=ob$(i,1)thenw2=i:a1=1:goto220
  23. 210 next:w2=100
  24. 220 m=m+1:ifw1=1thenprintm"moves.":print:goto80
  25. 230 ifw1<12then360
  26. 240 ifw1<14then560
  27. 250 ifw1<16then610
  28. 260 ifw1<19then640
  29. 270 ifw1<24then690
  30. 280 ifw1<26then730
  31. 290 ifw1<28then760
  32. 300 ifw1<30then800
  33. 310 ifw1<32then920
  34. 320 ifw1=32andw2$="something"andrm=7then1580
  35. 330 ifw1=32andw2$="something"thena$="[206]p lfzapbqc!":gosub880:goto80
  36. 340 ifw1=33thenprint"type something":ifrm=7thenprint"here!"
  37. 350 ifw1=33then80
  38. 360 ifrm=4and(w1=3orw2=2)andv1=0then390
  39. 370 ifrm=6and(w1=2orw2=1)andv1=0then390
  40. 380 goto400
  41. 390 a$="[195]bqhp jt mps oqfttvqjyfc.":gosub880:goto80
  42. 400 ifw1>8andw2$="hatch"and(rm=3orrm=7)thenprint"[201]t's locked!":goto80
  43. 410 ifw1>8andw2$="hatch"thenprint"[215]hat hatch?":goto80
  44. 420 ifw1<8or(w1>7andw2<7)then440
  45. 430 print"[196]o what?":goto80
  46. 440 ifw1<8thenw2=w1-1
  47. 450 ifmp(rm,w2)>0then500
  48. 460 ifmp(rm,w2)<0thenprint"[212]he door is locked!":goto80
  49. 470 ifw2<5thenprint"[211]omething solid hits you in the face!":goto80
  50. 480 ifw2=5thenprint"[217]ou can't climb air!":goto80
  51. 490 print"[217]ou fall on your face.":goto80
  52. 500 rm=mp(rm,w2):print:print""rn$(rm):ifmp(rm,7)=1thengosub840:goto80
  53. 510 mp(rm,7)=1
  54. 520 de=0:onrmgosub1160,1200,1280,1240,1320,1350,1380,1430,1470,1510,1540
  55. 530 gosub840
  56. 540 ifde=1then800
  57. 550 goto80
  58. 560 ifw2=2thena1=0
  59. 570 ifw2=1thena1=0
  60. 580 ifa1=0thenprint"[217]ou can't take that.":goto80
  61. 590 ifop(w2)<>rmthenprint"[217]ou don't see it.":goto80
  62. 600 op(w2)=0:printchr$(asc(left$(w2$,1))+32);mid$(w2$,2,10);" taken."
  63. 605 goto80
  64. 610 ifa1=0orop(w2)<>0thenprint"[217]ou don't have it.":goto80
  65. 620 op(w2)=rm:printchr$(asc(left$(w2$,1))+32);mid$(w2$,2,10);" dropped."
  66. 630 goto80
  67. 640 ifw2=5andrm=1thenprint"[212]here is something under it!":goto80
  68. 650 ifw1=18andw2=1andrm=5andop(3)=11thengosub1800:goto80
  69. 660 ifw1=18andw2=1andrm=5thenprint"[201]t is empty.":goto80
  70. 670 ifw1=18thenprint"[217]ou see nothing special.":goto80
  71. 680 print""rn$(rm):goto520
  72. 690 ifrm=1andw2=5andop(6)=11thenprint"[217]ou find "ob$(6,0)".":op(6)=1:goto80
  73. 700 ifw2=5andop(6)<>11thenprint"[217]ou already did that!":goto80
  74. 710 ifrm<>1andw2=5thenprint"[196]on't see it!":goto80
  75. 720 print"[215]hy?":goto80
  76. 730 ifw1=24andrm=5andw2=1andop(3)=11andop(4)=0thengosub1810
  77. 740 ifv3=1thengosub880:v3=0:op(3)=5:goto530
  78. 750 print"[217]ou can't do that.":goto80
  79. 760 ifop(6)<>0thenprint"[217]ou have no key.":goto80
  80. 770 ifrm>2thenprint"[212]hat door doesn't lock."
  81. 780 ifw1=26thenmp(1,3)=-2:mp(2,4)=-1:print"[207]k.":goto80
  82. 790 mp(1,3)=2:mp(2,4)=1:print"[207]k.":goto80
  83. 800 print:print"[194]etter luck next time."
  84. 810 print"[212]ry again? (y/n)"
  85. 815 gety$:ify$<>"y"andy$<>"n"then815
  86. 820 ify$="y"thenrun
  87. 830 print"[147]":goto 60000
  88. 840 am=0:fori=1tono:ifrm=op(i)andam=0thenam=1:print"[217]ou see ";
  89. 850 ifrm=op(i)thenprintob$(i,0)", ";
  90. 860 next:ifam>0thenprint"[157][157]."
  91. 870 return
  92. 880 fori=1tolen(a$):a=1:b=asc(mid$(a$,i,1))
  93. 890 ifb<65orb>90thenprintchr$(b);:nexti:print:return
  94. 900 ifb/2=int(b/2)thena=-1
  95. 910 printchr$(b+a);:nexti:print:return
  96. 920 print"[217]ou are carrying:"
  97. 930 am=0:fori=1tono:ifop(i)=0thenam=1:printob$(i,0)
  98. 940 next:ifam=0thenprint"[206][207][212][200][201][206][199]!"
  99. 950 goto80
  100. 960 datatim,n,s,e,w,u,d,go,ent,wal,run,tak,get,dro,lea,l,loo,exa
  101. 970 datamov,pus,pul,sho,hit,ope,clo,loc,unl,qui,end,i,inv,typ,hel
  102. 980 datanor,sou,eas,wes,up,dow
  103. 990 data0,0,-2,0,0,0,"[217]our cabin"
  104. 1000 data4,6,0,-1,0,0,"[200]allway"
  105. 1010 data11,4,0,0,0,0,"[197]ngine room"
  106. 1020 data3,5,9,2,0,0,"[208]assageway"
  107. 1030 data4,6,0,0,0,0,"[195]argo"
  108. 1040 data5,7,9,2,0,0,"[208]assageway"
  109. 1050 data6,8,0,0,0,0,"[195]omputer room"
  110. 1060 data7,0,0,0,0,0,"[194]ridge"
  111. 1070 data4,6,10,0,0,0,"[204]ifeboat bay"
  112. 1080 data9,9,9,9,0,0,"[204]ifeboat"
  113. 1090 data0,0,0,0,0,0,"[197]ngines"
  114. 1100 data"a large crate",cra,5
  115. 1110 data"a hatch in the floor",hat,3
  116. 1120 data"a small device",dev,11
  117. 1130 data"a bent crowbar",cro,8
  118. 1140 data"a large bed",bed,1
  119. 1150 data"a keycard",key,11
  120. 1160 a$="[217]pv tjs xjsgjm zpvq qppn, dpmsfnokbsjmh":gosub880
  121. 1170 a$="xgbs sp cp mfws.  [212]gf cppqxbz jt jm sgf":gosub880
  122. 1180 a$="fbts xbkk, avs sgf evqmjtgjmht bqf spp":gosub880
  123. 1190 a$="fmsjdjmh sp kfbuf.":gosub880:return
  124. 1200 a$="[217]pv tsbmc ivts pvstjcf zpvq fwofmtjuf":gosub880
  125. 1210 a$="dbajm pm sgf kvwvqz kjmfq.  [212]gf gbkkxbz":gosub880
  126. 1220 a$="qvmt mpqsg-tpvsg xjsg zpvq dbajm sp sgf":gosub880
  127. 1230 a$="xfts.  [211]jqfmt xbjk xjsgjm sgf tgjo.":gosub880:return
  128. 1240 a$="[198]qpn gfqf js jt opttjakf sp hp mpqsg,":gosub880
  129. 1250 a$="tpvsg, fbts, pq xfts.  [212]p sgf tpvsg jt":gosub880
  130. 1260 a$="sgf dbqhp abz, xgjdg jt mpqnbkkz mps":gosub880
  131. 1270 a$="oqfttvqjyfc.":gosub880:return
  132. 1280 a$="[212]gjt jt sgf nbtsfq fmhjmf qppn. [193]":gosub880
  133. 1290 a$="tgqjkk tpvmc fdgpft eqpn sgf mpqsgfqm":gosub880
  134. 1300 a$="dqbxkxbz.  [193] qvtsfc cppq fwjst sp sgf":gosub880
  135. 1310 a$="tpvsg.":gosub880:return
  136. 1320 a$="[193]kk pe sgftf dqbsft dpmsbjm dbqhp sp af":gosub880
  137. 1330 a$="sblfm sp zpvq cftsjmbsjpm.  [193] efx njhgs":gosub880
  138. 1340 a$="dpmsbjm tobqf obqst.  [196]ppqt kfbc mpqsg  bmc tpvsg."
  139. 1345 gosub880:return
  140. 1350 a$="[207]mf pe sgf nbmz obttbhfxbzt pm sgf":gosub880
  141. 1360 a$="tgjo, eqpn gfqf js jt opttjakf sp hp":gosub880
  142. 1370 a$="mpqsg, tpvsg, fbts, bmc xfts.":gosub880:return
  143. 1380 a$="[211]sqfxm bapvs sgf ekppq pe sgjt dpnovsfq":gosub880
  144. 1390 a$="qppn bqf aqplfm nfnpqz dqztsbkt,":gosub880
  145. 1400 a$="boobqfmskz eqpn sgf tgjo't nbjm":gosub880
  146. 1410 a$="dpnovsfq.  [193] kpdlfc gbsdg jt jm sgf":gosub880
  147. 1420 a$="ekppq, bmc fwjst bqf mpqsg bmc tpvsg.":gosub880:return
  148. 1430 a$="[212]gf aqjchf jt jm tgbnakft!  [211]pnfpmf gbt":gosub880
  149. 1440 a$="cfejmbsfkz tbapsbhfc sgf tgjo.  [193]qf":gosub880
  150. 1450 a$="zpv hfssjmh xpqqjfc zfs?  [207]mf fwjs":gosub880
  151. 1460 a$="kfbct mpqsg.":gosub880:return
  152. 1470 a$="[212]xp pe sgf sgqff kjefapbst bqf njttjmh;":gosub880
  153. 1480 a$="sgf kbts kjefapbs jt sp sgf fbts.  [212]xp":gosub880
  154. 1490 a$="dvqujmh obttbhfxbzt fwjs eqpn gfqf, pmf":gosub880
  155. 1500 a$="mpqsg bmc pmf tpvsg.":gosub880:return
  156. 1510 a$="[212]gf kjefapbs jt b kjsskf abmhfc-vo.":gosub880
  157. 1520 a$="[211]pnf obqst tffn sp af njttjmh.  [201]s jt":gosub880
  158. 1530 a$="bt je zpv bqf mps xbmsfc sp kfbuf!":gosub880:return
  159. 1540 a$="[215]gz cjc zpv cp sgbs?  [215]bt js mps":gosub880
  160. 1550 a$="paujpvt sgbs sgftf bqf sgf fmhjmft?":gosub880
  161. 1560 a$="[217]pv gbuf dpmtfrvfmskz jmdfmfqbsfc":gosub880
  162. 1570 a$="zpvqtfke.  [193]qf zpv gbooz mpx?":gosub880:goto800
  163. 1580 print"[212]he screen replies:"
  164. 1590 a$="[197]msfq 1 sp oqfttvqjyf dbqhp.":gosub880
  165. 1600 a$="[197]msfq 2 sp bdsjubsf [204]jef[194]pbs.":gosub880
  166. 1610 print"[197]nter your choice now->  [146]"
  167. 1615 poke198,0:wait198,1:geta$:a=val(a$)
  168. 1620 ifa<1ora>2then80
  169. 1630 print"[207][203].":ifa=1thenv1=1:goto80
  170. 1640 ifop(3)<>12thenprint"[206]on-functional.":goto80
  171. 1650 v5=1:v2=1:v4=m+3:goto80
  172. 1660 op(3)=12:a$="[212]gf tnbkk cfujdf boobqfmskz ejst b gpkf":gosub880
  173. 1670 a$="jm sgf jmtsqvnfms apbqc.  [215]jsg dbqf zpv":gosub880
  174. 1680 a$="jmtfqs sgf cfujdf.  [212]gf kjefapbs gvnt":gosub880
  175. 1690 a$="xjsg fmfqhz.":gosub880:goto80
  176. 1700 a$="[193]t zpv fmsfq, sgf kjefapbs tfbkt bmc":gosub880
  177. 1710 a$="tkpxkz kjest bxbz eqpn sgf tgjo.  [217]pv":gosub880
  178. 1720 a$="gbuf nbcf hppc zpvq ftdbof.":gos