home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 1: Collection A / 17Bit_Collection_A.iso / files / 35.dms / 35.adf / sabotage.bas < prev    next >
BASIC Source File  |  1988-05-22  |  20KB  |  312 lines

  1. 1     ' JUMP TO PROGRAM INITIALIZATION
  2. 2     GOTO 2800
  3. 3     ' DECODE AND PRINT OUTPUT
  4. 4     IF P$="" THEN RETURN ELSE FOR P=1 TO LEN(P$):II=ASC(MID$(P$,P,N1)):PRINT CHR$(ABS((C155*(II>C64))-II));:NEXT P:PRINT :RETURN
  5. 5     ' ENCODE INPUT
  6. 6     V$="":IF V0$=""THEN RETURN ELSE FOR J=1 TO LEN(V0$):II=ASC(MID$(V0$,J,N1)):V$=V$+CHR$(ABS((C155*(II>64))-II)):NEXT J:RETURN
  7. 7     ' DISPLAY MESSAGE, THEN END CURRENT TURN
  8. 8     GOSUB 4:GOTO 2250
  9. 9     ' DESCRIPTIONS OF INDIVIDUAL ROOMS
  10. 10    A$="ZM ZRIOLXP. GSVIV RH Z YOFV YFGGLM SVIV":S=2:RETURN
  11. 20    A$="Z MZIILD XLIIRWLI":N=1:S=3:RETURN
  12. 30    A$="Z MZIILD XLIIRWLI":N=2:S=4:RETURN
  13. 40    A$="Z MZIILD XLIIRWLI":N=3:S=5:RETURN
  14. 50    A$="Z HNZOO ILLN":N=4:S=6:RETURN
  15. 60    A$="Z WVXLMGZNRMZGRLM XSZNYVI":B$="GSVIV RH Z YOFV YFGGLM SVIV":N=5:S=7:RETURN
  16. 70    A$="Z HNZOO HGLIZTV XSZNYVI":N=6:S=8:W=12:RETURN
  17. 80    A$="Z HNZOO XSZNYVI":N=7:S=9:W=13:RETURN
  18. 90    A$="Z HNZOO VOVXGILMRX OZYLIZGLIB":N=8:S=10:W=14:RETURN
  19. 100   A$="Z YRLOLTRXZO OZYLIZGLIB. GSVIV RH Z IVW YFGGLM LM GSV DZOO":N=9:W=15:RETURN
  20. 110   A$="Z HGLIZTV XSZNYVI":W=16:RETURN
  21. 120   A$="Z OZITV XSZNYVI. GSVIV RH Z XZYRMVG SVIV":S=13:W=17:E=7:RETURN
  22. 130   A$="Z HGIZMTV KFIKOV ILLN. GSVIV RH Z YOFV YFGGLM SVIV":N=12:S=14:W=18:E=8:RETURN
  23. 140   A$="Z HNZOO LUURXV":N=13:S=15:E=9:RETURN
  24. 150   A$="Z HNZOO ILLN DRGS Z XZIW GZYOV RM GSV XVMGVI":N=14:S=16:W=20:E=10:RETURN
  25. 160   A$="Z OZITV LUURXV. GSVIV RH Z WVHP SVIV":N=15:W=21:E=11:RETURN
  26. 170   A$="Z LUURXV DRGS Z OZITV WVHP":S=18:E=12:RETURN
  27. 180   A$="Z HGLIZTV ILLN":N=17:S=19:E=13:RETURN
  28. 190   A$="Z OZITV SZOO":N=18:S=20:RETURN
  29. 200   A$="ZM VMGVIGZRMNVMG MLLP. Z HXIVVM IVHGH LM GSV DZOO":B$="GSVIV RH Z YOFV ZMW Z IVW YFGGLM FMWVI GSV HXIVVM":N=19:S=21:E=15:RETURN
  30. 210   A$="Z WZGZ IVXLIW HGLIZTV ILLN":N=20:E=16:RETURN
  31. 220   A$="IZWZI XLMGILO. GSVIV RH Z HNZOO HXIVVM SVIV":S=23:W=27:RETURN
  32. 230   A$="Z NVWRXZO HGZGRLM. GSVIV RH Z OZITV GZYOV SVIV":N=22:S=24:W=28:RETURN
  33. 240   A$="Z HVXFIRGB HGZGRLM":N=23:RETURN
  34. 250   A$="Z IZWRL ILLN":S=26:W=30:RETURN
  35. 260   A$="Z HNZOO ILLN. GSVIV RH Z HZUV RM GSV HLFGS DZOO":N=25:W=31:RETURN
  36. 270   A$="GSV ILYLG XLMGILO XVMGVI":B$="GSVIV RH Z HNZOO XLMGILO XLNKFGVI NLFMGVW RM GSV DZOO":W=32:E=22:RETURN
  37. 280   A$="GSV DVZKLMH HGLIZTV ILLN":S=29:W=33:E=23:RETURN
  38. 290   A$="Z ORYIZIB":N=28:S=30:W=34:RETURN
  39. 300   A$="Z HVXFIRGB XSVXP ZIVZ":N=29:W=36:E=25:RETURN
  40. 310   A$="Z HNZOO ILLN DRGS Z WVHP. Z HRTM IVZWH":B$="'KIVHHFIV GL IVZXGLI.' Z YOFV YFGGLM RH OLXZGVW FMWVI GSV HRTM":E=26:RETURN
  41. 320   A$="OZFMXS XLMGILO. GSVIV RH Z WVHP SVIV":S=33:W=37:E=27:RETURN
  42. 330   A$="Z HNZOO XLIIRWI":N=32:S=34:E=28:RETURN
  43. 340   A$="Z HGIZMTV YOFV ILLN. GSVIV RH Z IVW YFGGLM SVIV":N=33:S=35:E=29:RETURN
  44. 350   A$="Z GRMB HGLIZTV ILLN":N=34:W=40:RETURN
  45. 360   A$="Z HNZOO XSZNYVI. GSVIV RH Z DVHG WLLI SVIV":E=30:RETURN
  46. 370   A$="Z HNZOO, MZIILD XLIIRWLI":N=42:E=32:RETURN
  47. 380   A$="GSV XLNKFGVI XVMGVI. GSVIV RH Z HNZOO HOLG":B$="RM GSV XLNKFGVI":S=39:RETURN
  48. 390   A$="GSV XSVNRXZO OZY":N=38:S=40:RETURN
  49. 400   A$="GSV IVZXGLI XLMGILO XVMGVI. GSVIV RH Z YOFV YFGGLM":B$="ZMW Z IVW LMV. Z HRTM HZBH 'IVZXGLI XLMGILO - IVW=LM, YOFV=LUU":N=39:E=35:RETURN
  50. 410   A$="GSV MFXOVZI IVZXGLI. Z XLNKFGVI IVHGH LM GSV DZOO":E=36:RETURN
  51. 420   A$="GSV DVHG VMW LU Z OLMT XLIIRWLI":S=37:E=43:RETURN
  52. 430   A$="GSV VZHG VMW LU Z OLMT XLIIRWLI":W=42:E=44:RETURN
  53. 440   A$="Z HVXFIRGB XVMGVI":W=43:E=45:RETURN
  54. 450   A$="Z HNZOO OZFMXS TZGV":B$="GSVIV RH Z HNZOO HOLG MVCG GL GSV OZFMXS TZGV":W=44:RETURN
  55. 460   A$="Z HNZOO HKZXVXIZUG. GSVIV RH Z HNZOO HOLG RM GSV NZHGVI":B$="OZFMXS XLNKFGVI":W=45
  56. 465   ' EXTENDED DESCRIPTIONS OF CURRENT LOCATION
  57. 470   IF A=10 AND(D3=10 OR D3=2)THEN C$="GSV NLMHGVI XZTV RH LKVM"
  58. 480   IF A=12 AND D5=0 THEN C$="GSV XZYRMVG RH OLXPVW"
  59. 490   IF A=12 AND D5=1 THEN C$="GSV XZYRMVG RH LKVM"
  60. 500   IF A=20 AND D6=0 THEN C$="GSV HXIVVM RH YOZMP"
  61. 510   IF A=20 AND D6=1 THEN C$="Z NLERV RH YVRMT KOZBVW LM GSV HXIVVM"
  62. 520   IF A=26 AND D9=0 THEN C$="GSV HZUV RH OLXPVW"
  63. 530   IF A=26 AND D9=1 THEN C$="GSV HZUV RH LKVM"
  64. 540   IF A=27 AND E2=0 THEN C$="GSV XLNKFGVI RH ZXGREV"
  65. 550   IF A=27 AND E2=1 THEN C$="GSV XLNKFGVI RH WVHGILBVW"
  66. 560   IF A=36 AND E6=0 THEN C$="GSV IVZXGLI WLLI RH URINOB OLXPVW"
  67. 570   IF A=36 AND E6=1 THEN C$="GSV IVZXGLI WLLI RH LKVM":W=41
  68. 580   IF A=45 AND E9=0 THEN C$="GSV OZFMXS TZGV RH XOLHVW"
  69. 590   IF A=45 AND E9=1 THEN C$="GSV OZFMXS TZGV RH LKVM":E=46
  70. 595   'GENERATE LIST OF VISABLE ITEMS AND AVAILABLE EXITS FOR CURRENT LOCATION
  71. 600   A$=A$+".":IF LEN(B$)>3 THEN B$=B$+"."
  72. 610   IF LEN(C$)>3 THEN C$=C$+"."
  73. 650   IF N<>0 THEN E$="MLIGS "
  74. 660   IF S<>0 THEN E$=E$+"HLFGS "
  75. 670   IF W<>0 THEN E$=E$+"DVHG "
  76. 680   IF E<>0 THEN E$=E$+"VZHG "
  77. 690   IF E$<>"" THEN E$=LEFT$(E$,LEN(E$)-1)
  78. 695   'DESCRIBE CURRENT LOCATION, VISIBLE ITEMS, AND AVAILABLE EXITS.
  79. 700   SCNCLR:PRINT "YOU ARE IN: ":P$=A$:GOSUB 4:P$=B$:GOSUB 4
  80. 710   P$=C$:GOSUB 4
  81. 720   PRINT :PRINT "OBJECTS YOU CAN SEE: ":P$=" ":FOR T=1 TO 16:IF I(T)=A THEN P$="- "+I$(T):GOSUB 4
  82. 725   NEXT T:IF P$=" " THEN P$=" MLGSRMT":GOSUB 4
  83. 730   PRINT :PRINT "EXITS: ":P$=E$:GOSUB 4
  84. 735   'PRINT OUT ADITIONAL WARNINGS AND MESSAGES
  85. 740   IF(A=40 OR A=35 OR A=30 OR A=31)AND I(4)=0 AND F3=0 THEN P$="GSV HNZOO YOZXP WVERXV RH YORMPRMT":GOSUB 4
  86. 750   IF A=36 AND I(4)=0 AND F3=0 THEN P$="GSV HNZOO YOZXP WVERXV RH UOZHSRMT YIRTSGOB":GOSUB 4
  87. 760   IF F4<>0 THEN P$="GSV XLNKFGVI HZBH: '"+STR$(F4)+" NRMFGVH FMGRO WVHGIFXGRLM'":GOSUB 4
  88. 770   IF D3=1 THEN P$="* * * ZORVM NLMHGVI ZGGZXPRMT * * *":GOSUB 4
  89. 780   IF D7=1 OR E0=1 OR E3=1 OR E7=1 THEN P$="* * * HVXFIRGB KZGILO ZGGZXPRMT * * *":GOSUB 4
  90. 785   'GET AND INTERPRET COMMAND
  91. 790   PRINT :INPUT "COMMAND";V0$:GOSUB 6
  92. 800   FOR T=1 TO 4:IF V$=LEFT$(V$(T),1) THEN V$=V$(T)
  93. 810   NEXT T
  94. 820   IF LEN(V$)<3 THEN GOTO 700
  95. 830   V1$=LEFT$(V$,3):V2$=RIGHT$(V$,3)
  96. 840   FOR T=1 TO 17:IF V1$=LEFT$(V$(T),3) THEN V1=T
  97. 845   NEXT T
  98. 850   IF V1=0 THEN P$="R WLM'G FMWVIHGZMW DSZG BLF DZMG NV GL WL":GOTO 8
  99. 860   FOR T=1 TO 16:IF V2$=RIGHT$(I$(T),3) THEN V2=T
  100. 870   NEXT T
  101. 880   ON V1 GOTO 900,940,980,1050,1130,1310,1370,1390,1560,1620,1660,1790,1860,1910,2010,2170,2240
  102. 890   GOTO 2250
  103. 895   'COMMAND HANDLER ROUTINES
  104. 900   IF N=0 THEN GOTO 1110
  105. 910   IF D3=1 THEN P$="GSV NLMHGVI YOLXPH GSV VCRG":GOTO 8
  106. 920   IF D7=1 OR E3=1 THEN GOTO 1100
  107. 930   A=N:GOTO 2250
  108. 940   IF S=0 THEN GOTO 1110
  109. 950   IF S=24 AND D8<>0 AND E2<>1 THEN D7=1:GOSUB 1120
  110. 960   IF S=30 AND E4<>0 AND E2<>1 THEN E3=1:GOSUB 1120
  111. 970   A=S:GOTO 2250
  112. 980   IF W=0 THEN GOTO 1110
  113. 990   IF D3=1 THEN P$="GSV NLMHGVI YOLXPH GSV VCRG":GOTO 8
  114. 1000  IF E0=1 OR E3=1 OR E7=1 THEN GOTO 1100
  115. 1010  IF W=41 AND F3=0 THEN P$="IZWRZGRLM UILN GSV IVZXGLI SRGH BLF":GOSUB 4:GOTO 2510
  116. 1020  IF W=30 AND E4<>0 AND E2<>1 THEN E3=1:GOSUB 1120
  117. 1030  IF W=27 AND E1<>0 AND E2<>1 THEN E0=1:GOSUB 1120
  118. 1040  A=W:GOTO 2250
  119. 1050  IF E=0 THEN 1110
  120. 1060  IF E0=1 OR E3=1 OR E7=1 THEN GOTO 1100
  121. 1070  IF E=27 AND E1<>0 AND E2<>1 THEN E0=1:GOSUB 1120
  122. 1080  IF E=44 AND E8<>0 AND E2<>1 THEN E7=1:GOSUB 1120
  123. 1090  A=E:GOTO 2250
  124. 1100  P$="GSV HVXFIRGB ZMWILRW YOLXPH GSV VCRG":GOTO 8
  125. 1110  P$="GSVIV RH ML DZB GL TL GSZG WRIVXGRLM":GOSUB 4:FOR J=1 TO 1000:NEXT J:GOTO 2250
  126. 1120  P$="Z HVXFIRGB ZMWILRW ZDZRGH BLF":GOSUB 4:RETURN
  127. 1130  IF A=1 AND V2$="LXP" THEN P$="GSV ZRIOLXP LKVMH ZMW BLF ZIV YOLDM LFG RMGL GSV EZXFFN LU HKZXV":GOSUB 4:GOTO 2510
  128. 1140  IF A=12 AND V2$="MVG" AND D5=0 AND I(2)<>0 THEN P$="BLF ZIVM'G HGILMT VMLFTS GL ULIXV RG LKVM":GOTO 8
  129. 1150  IF A=12 AND V2$="MVG" AND D5=0 AND I(2)=0 THEN P$="GSV XILDYZI SVOKVW. GSV XZYRMVG RH MLD LKVM":D5=1:I(5)=ABS(I(5)):GOTO 8
  130. 1160  IF A=12 AND V2$="MVG" AND D5=1 THEN P$="GSV XZYRMVG RH ZOIVZWB LKVM":GOTO 8
  131. 1170  IF A=16 AND V2$="VHP" THEN P$="LP":I(6)=ABS(I(6)):GOTO 8
  132. 1180  IF A=17 AND V2$="VHP" THEN P$="LP":I(7)=ABS(I(7)):GOTO 8
  133. 1190  IF A=26 AND V2$="ZUV" AND D9=1 THEN P$="GSV HZUV RH ZOIVZWB LKVM":GOTO 8
  134. 1200  IF A=26 AND V2$="ZUV" AND D9=0 THEN P$="R WLM'G SZEV GSV PVB GL LKVM GSV HZUV":GOTO 8
  135. 1210  IF A=31 AND V2$="VHP" THEN P$="LP. BLF URMW MLGSRMT RMHRWV":GOTO 8
  136. 1220  IF A=32 AND V2$="VHP" THEN P$="LP":I(14)=ABS(I(14)):GOTO 8
  137. 1230  IF A=36 AND V2$="LLI" AND E6=1 THEN P$="GSV WLLI RH ZOIVZWB LKVM":GOTO 8
  138. 1240  IF A=36 AND V2$="LLI" AND E6=0 AND I(6)<>0 THEN P$="BLF WLM'G SZEV GSV PVB GL GSV WLLI":GOTO 8
  139. 1250  IF A=36 AND V2$="LLI" AND E6=0 AND I(6)=0 AND E5=0 THEN P$="BLF ZIV HFXPVW RMGL GSV FMKIVHHFIRAVW IVZXGLI YFROWRMT":GOSUB 4:GOTO 2510
  140. 1260  IF A=36 AND V2$="LLI" AND I(6)=0 THEN P$="GSV WLLI RH MLD LKVM":E6=1:GOTO 8
  141. 1270  IF A=41 AND V2$="MVO" THEN P$="GSV KZMVO RH URINOB OLXPVW":GOTO 8
  142. 1280  IF A=45 AND V2$="LXP" AND E9=1 THEN P$="GSV ZRIOLXP RH ZOIVZWB LKVM":GOTO 8
  143. 1290  IF A=45 AND V2$="LXP" AND E9=0 THEN P$="GSVIV ZIVM'G ZMB ERHRYOV XLMGILOH":GOTO 8
  144. 1300  P$="R XZM'G WL GSZG":GOTO 8
  145. 1310  IF V2$="GVI" OR V2$="LRW" THEN P$="WLM'G YV IRWRXXFOLFH":GOTO 8
  146. 1320  IF V2=0 THEN P$="R XZM'G WL GSZG":GOTO 8
  147. 1330  IF I(V2)=0 THEN P$="BLF ZOIVZWB SZEV GSZG":GOTO 8
  148. 1340  IF I(V2)<>A THEN P$="R WLM'G HVV RG SVIV":GOTO 8
  149. 1350  IF P4>=8 THEN P$="HLIIB. BLF XZM'G XZIIB ZMBGSRMT NLIV":GOTO 8
  150. 1360  P4=P4+1:I(V2)=0:P$="LP":GOTO 8
  151. 1370  IF V2=0 OR I(V2)<>0 THEN P$="BLF WLM'G SZEV GSZG":GOTO 8
  152. 1380  P4=P4-1:I(V2)=A:P$="LP":GOTO 8
  153. 1390  IF I(5)<>0 THEN P$="BLF WLM'G SZEV Z DVZKLM":GOTO 8
  154. 1400  IF A=1 AND V2$="LXP" THEN P$="BLF ZIV YOLDM LFG LU GSV ZRIOLXP RMGL GSV EZXFFN LU HKZXV":GOSUB 4:GOTO 2510
  155. 1410  IF A=27 AND V2$="GVI" THEN P$="GSV XLNKGVI RH WVHGILBVW":E2=1:E0=0:GOTO 8
  156. 1420  IF A=38 AND V2$="GVI" THEN P$="GSV HSLG IVUOVXGH LUU LU GSV XLNKFGVI":GOSUB 4:GOTO 2510
  157. 1430  IF A=41 AND V2$="GVI" THEN P$="GSV DSLOV MFXOVZI IVZXGLI RH VCKOLWRMT":GOSUB 4:GOTO 2510
  158. 1440  IF V2$="RWN" OR V2$="YLG" OR V2$="ILO" OR V2$="IWH" OR V2$="ZIW" THEN V2$="LRW"
  159. 1450  IF V2$<>"GVI" AND V2$<>"LRW" THEN P$="GSV OZHVI HSLG SZH ML VUUVXG":GOTO 8
  160. 1460  IF V2$="GVI" AND D3=0 THEN P$="R WLM'G HVV ZMB NLMHGVI SVIV":GOTO 8
  161. 1470  IF V2$="LRW" AND D7=0 AND E0=0 AND E3=0 AND E7=0 THEN P$="R WLM'G HVV ZMB ZMWILRWH SVIV":GOTO 8
  162. 1480  T=RND*(100):IF T>P2+P3+50 THEN P$="BLF URIV ZMW NRHH":GOTO 8
  163. 1490  IF D3=1 THEN P$="BLF SRG GSV NLMHGVI":GOSUB 4:D4=D4-((10+P2+P3)/2):IF D4<=0 THEN D3=0:D4=0:P$="BLF SZEV PROOVW RG":GOTO 8
  164. 1500  IF D7=1 THEN P$="BLF SRG GSV ZMWILRW":GOSUB 4:D8=D8-((5+P2+P3)/2):IF D8<=0 THEN D7=0:D8=0:P$="RG RH WVHGILBVW":GOTO 8
  165. 1510  IF E0=1 THEN P$="BLF SRG GSV ZMWILRW":GOSUB 4:E1=E1-((5+P2+P3)/2):IF E1<=0 THEN E0=0:E1=0:P$="RG RH WVHGILBVW":GOTO 8
  166. 1520  IF E3=1 THEN P$="BLF SRG GSV ZMWILRW":GOSUB 4:E4=E4-((5+P2+P3)/2):IF E4<=0 THEN E3=0:E4=0:P$="RG RH WVHGILBVW":GOTO 8
  167. 1530  IF E7=1 THEN P$="BLF SRG GSV ZMWILRW":GOSUB 4:E8=E8-((5+P2+P3)/2):IF E8<=0 THEN E7=0:E8=0:P$="RG RH WVHGILBVW":GOTO 8
  168. 1540  IF D3=1 THEN P$="RG RH HGROO ZOREV":GOTO 8
  169. 1550  P$="GSV ZMWILRW RH HGROO UFMXGRLMRMT":GOTO 8
  170. 1560  IF V2=0 THEN P$="R XZM'G WL GSZG":GOTO 8
  171. 1570  IF I(V2)<>0 THEN P$="R WLM'G SZEV GSZG":GOTO 8
  172. 1580  IF V2<>9 AND V2<>14 THEN P$="R XZM'G WL GSZG":GOTO 8
  173. 1590  IF (V2=9 AND A=44) OR (V2=14 AND A=38) THEN P$="MLGSRMT SZKKVMH":GOTO 8
  174. 1600  IF V2=9 AND A=38 THEN F4=35:P$="GSV XLNKFGVI IVKORVH: 'YZHV WVHGIFXG HVJFVMXV HGZIGVW":GOSUB 4:P$="WVHGIFXGRLM RM"+STR$(F4)+" NRMFGVH.':P4=P4-1:I(9)=100:GOTO 8
  175. 1610  IF V2=14 AND A=45 THEN P$="GSV TZGV LKVMH":E9=1:GOTO 8
  176. 1620  IF V2<>10 THEN P$="WLM'G YV IRWRXFOLFH":GOTO 8
  177. 1630  IF I(10)<>0 THEN P$="BLF WLM'G SZEV GSZG":GOTO 8
  178. 1640  P$="LP":I(10)=50:P4=P4-1:P1=P1+5+P3:IF P0<P1 THEN P0=P1
  179. 1650  GOTO 8
  180. 1660  IF A=1 AND V2$="OFV" THEN P$="GSV ZRIOLXP LKVMH...":GOSUB 4:P$="BLF ZIV YOLDM LFG RMGL GSV EZXFFN LU HKZXV":GOSUB 4:GOTO 2510
  181. 1670  IF A=6 AND V2$="OFV" THEN P$="Z HGIZMTV, LIZMTV TOLD XLEVIH BLF ZMW GSVM UZWVH ZDZB":GOTO 8
  182. 1680  IF A=10 AND V2$="IVW" AND D3=1 THEN P$="MLGSRMT SZKKVMH":GOTO 8
  183. 1690  IF A=10 AND V2$="IVW" THEN D3=1:P$="ZM ZORVM NLMHGVI RH IVOVZHVW. RG RH ZGGZXPRMT BLF!":GOTO 8
  184. 1700  IF A=13 AND V2$="OFV" THEN A=34:P$="Z UOZHS LU ORTSG GVNKLIZIROB YORMWH BLF":GOTO 8
  185. 1710  IF A=20 AND V2$="IVW" AND D6=0 THEN P$="MLGSRMT SZKKVMH":GOTO 8
  186. 1720  IF A=20 AND V2$="IVW" THEN D6=0:P$="GSV HXIVVM TLVH YOZMP":GOTO 8
  187. 1730  IF A=20 AND V2$="OFV" THEN D6=1:P$="GSV HXIVVM ORTSGH FK":GOTO 8
  188. 1740  IF A=31 AND V2$="OFV" THEN E5=1:P$="LP":GOTO 8
  189. 1750  IF A=34 AND V2$="IVW" THEN A=13:P$="Z UOZHS LU ORTSG GVNKLIZIROB YORMWH BLF":GOTO 8
  190. 1760  IF A=40 AND V2$="IVW" THEN F3=0:P$="LP":GOTO 8
  191. 1770  IF A=40 AND V2$="OFV" THEN F3=1:P$="LP":GOTO 8
  192. 1780  P$="MLGSRMT SZKKVMH":GOTO 8
  193. 1790  IF A=22 AND V2$="VVM" THEN P$="BLF XZM HVV MLGSRMT LU RMGVIVHG LM GSV IZWZI":GOTO 8
  194. 1800  IF V2=0 THEN P$="R WLM'G SZEV GSZG":GOTO 8
  195. 1810  IF I(V2)<>0 AND I(V2)<>A THEN P$="R WLM'G SZEV GSZG":GOTO 8
  196. 1820  IF V2=3 OR V2=13 THEN P$="R HVV MLGSRMT HKVXRZO":GOTO 8
  197. 1830  IF V2=9 THEN P$="HLIIB, LMOB Z XLNKFGVI XZM IVZW Z KILTIZN":GOTO 8
  198. 1840  IF V2=16 THEN P$="GSV KOZMH ZIV HVZOVW...LMOB XLNNZMW XZM LKVM GSVN":GOTO 8
  199. 1850  P$="R XZM'G IVZW GSZG":GOTO 8
  200. 1860  SCNCLR:P$="* * * KOZEBVI'H RMEVMGLIB * * *":GOSUB 4:PRINT
  201. 1870  FOR T=1 TO 16:IF I(T)=0 THEN P$="- "+I$(T):GOSUB 4
  202. 1880  NEXT T
  203. 1890  PRINT :PRINT "HIT ANY KEY TO CONTINUE"
  204. 1895  GETKEY X$:IF X$=""THEN GOTO 1895
  205. 1900  GOTO 2400
  206. 1910  IF V2=0 THEN P$="R XZM'G WL GSZG":GOTO 8
  207. 1920  IF I(V2)<>0 THEN P$="R WLM'G SZEV GSZG":GOTO 8
  208. 1930  IF V2=1 AND A=12 AND D5=0 THEN P$="GSV XZYRMVG OLXP RH WVHGILBVW":D5=1:I(1)=100:I(5)=ABS(I(5)):P4=P4-1:GOTO 8
  209. 1940  IF (V2=1 OR V2=15) AND (D3=1 OR D7=1 OR E0=1 OR E3=1 OR E7=1) THEN I(V2)=100:P4=P4-1:GOTO 1490
  210. 1950  IF (V2=1 OR V2=15) AND A=1 THEN P$="GSV ZRIOLXP RH WVHGILBVW...BLF ZIV YOLDM LFG RMGL GSV EZXFFN LU HKZXV!":GOSUB 4:GOTO 2510
  211. 1960  IF (V2=1 OR V2=15) AND A=36 AND E6=0 AND E5=0 THEN P$="GSV WLLI RH WVHGILBVW...BLF ZIV HFXPVW RMGL GSV MLM-":GOSUB 4:P$="KIVHHFIRAVW IVZXGLI YFROWRMT":GOSUB 4:GOTO 2510
  212. 1970  IF (V2=1 OR V2=15) AND A=36 AND E6=0 AND F3=0 THEN P$="GSV WLLI RH WVHGILBVW. BLF ZIV YLNYZIWVW DRGS IZWRZGRLM":GOSUB 4:GOTO 2510
  213. 1980  IF (V2=1 OR V2=15) AND A=36 AND E6=0 THEN P$="GSV WLLI RH WVHGILBVW":E6=1:I(V2)=100:P4=P4-1:GOTO 8
  214. 1990  IF V2=1 OR V2=15 THEN P$="GSV "+I$(V2)+" SZH ML VUUVXG":I(V2)=100:P4=P4-1:GOTO 8
  215. 2000  GOTO 1370
  216. 2010  IF V2=0 THEN P$="R XZM'G WL GSZG":GOTO 8
  217. 2020  IF I(V2)<>0 THEN P$="R WLM'G SZEV GSZG":GOTO 8
  218. 2030  IF V2=5 AND D3=1 THEN V2$="GVI"
  219. 2040  IF V2=5 AND (D7=1 OR E0=1 OR E3=1 OR E7=1)THEN V2$="LRW"
  220. 2050  IF V2=5 THEN GOTO 1390
  221. 2060  IF V2=4 AND F3=0 AND (A=40 OR A=30 OR A=35 OR A=31) THEN P$="GSV YOZXP WVERXV RH YORMPRMT":GOTO 8
  222. 2070  IF V2=4 AND F3=0 AND A=36 THEN P$="GSV YOZXP WVERXV RH UOZHSRMT YIRTSGOB":GOTO 8
  223. 2080  IF V2=4 THEN P$="GSVIV ZIVM'G ZMB ERHRYOV XLMGILOH LM GSRH WVERXV":GOTO 8
  224. 2090  IF V2=12 THEN I(12)=A:P4=P4-1:I$(12)="ARMED PHOTON BOMB":F2=35:P$="GSV KSLGLM YLNY DROO VCKOLWV RM 35 NRMFGVH":GOTO 8
  225. 2100  IF V2=2 AND A=12 AND D5=0 THEN D5=1:P$="GSV XZYRMVG RH MLD LKVM":I(5)=ABS(I(5)):GOTO 8
  226. 2110  IF V2=2 AND A=12 AND D5=1 THEN P$="GSV XZYRMVG RH ZOIVZWB LKVM":GOTO 8
  227. 2120  IF V2=7 AND A=26 AND D9=0 THEN D9=1:I(16)=ABS(I(16)):P$="GSV HZUV LKVMH":GOTO 8
  228. 2130  IF V2<>11 THEN P$="DSZG WL BLF DZMG NV GL WL DRGS GSV "+I$(V2)+"?":GOTO 8
  229. 2140  IF I(8)<>0 THEN P$="GSVIV ZIVM'G ZMB YZGGVIRVH ULI GSV IZWRL":GOTO 8
  230. 2150  IF F2<>0 THEN P$="Z ELRXV HZBH 'YLNY HGZGFH:"+STR$(F2)+"NRMFGVH FMGRO WVGLMZGRLM'":GOTO 8
  231. 2160  P$="GSV IZWRL RH HROVMG":GOTO 8
  232. 2170  SCNCLR:P$="* * * KOZBVI'H HGZGFH * * *":GOSUB 4:PRINT
  233. 2180  P$="XFIIVMG SRG KLRMGH = "+STR$(P1):GOSUB 4
  234. 2190  P$="WVCGVIRGB ZGGIRYFGV = "+STR$(P2):GOSUB 4
  235. 2200  P$="OFXP ZGGIRYFGV      = "+STR$(P3):GOSUB 4
  236. 2210  PRINT :PRINT "HIT ANY KEY TO CONTINUE"
  237. 2220  GETKEY X$:IF X$="" THEN GOTO 2220
  238. 2230  GOTO 2400
  239. 2240  SCNCLR:PRINT "GAME OVER":GOTO 2520
  240. 2245  'UPDATE PLAYER STATUS AND CONDUCT COMBAT IF APPROPRIATE.
  241. 2250  IF F2<>0 THEN F2=F2-1:IF F2<=0 THEN GOTO 2430
  242. 2260  IF F4<>0 THEN F4=F4-1:IF F4<=0 THEN GOTO 2470
  243. 2270  IF P1<P0 THEN P5=P5+.5:IF P5=1 THEN P5=0:P1=P1+1
  244. 2280  IF D3=0 AND D7=0 AND E0=0 AND E3=0 AND E7=0 THEN GOTO 2390
  245. 2290  T=RND*(100)
  246. 2300  IF D3=1 THEN P$="GSV NLMHGVI ZGGZXPH ":GOSUB 4
  247. 2310  IF D3<>1 THEN P$="GSV HVXFIRGB ZMWILRW HSLLGH... ":GOSUB 4
  248. 2320  IF T>80-(P2+P3) THEN P$="RG NRHHVH":GOSUB 4:GOTO 2390
  249. 2330  P1=P1-(RND*(5)+RND*(5)+RND*(5)+15-P3)
  250. 2340  IF D3<>1 THEN P1=P1+5
  251. 2350  IF P1<0 THEN 2510
  252. 2380  P$="BLF ZIV SRG!":GOSUB 4
  253. 2390  IF V1=0 OR V1>4 OR(D3+D7+E0+E3+E7>0) THEN FOR J=1 TO 1000:NEXT J
  254. 2395  'INITIALIZE FOR NEW TURN AND JUMP TO APPROPRIATE ROOM DESCRIPTION
  255. 2400  V$="":V1$="":V2$="":V1=0:V2=0:A$="":B$="":C$="":D$="":E$="":N=0:S=0:W=0:E=0
  256. 2410  ON A GOSUB 10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,360,370,380,390,400,410,420,430,440,450,2550:GOTO 470
  257. 2420  GOTO 10
  258. 2425  'EVALUATE END-GAME CONDITIONS AND DISPLAY APPROPRIATE MESSAGES.
  259. 2430  SCNCLR:IF A=46 THEN F4=-1:GOTO 2550
  260. 2440  P$="GSV KSLGLM YLNY VCKOLWVH...GSV VMGRIV XLNKOVC RH WVHGILBVW":GOSUB 4
  261. 2450  P$="BLF SZEV YVVM PROOVW YB GSV ULIXV LU GSV YOZHG":GOSUB 4
  262. 2460  PRINT :PRINT :GOTO 2510
  263. 2470  SCNCLR:IF A=46 THEN GOTO 2550
  264. 2480  IF A=38 THEN P$="GSV XLNKFGVI UOZHSVH YIRTSGOB, VNRGGRMT HKZIPH RM ZOO WRIVXGRLMH":GOSUB 4
  265. 2490  P$="GSV XLNKOVC HFWWVMOB VCKOLWVH RMGL NROORLMH LU KRVXVH":GOSUB 4
  266. 2500  P$="BLF ZIV PROOVW YB GSV UZOORMT WVYIRH ZILFMW BLF":GOSUB 4:PRINT :PRINT
  267. 2510  P$="BLF ZIV WVZW!":GOSUB 4
  268. 2520  INPUT "DO YOU WANT TO PLAY AGAIN";A$
  269. 2530  IF LEFT$(A$,1)="Y" THEN CLR:GOTO 2610
  270. 2540  END
  271. 2550  P$="GSV HKZXV HSRK HFWWVMOB ORUGH RMGL LIYRG ZILFMW GSV KOZMVG":GOSUB 4
  272. 2560  IF((F2=0)OR(F2<>0 AND I(12)<>41)) AND F4=0 THEN P$="BLF WRWM'G WVHGILB GSV YZHV. NRHHRLM UZROVW":GOSUB 4:PRINT :GOTO 2520
  273. 2570  P$="UILN Z WRHGZMXV, BLF XZM HVV GSV ZORVM YZHV VCKOLWV":GOSUB 4
  274. 2580  IF I(16)<>0 THEN P$="BLF WRWM'G IVXLEVI GSV HVXIVG KOZMH MVVWVW YB HGZI XLNNZMW":GOSUB 4:PRINT :GOTO 2520
  275. 2590  P$="NRHHRLM RH Z HFXXVHH!":GOSUB 4
  276. 2600  GOTO 2520
  277. 2605  ' INITIALIZE WORKSPACE. READ ITEMS, AND VERBS
  278. 2610  DIM I$(16),I(16),V$(17),PO(40),D4(50):C155=-155:C64=64:N1=1:RANDOMIZE INT(VAL(MID$(TIME$,7,2)))
  279. 2620  SCNCLR
  280. 2630  PRINT TAB(15)"OPERATION: SABOTAGE BY RAY SATO"
  281. 2640  FOR T=1 TO 16:READ I$(T):READ I(T):NEXT T
  282. 2660  FOR T=1 TO 17:READ V$(T):NEXT T
  283. 2690  FOR T=1 TO 40:P0=P0+RND*(2):NEXT T
  284. 2695  ' ESTABLISH PLAYER ATTRIBUTE POINTS. JUMP TO FIRST ROOM
  285. 2700  P1=P0
  286. 2710  FOR T=1 TO 10:P2=P2+RND*(2):NEXT T
  287. 2720  FOR T=1 TO 10:P3=P3+RND*(2):NEXT T
  288. 2730  FOR T=1 TO 50:D4=D4+RND*(2):D8=D8+RND*(2):E1=E1+RND*(2):E4=E4+RND*(2):E8=E8+RND*(2):NEXT T
  289. 2740  A=1:P4=1
  290. 2750  GOSUB 10:GOTO 470
  291. 2760  DATA KOZHGRX VCKOLHREV,0,XILDYZI,7,XZOVMWZI,8,HNZOO YOZXP WVERXV,9,OZHVI KRHGLO,-12,HVXFIRGB PVB,-16,VOVXGILMRX XLMGILO YZGLM,-17,YZGGVIRVH,18,XLNKFGVI WVHGIFXG KILTIZN,21,HROEVI KROO,23,KLIGZYOV IZWRL,25,OZITV KSLGLM YLNY,28
  292. 2770  DATA TZOZXGRX XSZIG,32,OZFMXS HBHGVN XZHHVGGV,-32,MRGILTOBXVIRM,39,HVXIVG KOZMH,-26
  293. 2780  DATA MLIGS,HLFGS,DVHG,VZHG,LKVM,TVG,WILK,HSLLG,RMHVIG,VZG,KFHS,IVZW,RMEVMGLIB,GSILD,FHV,HGZGFH,JFRG
  294. 2800  ' SABOTAGE COPYRIGHT (C) 1982
  295. 2810  'AUTHOR: RAY SATO
  296. 2820  'TRANSLATION TO TRS-80 BY RON SHAKER AND RICH BOUCHARD
  297. 2830  'ENCRIPTION MODIFICATIONS BY RICH BOUCHARD, WILLIAM KHBECK, AND ALAN J. ZETT
  298. 2840  'TRANSLATED FROM SOFTSIDE (TM) ISSUE #32 FOR IBM-PC BY TOM BLACKFORD
  299. 2850  SCREEN 1,2,0:WIDTH 80:PRINT AT (3,5);
  300. 2860  PRINT "It is the year 2101 and war has broken out between Earth and the"
  301. 2870  PRINT "distant planet Zekloke. This alien power has established a large military"
  302. 2880  PRINT "complex on Mars which will soon become a great danger to Earth.  Hidden"
  303. 2890  PRINT "in the massive installation are several secret documents containing the"
  304. 2900  PRINT "plans for a incredible defense shield - strong enough to stop an entire"
  305. 2910  PRINT "fleet of spacecraft.  You are a special agent and have just succeeded in"
  306. 2920  PRINT "sneaking into the alien complex. Your mission is to destroy this base and"
  307. 2930  PRINT "return with the plans for the defense shield. The outcome of the mission"
  308. 2940  PRINT "will decide the fate of mankind.  GOOD LUCK!"
  309. 2950  PRINT :PRINT TAB(20);"Press space bar to proceed"
  310. 2960  GETKEY X$
  311. 2970  GOTO 2610
  312.