Skip to content

Commit

Permalink
More sample files for testing (albeit generated by itself)
Browse files Browse the repository at this point in the history
The crunched and decommented files were created using this very
program so testing against these outputs is more for regression tests
than accuracy.
  • Loading branch information
hackerb9 committed Mar 13, 2024
1 parent acfbef9 commit fbb580a
Show file tree
Hide file tree
Showing 6 changed files with 793 additions and 0 deletions.
184 changes: 184 additions & 0 deletions samples/GALAXY-crunched.DO
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
0 REM
1 REM
2 DEFINTA-Z:CLS:PRINT:PRINT" G A L A X Y T R E K":PRINT:PRINT" A D V E N T U R E # 1":MAXFILES=2:GOSUB35:PRINT:PRINT" COPYRIGHT 1983, HOWARD BATIE":PRINT" HERNDON, VA 22070":GOSUB35:GOSUB168
3 CLEAR800:DIMDM(41,5),DS$(41),OB$(26),OB(26),DI$(5),VB$(25),NN$(26),DD$(5):WG=0:CW=0:SC=0:NM=0:CC=0:SP=0:CM$="":BP=0
4 SP$=CHR$(13)+"SPOCK SAYS --":CR$="THE COMPUTER RESPONDS --":NN$="NOT NECESSARY NOW, CAPTAIN.":CD$="YOU CANNOT DO THAT":TM$="YOU'RE CARRYING TOO MUCH ":BL$=" A BUTTON LABELLED:
5 DR$="YOU'LL HAVE TO DROP SOMETHING.":CP$="CAPTAIN":SH$="THE CRYSTALS SHATTER INTO DUST.":EN$="THE ENTERPRISE":NI$="NOTHING HAPPENED.":PF$="SORRY, YOU'RE ON YOUR OWN!":FORI=1TO41:FORJ=0TO5:READDM(I,J):NEXTJ,I
6 DATA2,0,0,0,0,0,0,3,1,10,0,0,0,0,0,2,0,0,4,4,4,4,0,0,0,11,12,9,0,0,0,0,10,0,9,17,0,10,0,8,0,0,0,7,0,0,0,0,0,5,0,0,0,6,6,2,0,7,0,0,0,0,13,5,0,0,5,13,0,0,0,0
7 DATA11,0,0,12,0,0,0,16,18,0,0,0,17,18,0,0,0,0,0,0,0,14,0,0,0,0,15,0,6,24,14,19,0,15,0,0,0,0,0,18,0,0,24,27,0,23,0,0,0,22,0,0,0,0,0,0,23,21,0,0,22,20,0,0,0,0,0,0,20,0,17,29
8 DATA29,28,0,0,0,0,0,0,0,27,0,0,0,26,0,20,0,0,0,30,0,25,0,0,0,0,25,0,24,0,0,32,31,28,0,0,30,0,0,0,0,0,0,0,0,30,0,0,33,33,33,33,0,0,35,38,33,4,0,0,39,40,34,0,0,0,0,0,4,0,0,0:DATA0,0,40,39,0,0,38,38,38,38,0,0,0,37,35,0,0,0,37,0,38,35,0,0,0,4,0,0,0,0
9 DATA32,12,13,11,5,10,15,20,25,26,7,14,27,4,8,4,16,19,21,21,21,27,31,32,1,5:FORI=1TO26:READOB(I):NEXT:FORJ=0TO3:DM(4,J)=4:NEXTJ
10 DS$(1)="IN THE CAPTAIN'S QUARTERS":DS$(2)="IN A CORRIDOR OF "+EN$:DS$(3)="IN THE TRANSPORTER ROOM":DS$(4)="ON THE SANDY SURFACE OF THE PLANET":DS$(5)="AT THE ENTRANCE TO A TURBOLIFT":DS$(6)="IN THE TURBOLIFT
11 DS$(7)=DS$(2):DS$(8)="IN ONE OF THE CREW'S QUARTERS":DS$(9)=DS$(6):DS$(10)=DS$(5):DS$(11)="AT THE NAVIGATION CONSOLE":DS$(12)="AT THE COMMUNICATIONS STATION":DS$(13)="AT THE SCIENCE OFFICER'S STATION
12 DS$(14)=DS$(2):DS$(15)=DS$(5):DS$(16)="IN THE SHIP'S LIBRARY":DS$(17)=DS$(6):DS$(18)=DS$(2):DS$(19)="IN THE SICK BAY
13 DS$(20)=DS$(5):DS$(21)="IN THE SHIP'S SUPPLY WAREHOUSE":DS$(22)=DS$(2):DS$(23)=DS$(2):DS$(24)=DS$(6):DS$(25)=DS$(5):DS$(26)="IN A SECURITY CELL IN THE BRIG":DS$(27)=DS$(2):DS$(28)=DS$(2):DS$(29)=DS$(6):DS$(30)="IN THE WARP ENGINE DRIVE AREA
14 DS$(31)="AT THE DILITHIUM CRYSTAL POWER STATION.":DS$(32)="AT THE AUXILIARY POWER STATION.":DS$(33)="IN A GREAT SEA OF MOVING SAND":DS$(34)="ON A SANDY HILLSIDE
15 DS$(35)="AT THE WALL OF A CAMP TO THE NORTHEAST.":DS$(36)="ON A DUNE. MANY KLINGONS TO THE EAST.
16 DS$(37)="IN YOUR CREW'S CAMP -- YOU MUST LEAD THEM BACK TO WHERE YOU BEAMED DOWN.":DS$(38)="CAUGHT IN A ROCKSLIDE AND DIE IN AN AVALANCHE OF BOULDERS!":DS$(39)="AT A GATE OF A CAMP TO THE EAST
17 DS$(40)="AT THE GATE OF A CAMP TO THE NORTH":DS$(41)=DS$(4):OB$(1)="AN UNARMED KLINGON COMMANDER":OB$(2)=" -- SHIP'S SENSORS --":OB$(3)=" -- SHIP'S STATUS --":OB$(4)=" -- FIRE IMPULSE ENGINES --
18 OB$(5)="A SIGN ON THE OPPOSITE WALL":FORI=6TO9:OB$(I)=OB$(5):NEXT:OB$(10)="MR. SPOCK UNCONSCIOUS ON THE FLOOR":OB$(11)="A KLINGON SOLDIER":OB$(12)="A KLINGON GUARD
19 OB$(13)="A KLINGON SENTRY":OB$(14)="A KLINGON OFFICER":OB$(15)="A FURRY LITTLE TRIBBLE":OB$(16)="RAW DILITHIUM CRYSTALS":OB$(17)="THE SHIP'S TECHNICAL MANUAL
20 OB$(18)="A HYPODERMIC ANTIDOTE":OB$(19)="A PHASER":OB$(20)="A COMMUNICATOR":OB$(21)="AN ELECTRONIC SHUNT":OB$(22)="SPOCK'S TRICORDER":OB$(23)="POWER LEVELS ARE VERY LOW.":OB$(24)="A POWER CONTROL PANEL
21 OB$(25)="A 3D CHESS SET":OB$(26)="STAR CHARTS":DI$(0)="NORTH":DI$(1)="EAST":DI$(2)="SOUTH":DI$(3)="WEST":DI$(4)="UP":DI$(5)="DOWN":FORI=1TO25:READVB$(I):NEXT
22 DATANOR,EAS,SOU,WES,UP,DOW,HEL,INV,SCO,QUI,LOO,GO,GET,DRO,SAY,THR,FIR,PRE,REA,INS,INJ,SAV,STA,ON,OFF:FORI=0TO22:READNN$(I):NEXT:PL=1:SP=0:KE=-1:CR=0:SH=0:DE=-1:TT=0:TD=1
23 DATAENER,COMM,BUTT,BUTT,BUTT,SIGN,SIGN,SIGN,SIGN,SIGN,SPOC,KLIN,KLIN,KLIN,KLIN,TRIB,CRYS,MANU,NEED,PHAS,COMM,SHUN,TRIC
24 DD$(1)="BRIDGE":DD$(2)="PERSONNEL SECTION":DD$(3)="TECHNICAL DEPARTMENTS":DD$(4)="SECURITY SECTION":DD$(5)="ENGINEERING DIVISION":NN$(25)="CHES":NN$(26)="CHAR":YY$="PRESS THE 'Y' KEY TO ":AG$="":GOSUB170
25 CLS:PRINT:PRINT:PRINT" WANT INSTRUCTIONS ";AG$;"(Y/N)?":GOSUB172:IFZZ$="Y"THENGOSUB178:GOTO25
26 CLS:PRINT:PRINT:PRINT" RESTORE A PREVIOUS GAME (Y/N)?
27 GOSUB172:IFZZ$<>"Y"ANDZZ$<>"N"THENBEEP:GOTO27
28 IFZZ$="N"THEN30
29 PRINT:PRINT:PRINT" WAIT":BEEP:OPEN"RAM:FILE1.DO"FORINPUTAS1:INPUT#1,WG,CW,SC,NM,CC,SP,PL,KE,CR,SH,DE,TT,TD:FORI=0TO3:INPUT#1,DM(4,I):NEXTI:FORI=1TO26:INPUT#1,OB(I):NEXTI:CLOSE
30 CLS:IFBP=1THENBEEP
31 PRINT"YOU ";:IFSP=1THENPRINT"AND SPOCK ";
32 IFCW=1THENPRINT"AND THE CREW ";
33 PRINT"ARE":PRINT" ";DS$(PL):IFPL=38THEN73:ELSEIFPL=37THENCW=1:GOTO36:ELSEIFPL<>33THEN36:ELSEGOSUB35:PRINT"A GIANT SAND SNAKE IS SWIMMING THROUGH THE SAND TOWARD YOU!":GOSUB35:PRINT
34 PRINT"IT'S GETTING CLOSER!":GOSUB35:PRINT:PRINT"YOU CAN'T ESCAPE!":GOSUB35:PRINT:PRINT"AARRRRGHH !!! IT KILLED YOU!":PRINT:GOTO73
35 FORI=1TO1000:NEXT:RETURN
36 PRINT"EXITS: ";:FORJ=0TO5:IFDM(PL,J)>0THENPRINTDI$(J);" ";
37 NEXTJ:PRINT:IFPL<>30THENPRINT"YOU CAN SEE";:IFPL>10ANDPL<14THENPRINTBL$
38 IFPL=21THENPRINT" ALL THE SHIP'S SUPPLIES":GOTO41:ELSEK=0:FORJ=1TO26:IFOB(J)=PLTHENK=1:PRINT" ";OB$(J):NEXTJ:ELSENEXTJ:IFPL=30THENPRINT" ":ELSEIFK=0THENPRINT" NOTHING
39 IFWG=0THEN41ELSEIFCW=1ANDPL=3THEN174
40 IFPL=37THENSC=SC+250:GOTO45
41 IFOB(11)=PLOROB(12)=PLOROB(13)=PLOROB(14)=PLTHEN149
42 IFKEANDSP=1ANDPL=28THENPRINTSP$:PRINT" CAPTAIN, I SENSE KLINGONS TO THE EAST. TOO MANY FOR JUST HAND PHASERS.
43 IFKEANDPL=30THENPRINT"YOU'RE SURROUNDED BY KLINGONS, AND HAVE TIME FOR ONE ACTION BEFORE THEY FIRE!":GOTO154
44 REM
45 GOSUB156:CM$="":INPUT"COMMAND";CM$:IFCM$=""THEN30ELSECM$=CM$+"
46 VB$=LEFT$(CM$,3):NN$="":FORI=1TOLEN(CM$)-4:IFMID$(CM$,I,1)=" "THENNN$=MID$(CM$,I+1,4):I=255
47 NEXTI:VB=0:FORJ=1TO25:IFVB$=VB$(J)THENVB=J
48 NEXTJ:IFVB=0THENPRINT:PRINT"CAN YOU REPEAT THAT, ";CP$;"?":GOTO45
49 IFVB=22THEN163ELSEIFVB=23THEN166ELSEIFVB=24THEN77ELSEIFVB=25THEN78
50 NN=-1:FORJ=0TO26:IFNN$=NN$(J)THENNN=J
51 NEXTJ:IF(NN=-1ANDVB>12)ANDVB<>15THENPRINT"CAN YOU REPEAT THAT, CAPTAIN?":GOTO45
52 ONVBGOTO53,53,53,53,53,53,56,69,72,160,30,79,81,86,90,97,108,114,123,139,147,77,78
53 IFTT>2ANDPL=4ANDWG=1THENPRINTTM$:PRINT" FOR THIS PLANET'S GRAVITY.":PRINTDR$:GOTO45
54 IFDM(PL,VB-1)>0THENPL=DM(PL,VB-1):NM=NM+1:GOTO30
55 PRINTCD$:SOUND8000,8:GOTO45
56 SC=SC=10:IFPL=4THEN60
57 IFSP<>1THENPRINTPF$:GOTO45ELSEPRINT:PRINTSP$:PRINT" ";:ONPLGOSUB58,58,59,159,58,58,61,63,58,58,64,64,64,61,58,58,58,58,58,58,65,58,58,58,58,58,61,66,58,58,68,67:GOTO45
58 PRINT"I SEE NOTHING UNUSUAL, CAPTAIN.":RETURN
59 PRINT" SAY 'ENERGIZE', ";CP$:RETURN
60 PRINTPF$:GOTO45
61 KH=0:FORJ=11TO14:IFOB(J)=PLTHENKH=1:NEXTELSENEXT
62 IFKH=1THENPRINT"I SUGGEST YOU FIRE A PHASER!":RETURNELSE58
63 IFOB(15)=8THENPRINT"DO YOU THINK THIS CREATURE IS USEFUL?":RETURNELSE58
64 PRINT"SHOULD I PRESS THE BUTTON?":RETURN
65 PRINT"ALMOST ANY EQUIPMENT IS AVAILABLE.":RETURN
66 PRINT"WE NEED SOMETHING TO FRIGHTEN THEM AWAY":RETURN
67 IFOB(1)=32THENPRINT"THE KLINGON-ESE PHRASE FOR <<DO YOU SURRENDER?>> IS 'TRISAETI'":RETURN
68 PRINT"I SUGGEST WE CONSULT THE SHIP'S MANUAL.":RETURN
69 CLS:PRINT"YOU ARE CARRYING:":K=0:FORJ=15TO26:IFOB(J)=0THENPRINT" ";OB$(J):K=1
70 NEXTJ:IFK=0THENPRINT"NOTHING
71 GOTO45
72 PRINT"YOUR SCORE SO FAR IS";9*(SC-3*NM):GOTO45
73 IFPL<>4ANDPL<33ANDWG=1ANDCW=0THENPRINTSP$:PRINT"THE ENTERPRISE IS SAVED. BUT WITHOUT THE CREW, OUR MISSION IS A FAILURE.
74 GOSUB35:PRINT"THIS ADVENTURE IS OVER.
75 PRINT:PRINT" DO YOU WANT TO TRY AGAIN? (Y/N)":GOSUB172:IFZZ$="Y"THENCLS:PRINT:PRINT:PRINT:PRINT" PLEASE WAIT ...":GOTO3:ELSEMENU
76 RETURN
77 BP=1:GOTO30
78 BP=0:GOTO30
79 VB$=LEFT$(NN$,3):VB=0:FORJ=1TO6:IFVB$=VB$(J)THENVB=J
80 NEXTJ:IFVB=0THENFORJ=1TO1:GOTO48ELSE53
81 IFOB(NN)=0THENPRINT:PRINT"YOU ALREADY HAVE THAT.":GOTO45
82 IFNN<15THENPRINTCD$:GOTO45
83 IFOB(NN)=PLANDTT<5THENTT=TT+1:OB(NN)=0:GOTO30
84 IFOB(NN)=PLTHENPRINTTM$:PRINTDR$:GOTO45
85 PRINT:PRINT"I DON'T SEE THAT HERE.":GOTO45
86 IFOB(NN)<>0THENPRINT:PRINT"YOU DON'T HAVE THAT.":GOTO45
87 IFNN=16ANDOB(16)=0THENPRINTSH$:OB(16)=4:SC=SC-150:TT=TT-1:GOTO45
88 IFNN=15ANDOB(15)=0THENOB(15)=8:TT=TT-1:SC=SC-50:PRINT"O.K. BUT IT RAN AWAY!":GOTO45
89 OB(NN)=PL:TT=TT-1:GOTO30
90 IF(PL=3ANDSP=1ANDNN=0)THENCLS:PRINT:PRINTSP$:PRINT"AYE AYE, ";CP$:PRINT:PRINT" ";:FORI=1TO25:PRINT"*";:FORJ=1TO10:NEXTJ,I:GOSUB35:PL=4:SP=0:GOTO30
91 IFNN=0ANDTT>2THENPRINTTM$:PRINTDR$:GOTO45
92 IFNN=0THENIFOB(20)=0THENIFNN=0THENCLS:PRINT:PRINTSP$:PRINT" BEAMING YOU ABOARD, CAPTAIN.":PRINT:PRINT" ";:FORI=1TO25:PRINT"*";:FORJ=1TO10:NEXTJ,I:GOSUB35:PL=3:SP=1:GOTO30
93 IFNN=0ANDOB(20)<>0THENPRINT"O.K. BUT WITHOUT THE COMMUNICATOR, YOU ARE BEAMED INTO DEEP SPACE.":GOTO73
94 IFPL=3THENIFNN=0THENPRINT:PRINT"NEED SOMEONE FOR THE CONTROLS?":GOTO45
95 IFPL=32THENIFNN$="TRIS"THENIFOB(1)=32THENCLS:PRINT:PRINT"THE COMMANDER SURRENDERS AND STATES THAT THE CREW IS UNHARMED ON THE PLANET'S SURFACE. HE WILL SUPPLY TRANSPORTER COORDINATES AND THEN GO TO THE BRIG.":OB(1)=26:SC=SC+150:GOTO45
96 PRINT"YOU SAID IT, BUT ";:PRINTNI$:GOTO45
97 PRINT:IFOB(NN)<>0THENPRINTCD$:GOTO45
98 TT=TT-1:IFNN=16THENPRINT"O.K.":PRINTSH$:SC=SC-150:OB(16)=4:GOTO45
99 IFNN>16THENPRINT"O.K.":SC=SC-50:IFSP=1THENPRINTSP$:PRINT" A MOST ILLOGICAL MOVE, ";CP$
100 IFNN>16THENOB(NN)=PL:GOTO45
101 FORI=11TO14:IFOB(I)=PLTHENPRINT:PRINT"THE KLINGON WAS SO AFRAID OF THE TRIBBLE THAT HE RAN AWAY!":OB(I)=-1:OB(15)=PL:SC=SC+75:I=15:NEXTI;ELSENEXTI
102 IFPL>32THENOB(15)=8:PRINT" BUT THE TRIBBLE RAN AWAY, TOO!":GOTO45
103 IFOB(1)=PLTHENPRINT"THE KLINGON COMMANDER IS VERY BRAVE AND HOLDS HIS GROUND.":OB(15)=PL:GOTO45
104 IFPL=30ANDKETHENCLS:PRINT:PRINT"WHEN THE KLINGONS SEE THE TRIBBLE, THEY RUN AWAY IN ALL DIRECTIONS!
105 IFPL=30THENIFKETHENIFSP=1THENPRINT:PRINTSP$:PRINT" EXCELLENT, CAPTAIN! YOU REMEMBERED HOW FRIGHTENED THEY ARE OF TRIBBLES!":ELSEPRINT
106 IFPL=30ANDKETHENKE=0:OB(15)=30:GOTO45
107 OB(15)=PL:GOTO45
108 SC=SC-20:FORI=11TO14:IFOB(I)<>PLTHEN112ELSEPRINT:PRINT"THE KLINGON HAS BEEN REMOVED.":SC=SC+100:IFPL>32THENPRINT" BUT YOUR PHASER VAPORIZED!":OB(19)=-1:TT=TT-1
109 IFOB(19)<>0THENPRINT:PRINTCD$;" YET.":GOTO45
110 SC=SC-20:FORI=11TO14:IFOB(I)<>PLTHEN112ELSEPRINT:PRINT"THE KLINGON HAS BEEN REMOVED.":SC=SC+100:IFPL>32THENPRINT" BUT YOUR PHASER VAPORIZED!":OB(19)=-1:TT=TT-1
111 OB(I)=-1:I=15:NEXTI:GOTO45
112 NEXTI:IFOB(1)=PLTHENPRINT:PRINT"THE COMMANDER HAS BEEN REMOVED.":IFSP=1THENPRINTSP$:PRINT" HIGHLY ILLOGICAL TO KILL AN UNARMED MAN, CAPTAIN.":OB(1)=-1:GOTO45ELSEOB(1)=-1:GOTO45
113 PRINT:PRINT"O.K.";:IFSP=1THENPRINT" BUT WHY WASTE VALUABLE":PRINT" PHASER CHARGE, CAPTAIN?":GOTO45ELSE45
114 IFNN<2ORNN>4THENPRINT"DO WHAT, CAPTAIN?":GOTO45
115 IFPL<11ORPL>13THENPRINT"WHAT BUTTON, CAPTAIN?":GOTO45
116 SC=SC-50:IFPL=12ANDKETHENCLS:PRINT:PRINTCR$:PRINT" SENSORS SHOW ONE HUMANOID LIFE FORM ON BOARD, ONE VULCAN, AND MANY KLINGONS.":PRINT:GOTO45
117 IFPL=12THENPRINT:PRINTCR$:PRINT" SENSORS INDICATE ONE HUMAN AND ONE VULCAN ABOARD.":PRINT:GOTO45
118 IFPL=13THENCLS:PRINTCR$:PRINT" ";EN$;" IS IN A DECAYING ORBIT AROUND THE CLASS 'M' PLANET TIERAS-80. IT HAS AN OXYGEN-NITROGEN ATMOSPHERE, AND IS RICH IN CRYSTALLITE MINERALS.
119 IFPL=13THENIFDETHENPRINT" IMPULSE ENGINES MUST BE FIRED SOON, OR WE'LL BURN UP IN THE ATMOSPHERE.
120 IFPL=13THEN45
121 IFPL=11THENIFSHTHENIFCRTHENCLS:PRINT:PRINT:PRINT"THE SHIP SHAKES VIOLENTLY ...":PRINTCR$:PRINT" STABLE ORBIT HAS BEEN ACHIEVED !!
122 DE=0:TD=1:WG=1:OB(11)=35:OB(12)=39:OB(13)=40:OB(14)=41:DM(4,0)=36:DM(4,1)=34:DM(4,2)=0:DM(4,3)=41:SC=SC+200:PRINT:GOTO45:PRINTNI$:GOTO45
123 SC=SC-5:IFNN=9AND(INT(PL/5)*5)=PLANDPL<26THENCLS:PRINT:PRINT"IT SAYS:":PRINT" FEDERATION STARSHIP ENTERPRISE -- NCC 1701 --":PRINT" DECK";PL/5;"- ";DD$(PL/5):PRINT:GOTO45
124 IFNN=22THEN132ELSEIFNN=17THEN126
125 PRINT"READ WHAT, CAPTAIN?":GOTO45
126 IFOB(17)<>0THEN125
127 IFPL=11THENPRINT"CHECK THE DILITHIUM CRYSTALS AND CONTROLS IN ENGINEERING.":GOTO45
128 IFPL=21ANDOB(21)=PLTHENPRINT"THIS SHUNT IS USED IN THE ENGINEERING CONTROL MECHANISM.":GOTO45
129 IFPL=31THENPRINT"INSERT CRYSTALS AT THE POWER STATION":GOTO45
130 IFPL=32THENPRINT"INSTALL THE SHUNT IN THE CONTROL PANEL.":GOTO45
131 PRINT"IT DOESN'T MENTION ANYTHING OF VALUE.":GOTO45
132 IFOB(22)<>0THEN125
133 IFPL=4ORPL>32THEN136
134 IFKE<>0OR(OB(11)>0ANDOB(11)<33)OR(OB(12)>0ANDOB(12)<33)OR(OB(13)>0ANDOB(13)<33)OR(OB(14)>0ANDOB(14)<33)THENPRINT"THERE ARE STILL KLINGONS ON THE SHIP!":GOTO45
135 IFKE=0ANDOB(1)<>-1THENPRINT"IT INDICATES THAT ONLY ONE UNARMED KLINGON REMAINS ON THE SHIP.":GOTO45
136 PRINT"IT INDICATES ";:IFCW=0THENPRINT"SEVERAL HUMANOID LIFE FORMS AND KLINGONS TO THE NORTHEAST...
137 IFOB(14)<>-1THENPRINT"ONE KLINGON TO THE WEST.
138 GOTO45
139 IFPL<31THENPRINTCD$;" HERE":GOTO45
140 IFPL=31THENIFOB(16)=0THENIFNN=16THENIFCRTHENPRINTNI$:GOTO45
141 IFPL=31THENIFOB(16)=0THENIFNN=16THENIFCR=0THENPRINT"A LOW VIBRATION BEGINS ...":GOSUB35:PRINT" POWER LEVELS NOW AT";92+RND(7)+RND(0);"%":CR=-1:TT=TT-1:OB(16)=-1:OB(23)=-1:SC=SC+300:GOTO145
142 IFPL=32THENIFOB(21)=0THENIFNN=21THENIFSHTHENPRINTNI$:GOTO45
143 IFPL=32THENIFOB(21)=0THENIFNN=21THENIFSH=0THENPRINT"A GREEN PANEL LIGHT GLOWS ...":GOSUB35:PRINT" AUXILIARY POWER IS NOW OPERATIONAL.":OB(24)=-1:TT=TT-1:SH=-1:OB(21)=21:SC=SC+250:GOTO145
144 PRINTCD$:GOTO45
145 IFCRANDSHTHENTD=-17-RND(3)-RND(0)
146 GOTO45
147 IF(NN=18ORNN=10)ANDOB(10)=26ANDOB(18)=0ANDPL=26THENSC=SC+200:PRINT"O.K. SPOCK AWAKENS AND SAYS --":PRINT" I AM WELL ENOUGH TO HELP YOU NOW.":SP=1:OB(10)=-1:GOTO45
148 PRINT"NOT NOW, CAPTAIN.":GOTO45
149 IFOB(15)<>0THENIFOB(19)<>0THENGOSUB35:PRINT"WITHOUT A PHASER, YOU MUST SURRENDER!":GOTO73
150 GOSUB152:IFC1$=VB$(16)ANDC2$=NN$(15)ANDOB(15)=0THENTT=TT-1:GOTO101
151 IFC1$=VB$(17)ANDC2$=NN$(19)ANDOB(19)=0THEN110ELSE155
152 CM$="":INPUT"COMMAND";CM$:CM$=CM$+" ":FORI=1TOLEN(CM$):IFMID$(CM$,I,1)=" "THENC1$=LEFT$(CM$,3):C2$=MID$(CM$,I+1,4):I=99
153 NEXTI:RETURN
154 GOSUB152:IFC1$=VB$(16)ANDC2$=NN$(15)ANDOB(15)=0THENTT=TT-1:GOTO101:ELSE155
155 PRINT:PRINT"TOO SLOW, CAPTAIN. YOU HAVE BEEN CAPTURED AND THE ENTERPRISE IS LOST!":GOTO73
156 IFTD>0THENRETURNELSETD=TD+1+RND(0)
157 IFTD>0THENCLS:PRINT:PRINT"TOO LATE, CAPTAIN!":GOSUB35:PRINT:PRINT"THE ENTERPRISE WILL SOON BURN UP IN THE PLANET'S ATMOSPHERE!":GOSUB35:PRINT:PRINT"GOODBYE, CAPTAIN!":GOSUB35:PRINT:PRINT:GOTO73
158 IFSP=1THENPRINTSP$:PRINT" ";PRINTUSING"##.###";-TD;" MINUTES UNTIL ORBIT DECAYS.
159 RETURN
160 CLS:PRINT:PRINT" THIS ADVENTURE IS INTERRUPTED.":PRINT:PRINT" CONTINUE GAME LATER (Y/N)?";:GOSUB172:IFZZ$="N"THENMENU
161 PRINT:PRINT:PRINT" WAIT":BEEP:GOSUB162:MENU
162 OPEN"RAM:FILE1.DO"FOROUTPUTAS1:PRINT#1,WG,CW,SC,NM,CC,SP,PL,KE,CR,SH,DE,TT,TD:FORI=0TO3:PRINT#1,DM(4,I):NEXTI:FORI=1TO26:PRINT#1,OB(I):NEXTI:CLOSE:RETURN:CLOSE:BEEP:MENU
163 CLS:PRINT:PRINT:PRINT" DO YOU WANT TO SAVE THE PARAMETERS FOR THIS LOCATION (Y/N)? ";:GOSUB172:IFZZ$="N"THEN30
164 PRINT:PRINT:PRINT" WAIT":BEEP:GOSUB165:GOTO30
165 OPEN"RAM:SAVE1.DO"FOROUTPUTAS2:PRINT#2,WG,CW,SC,NM,CC,SP,PL,KE,CR,SH,DE,TT,TD:FORI=0TO3:PRINT#2,DM(4,I):NEXTI:FORI=1TO26:PRINT#2,OB(I):NEXTI:CLOSE:RETURN
166 CLS:PRINT:PRINT:PRINT" WANT TO START AGAIN FROM THE LAST PLACE WHERE YOU 'SAVED' LOCATION PARAMETERS (Y/N)? ":GOSUB172:IFZZ$="N"THEN30
167 PRINT:PRINT" WAIT":BEEP:OPEN"RAM:SAVE1.DO"FORINPUTAS2:INPUT#2,WG,CW,SC,NM,CC,SP,PL,KE,CR,SH,DE,TT,TD:FORI=0TO3:INPUT#2,DM(4,I):NEXTI:FORI=1TO26:INPUT#2,OB(I):NEXTI:CLOSE:GOTO30
168 CLS:PRINT" CAPTAIN'S LOG, STARDATE 4295.3 --":PRINT" YOU ARE CAPTAIN OF THE STARSHIP ENTERPRISE AND AWOKE MOMENTS AGO TO FIND AN EMPTY SHIP. NO ONE RESPONDS - SPOCK, CHEKHOV, SULU, SCOTTY, UHURU ... IS THIS THE KLINGON'S FINAL VICTORY?
169 RETURN
170 PRINT:PRINTYY$;"BEGIN ...";:GOTO172
171 PRINT:PRINTYY$;"CONTINUE ...";
172 ZZ$=INKEY$:IFZZ$=""THEN172
173 IFZZ$<>"Y"ANDZZ$<>"N"THENBEEP:GOTO172:ELSERETURN
174 CLS:PRINT":CONGRATULATIONS, CAPTAIN !!":PRINT" YOU HAVE DEFEATED THE KLINGONS, REPAIRED THE WARP DRIVE POWER, AND RETURNED THE CREW SAFELY TO THE SHIP.":PRINT:PRINT:GOSUB177
175 PRINT:PRINT"UHURU REPORTS THAT STAR FLEET COMMAND HAS JUST SIGNALLED THAT YOU ARE TO RETURN WITH THE ENTERPRISE FOR A WELL- EARNED SHORE LEAVE ON TERRA SATEY, AFTER WHICH YOU ARE TO BE PROMOTED TO COMMODORE.":GOSUB177
176 PRINT:PRINT:PRINT:PRINT" YOU MISSION SCORE IS";9*(SC-3*NM):GOTO75
177 PRINT" PRESS ENTER TO CONTINUE";:INPUTTT:CLS:RETURN
178 CLS:PRINT:PRINT"TO MOVE TO ANOTHER LOCATION WHICH IS NORTH, SOUTH, EAST, WEST, UP OR DOWN FROM YOUR PRESENT LOCATION, TYPE ONLY THE DIRECTION AND PRESS <ENTER>.":GOSUB171
179 CLS:PRINT:PRINT"TO ACCOMPLISH AN ACTION SUCH AS READING A SIGN OR OPENING A DOOR, TYPE A VERB AND A NOUN; THEN PRESS <ENTER> LIKE:":PRINT:PRINT" OPEN DOOR <ENTER>":GOSUB171
180 CLS:PRINT:PRINT"THE COMPUTER WILL NOT ACCEPT AN INVALID COMMAND. IF IT DOES NOT UNDERSTAND WHAT YOU WANT IT TO DO, TRY DIFFERENT WORDS.":GOSUB171
181 CLS:PRINT:PRINT"IF MR. SPOCK IS WITH YOU, HE MAY BE ABLE TO HELP. TYPE: HELP <ENTER>.":PRINT"TO SEE WHAT YOU'RE CARRYING,":PRINT" TYPE: INV <ENTER>.":PRINT"TO SEE YOUR SCORE, TYPE: SCORE <ENTER>.";:GOSUB171
182 CLS:PRINT"TO SAVE YOUR CURRENT LOCATION PARAMETERS (WHERE YOU ARE, WHAT YOU HAVE, ETC), TYPE: SAVE <ENTER>.":PRINT"TO STOP THE GAME, TYPE: QUIT <ENTER>.
183 PRINT"TO START OVER AGAIN FROM THE LAST PLACE WHERE YOU SAVED LOCATION PARAMETERS, TYPE: START <ENTER>.";:GOSUB171:AG$="AGAIN ":RETURN
Binary file added samples/GALAXY.BA
Binary file not shown.
Loading

0 comments on commit fbb580a

Please sign in to comment.