Listing of file='StarTrek' on disk='vmedia/games_vol_4.wvd.zip'
# Sector 312, program filename = 'StarTrek'
0100 REM "StarTrek" 06/17/80 T Smith & R Droz
0101 REM Loader for StarTrek
0105 REM % Main
0110 REM Main variables
0115 COM F, I, J, X, Y
0120 COM A0, B0, C0, D0, E0, H0, I0, K0, P0, R0, S0, T0, W0
0122 COM A1, B1, C1, D1, E1, F1, H1, K1, P1, R1, S1, T1, W1, X1, Y1
0125 COM P2, T2
0130 COM W2,W3
0135 COM C(7), D(9), R(7), X(9), Y(9)
0140 COM C0$8, C1$8, I$35, I4$1, S$80
0145 COM D$(9)15, F1$(3)5, I$(8)35, M$(5)60, M1$(5)2, U$(64, 64)1
0150 COM C$(8, 8)3, C1$(8)9, K$(28)4, L$(3, 3)3, L8$(4)2, T$(10)9
0155 COM K$6, T$6,P$1
0160 REM
0165 REM F Flag indicating reason for end of game
0175 REM 0 - Game still on
0180 REM 1 - Enterprise shot by a photon torpedo
0185 REM 2 - Enterprise has become prey of a black hole
0190 REM 3 - Out of Time
0195 REM 4 - Dead in Space
0200 REM 5 - Destroyed by Klingon
0205 REM 8 - Quit
0210 REM 9 - Normal End
0215 REM
0220 REM F1 Count down 'til Klingons may shoot again
0225 REM I,J Scratch, loop indexes
0235 REM X,Y Scratch, co-ordinates in U$()
0245 REM
0250 REM A0, A1 Efficiency weighting
0255 REM B0, B1 Number of starbases
0260 REM C0, C1 Enterprise Course
0265 REM D0, D1 Time til end of mission
0270 REM E0, E1 Enterprise Energy
0275 REM H0, H1 Number of black holes
0280 REM I0 Cursor image being input
0285 REM I1 Cursor position in current input line
0290 REM K0, K1 Number of Klingons
0295 REM K2 Number of Klingons in SR sensor range
0300 REM P0, P1 Number of photon torpedoes
0305 REM P2 Number of torpedoes in space
0310 REM R0, R1 Number of stars (excluding "black hole"'s)
0315 REM S0, S1 Energy in Enterprise's shields
0320 REM T0, T1 Galaxy time in standard stardates
0325 REM T2 Width of current time slice (Max = 1)
0330 REM X1, Y1 Co-ordinates of the Enterprise
0335 REM W0, W1 Warp factor of the Enterprise
0340 REM W2 Warp to accellerate to
0345 REM W3 Remaining distance to travel under warp power
0350 REM
0355 REM C1$,C0$ Current condition, Old condition
0360 REM C1$() Condition condition codes
0365 REM STR(C1$,9,1) Remaining time to display condition code
0370 REM I4$ - item to search for
0375 REM P$ - Penalty flag = "D" if base has been torpedoed
0380 REM S$ Scratch
0385 REM S1$ =T if a shot has been taken since condition red came on
0390 REM
0395 REM C() The vector of column numbers for screen sections
0400 REM R() The vector of row numbers for screen sections
0405 REM 1st - Short range scan
0410 REM 2nd - Cumulative galactic record
0415 REM 3rd - Main screen
0420 REM 4th - Damage control
0425 REM 5th - Rose
0430 REM 6th - Command table
0435 REM 7th - Command entry
0440 REM
0445 REM C$() The cumulative galactic record
0450 REM Format = A1, A1, A1
0455 REM 1st - Number of Klingons
0460 REM 2nd - Number of starbases
0465 REM 3rd - Number of stars
0470 REM
0475 REM D() Damage control values
0480 REM D$() Damage control titles
0485 REM 1st - Computer
0490 REM 2nd - Damage control
0495 REM 3rd - Impulse engines
0500 REM 4th - Long range sensors
0505 REM 5th - Phasors
0510 REM 6th - Photon tubes
0515 REM 7th - Shield control
0520 REM 8th - Short range sensors
0525 REM 9th - Warp drive
0530 REM
0535 REM I$ Current image for input
0540 REM I$() The vector of images for input
0545 REM 1st - Course
0550 REM 2nd - Impulse Engines
0555 REM 3rd - Navigation computer
0560 REM 4th - Phasor energy
0565 REM 5th - Shield energy
0570 REM 6th - Fire Torpedo
0575 REM 7th - Enter warp factor
0580 REM 8th - Quit
0585 REM
0590 REM F1$() Attribute selector array (On and lock)
0595 REM 1st - normal
0600 REM 2nd - bright
0605 REM 3rd - bright/blink
0620 REM
0625 REM K$() The vector of Klingons
0630 $FORMAT K$ = P1.0, P1.0, P2.0
0635 REM 1st - The x co-ordinate
0640 REM 2nd - The y co-ordinate
0645 REM 3rd - Energy left
0650 REM
0655 REM L$() The long range scan
0660 REM Format = A1, A1, A1
0665 REM 1st - Number of Klingons
0670 REM 2nd - Number of starbases
0675 REM 3rd - Number of stars
0680 REM
0685 REM L8$() Scratch Locator array
0690 REM
0695 REM T$() The vector of torpedoes
0700 $FORMAT T$ = P3.3, P3.3, P3.3
0705 REM 1st - x co-ordinate
0710 REM 2nd - y co-ordinate
0715 REM 3rd - Course
0720 REM (The speed of a photon torpedo is one sector/itteration)
0725 REM (The Enterprise is torpedo number 1)
0730 REM
0735 REM U$() The universe
0740 REM Format = A1
0750 REM 0 - Blank
0755 REM 1 - Federation starbase
0760 REM 2 - Black hole
0765 REM 3 - Klingon
0770 REM 4 - Star
0775 REM 5 - Enterprise
0780 REM 6 - Torpedo
0785 REM
0790 REM X() Mapping function from course to dx
0795 REM Y() Mapping function from course to dy
0800 REM
0805 REM Subroutines
0810 REM
0815 REM '100 - Initialize
0820 REM '101 - Display board
0825 REM '102 - Iterate
0830 REM '103 - Find an empty slot in the universe
0835 REM X,Y - co-ordinates of empty slot
0845 REM '104 (X4, Y4) - Check for collision
0850 REM F4 - Flag (non-zero indicates collision)
0855 REM '105 - Check for a key
0860 REM '106 (F2) - Display message
0865 REM F2 - Display time
0870 REM '107 (C0$,C5) - Change condition code to S$
0875 REM C5 - Display time
0880 REM '108 (X4,Y4,I4$,I9) - Look around X4,Y4, radius I9 for item I4$
0885 REM I4$ - code for item to search for; " " if anything
0890 REM returns
0895 REM I4$,X3,Y3 - item found at co-ords X3,Y3; I4$=" " if nothing fo
und
0900 REM
0905 REM '109(I9) - Convert offset in S$() to co-ords in universe
0910 REM -returns X4,Y4
0915 REM
0920 GOTO 1750
0925 REM % Initialize
0930 DEFFN '100
0940 REM Init terminal and it's screen
0945 SELECT P, PRINT 005(80), CO 005(80), R
0955 PRINT HEX(020D0C030F06)
0990 S$ = "STAR TREK"
0995 PRINT AT(7, 0+(80-LEN(S$)+1)/2); F1$(3); S$; F1$(1)
1000 S$ = "( Pardon us while we generate your galaxy... )"
1005 PRINT AT(9, 0+(80-LEN(S$)+1)/2); S$
1035 REM
1040 REM Initialize the initial-variable's values
1045 A0 = 50
1050 B0 = INT(RND(1)*( 4 - 1) + 1) + 1
1055 C0 = 1
1060 D0 = INT(RND(1)*( 35 - 25) + 25) + 1
1065 E0 = 3500
1070 H0 = INT(RND(1)*( 16 - 2) + 2) + 1
1075 K0 = INT(RND(1)*( 28 - 9) + 9) + 1
1080 P0 = 10
1085 R0 = INT(RND(1)*(512 - 64) + 64) + 1
1090 S0 = 0
1095 T0 = INT(RND(1)*( 40 - 20) + 20)*100
1100 W0 = 0
1105 REM
1110 REM Initialize the current-variable's values
1115 A1 = A0
1120 B1 = B0
1125 C1 = C0
1130 D1 = D0
1135 E1 = E0
1140 F1 = 10
1145 H1 = H0
1150 K1 = K0
1155 P1 = P0
1160 R1 = R0
1165 S1 = S0
1170 T1 = T0
1175 W1 = W0
1180 REM
1185 REM Initialize the row and column number for the screen segments
1190 RESTORE LINE 1210
1195 FOR I = 1 TO 7
1200 READ R(I), C(I)
1205 NEXT I
1210 DATA 0, 0
1215 DATA 0, 47
1220 DATA 0, 27
1225 DATA 10, 58
1230 DATA 10, 28
1235 DATA 10, 41
1240 DATA 16, 0
1245 REM
1250 REM Initialize the cumulative galactic record
1255 C$() = ALL(" ")
1260 REM
1265 REM Initialize the current status
1270 RESTORE LINE 1295
1275 FOR I=1 TO 8
1280 READ C1$(I)
1285 STR(C1$(I),9,1)=BIN(0)
1290 NEXT I
1295 DATA "Green","Yellow","Blue","Bad!!","Red","Docked","Blue","Bad!!"
1300 REM
1305 REM Initialize the current damage state
1310 MAT D = CON
1315 MAT D = (80)*D
1320 REM
1325 REM Init the damage control headings
1330 RESTORE LINE 1340
1335 MAT READ D$
1340 DATA "Computer"
1345 DATA "Damage Control"
1350 DATA "Impulse Engines"
1355 DATA "LR Sensors"
1360 DATA "Phasors"
1365 DATA "Photon Tubes"
1370 DATA "Shield Control"
1375 DATA "SR Sensors"
1380 DATA "Warp Drive"
1385 REM
1390 REM Initialize end of game flag to not-end-of-game
1395 F = 0
1400 REM
1405 REM Initialize the input array
1410 RESTORE LINE 1420
1415 MAT READ I$
1420 DATA "C Enter\80Course: #.###"
1425 DATA "I Activate\80Impulse Engines"
1430 DATA "N\80Navigation: Destination = ##,##"
1435 DATA "P Enter\80Phasor Energy: ####"
1440 DATA "S Enter\80Shield Energy: ####"
1445 DATA "T Fire\80Torpedo"
1450 DATA "W Enter\80Warp Factor: #.###"
1455 DATA "Q Key 'return' to\80Quit"
1460 REM
1465 REM Initialize the vectors for the Klingons, Torpedoes, and the Universe
1470 K$(), T$(), U$() = ALL(HEX(00))
1475 REM
1480 REM Initialize blank message
1485 M1$() = ALL(HEX(00))
1490 MAT MOVE M1$() TO M$()
1495 REM
1500 REM Initialize number of torpedoes in flight
1505 P2 = 0
1510 REM
1515 REM Initialize the time slice
1520 T2 = .1
1525 REM
1530 REM Initialize the one unit movement help varialbes
1535 X(2), X(3), X(4) = -1
1540 X(1), X(5), X(9) = 0
1545 X(6), X(7), X(8) = +1
1550 Y(4), Y(5), Y(6) = -1
1555 Y(3), Y(7) = 0
1560 Y(1), Y(2), Y(8), Y(9) = +1
1565 REM
1570 REM Fill the universe
1575 REM
1580 REM Do the starbases
1585 FOR I = 1 TO B1
1590 GOSUB '103
1595 U$(X, Y) = HEX(01)
1600 NEXT I
1605 REM
1610 REM Do the black holes
1615 FOR I = 1 TO H1
1620 GOSUB '103
1625 U$(X, Y) = HEX(02)
1630 NEXT I
1635 REM
1640 REM Do the Klingons
1645 FOR I = 1 TO K1
1650 GOSUB '103
1655 U$(X, Y) = HEX(03)
1660 $PACK (F = K$) K$(I) FROM X, Y, INT(180 + 100*RND(1))
1665 NEXT I
1670 REM
1675 REM Do the stars
1680 FOR I = 1 TO R1
1685 GOSUB '103
1690 U$(X, Y) = HEX(04)
1695 NEXT I
1700 REM
1705 REM Do the Enterprise
1710 GOSUB '103
1715 U$(X, Y) = HEX(05)
1720 X1 = X
1725 Y1 = Y
1740 RETURN
1745 REM %Main
1750 GOSUB '202
1751 GOSUB '200
1753 GOSUB '201(F)
1755 GOSUB '100
1760 PRINT
: PRINT "Uhura here, Captain, with a message from Starfleet Command:"
1762 SELECT P9
1765 PRINT " We must destroy";K0;"Klingons within";D0;"Stardates."
1766 PRINT
1767 PRINT
1768 PRINT
1769 PRINT
1770 SELECT P
1780 LOAD T#1,"Star1"
2000 REM % Initialize attribute array
2005 DEFFN'202
2010 RESTORE LINE 2020
2015 MAT READ F1$
2017 RETURN
2020 DATA HEX(020400000E),HEX(020402000E),HEX(02040B000E)
2025 REM %Select Disk
2030 DEFFN'200
2035 DIM D$3
2040 GOSUB 2315
2045 D$=" "
2050 LIMITS T#1,"Star1",A,A,A,D
: ERRORGOTO 2060
2055 IF D=1 THEN RETURN
2060 PRINT AT(2,0);HEX(07);
2065 LINPUT "StarTrek game is on which disk?"-D$
2070 SELECT #1 <D$>
: ERRORGOTO 2060
2075 GOTO 2050
2080 REM %Instructions
2085 DEFFN'201(F)
2090 D$=" "
2095 PRINT AT(4,0);
2100 LINPUT "Have you commanded a Star Ship before?"D$
2105 GOSUB '139(D$)
2110 ON I9+1 GOTO 2095,2290,2115
2115 RESTORE LINE 3000
2120 GOSUB 2315
2125 READ S$
2130 IF POS(S$="\8B")>0 THEN 2155
2135 IF POS(S$="\8C")>0 THEN GOSUB 2300
2140 $TRAN(S$,HEX(008C008B))R
2145 PRINT S$
2150 GOTO 2125
2155 GOSUB 2300
2160 GOSUB 2315
2165 D$=" "
2170 PRINT AT(5,0);
2175 LINPUT "Would you like a hard copy of the Enterprise Operator's Manual
?",D$
2180 GOSUB '139(D$)
2185 ON I9+1 GOTO 2170,2190,2290
2190 D$=" "
2195 PRINT AT(6,0);
2200 LINPUT "Printer Address?" -D$
2205 IF VER(D$,"HHH")<>3 THEN 2195
2210 SELECT PRINT <D$>,#15 <D$>
: ERRORGOTO 2195
2215 $OPEN #15
2220 P9=-1
2225 S$=" "
2230 RESTORE LINE 3000
2235 P9=P9+1
2240 IF MOD(P9,2)=0 THEN PRINT HEX(0D0C0E);"STARSHIP ENTERPRISE OPERATOR'S
MANUAL"
2245 PRINT
2250 $TRAN(S$,HEX(008C008B))R
2255 PRINT S$
2260 READ S$
2265 IF POS(S$="\8C")>0 THEN 2235
2270 IF POS(S$="\8B")=0 THEN 2255
2275 PRINT HEX(0C);
2280 $CLOSE
2285 SELECT PRINT /005(80)
2290 RETURN
2295 REM %TITLE
2300 PRINT AT(23,0);F1$(2);"Key RETURN for furthur instructions...";
2305 KEYIN B$,,2305
2310 IF STR(B$,,1)<>HEX(0D) THEN 2305
2315 PRINT HEX(030D);TAB(30);F1$(3);" Star Trek";HEX(0F)
: PRINT
2320 RETURN
3000 REM %Instructions
3010 DATA "You are to command the United Federation of Planets Star Ship Enter
prise"
3015 DATA "on a mission to rid the galaxy of Klingon battle cruisers."
3020 DATA " "
3025 DATA "Your crew consists of:"
3030 DATA " Lieutenant Commander Spock, Science Officer;"
3032 DATA " Dr. Leonard 'Bones' McCoy,MD, Medical Officer;"
3035 DATA " Lieutenant Commander Montgomery Scott, Engineer;"
3040 DATA " Lieutenant Uhura, Communications Officer;"
3044 DATA " Lieutenant Sulu, Helmsman;"
3045 DATA " Ensign Checkov, Navigator"," "
3050 DATA "The sensors and ship's computer are constantly reporting the ship's
position"
3064 DATA "and status, unless a device has been damaged by enemy fire. The cr
ew will also"
3065 DATA "give their reports, from time to time, in the lower left area of th
e screen."
3066 DATA "The display is being constantly up-dated, but sometimes cannot keep
up with"
3067 DATA "changes as fast as they occur."
3070 DATA "\8CThe galaxy is divided in a grid of 64 by 64 sectors. The origin
of co-ordinates"
3075 DATA "is in the upper left hand corner of the Short Range Sensor and Cumu
lative"
3080 DATA "Galactic Record Displays. The co-ordinates of a object are given b
y"
3085 DATA "first specifying the vertical co-ordinate."," "
3090 DATA "Your primary eyes are the Short Range Sensors. The Short Range Sen
sor display"
3095 DATA "in the upper left hand corner of the screen displays a five sector
radius in the"
3100 DATA "immediate vacinity of the Enterprise. The Enterprise is represente
d"
3105 DATA "by the + in the center of the display. Other objects are:"
3110 DATA " * -- Stars, ` -- Black Holes, \81 -- Klingon Battle C
ruisers,"
3111 DATA " # -- Federation Star Bases"
3115 DATA " ","The Short Range Sensors are not operational when the Enterprise
"
3120 DATA "is moving faster than warp factor 1."
3125 DATA "\8CThe Cumulative Galactic Record is a record maintained by the shi
p's computer"
3130 DATA "of the portion of the galaxy that has been explored by the Enterpri
se."
3135 DATA "The highlighted portion of the display is the output of the Long Ra
nge Sensors."
3140 DATA "It is the Long Range Sensors that provide the ship's computer with
the"
3145 DATA "data to update the Cumulative Galactic Record, thus both the Long R
ange"
3150 DATA "Sensors and the Computer must be operational in order for the Cumul
ative"
3155 DATA "Galactic Record to contain correct data. At best, the Cumulative Ga
lactic Record"
3156 DATA "is far from perfect because Klingons move and stars are consumed by
black holes."
3159 DATA " ","Each entry in the Cumulative Galactic Record represents"
3160 DATA "the contents of an area of space 8 sectors by 8 sectors."
3165 DATA "The digits represent, from left to right, Klingons, Bases, and Star
s."
3170 DATA "The position of the Enterprise is shown by a cursor, \81#*, to remi
nd the viewer"
3175 DATA "of the significance of each digit. "
3180 DATA "\8CThe ship is maneuvered with a series of one letter commands from
the menu"
3185 DATA "near the center of the screen. Typing a letter will cause a comman
d prompt"
3190 DATA "to appear in the box labeled COMMAND in the lower left area of the
sscreen."
3195 DATA "Data is entered into the prompt by replacing each # in the prompt w
ith a number."
3200 DATA "Special characters, such as decimal points and commas, must be ente
red as they"
3205 DATA "appear in the prompt. Commands that expect integer numbers will ac
cept"
3210 DATA "left justified numbers; commands that expect decimal fractions will
fill"
3215 DATA "the fraction with zeros if all digits are not typed. All commands
allow"
3220 DATA "the use of backspace and line erase. All commands must be terminat
ed with"
3225 DATA "RETURN in order to take effect; any command may be aborted by simpl
ying"
3230 DATA "typing a letter corresponding to another valid command."," "
3235 DATA " ENERGY & SHIELD CONTROL"
3240 DATA "The Enterprise has a limited amount of energy that may be divided b
etween the"
3250 DATA "deflector shields and general use. The shield command allows the c
aptain to"
3255 DATA "give up to 80% of the total ship's energy (energy + shields) to the
shields."
3270 DATA " ","The shields protect the Enterprise from enemy fire. The enemy
will try to"
3275 DATA "destroy the Enterprise by reducing her shields to less than zero.
Likewise, the"
3280 DATA "Enterprise destroys a Klingon, if the Klingon's shields are reduced
below zero."
3290 DATA "\8C ENGINES & NAVIGATION"
3295 DATA "The Enterprise has two means of propulsion: The Impulse Engines al
low the"
3300 DATA "ship to maneuver precisely at low speed. Each time the Impulse com
mand is"
3305 DATA "executed, the ship moves on sector. The Warp engines are for faste
r, longer"
3310 DATA "distance travel. One warp factor is equal to 8 sectors, or one uni
t on the"
3315 DATA "Cumulative Galactic Record display. The ship cannot instantly acce
llerate"
3320 DATA "to warp speed. Until speed greater than warp 1 is acheived, obstic
als"
3325 DATA "must be avoided. The ship is always maneuverable. If the warp dri
ve is"
3326 DATA "damaged, the ship may still travel at warp .2"," "
3330 DATA "The ship is steered by specifying a course in one of two ways. The
course"
3335 DATA "command may be used to specify a heading directly. The navigation
computer"
3340 DATA "may be used to calculate the course, given the co-ordinates of the
destination."
3345 DATA "\8C WEAPONS"
3350 DATA "The Enterprise has two types of weapons, phasors and photon torpedo
s."
3355 DATA "Phasors are beams of energy aimed by the ship's computer. The capt
ain may order"
3360 DATA "up to 80% of the ship's energy to be fired in a single phasor blast
. One unit"
3365 DATA "of phasor energy will counteract one unit of enemy shield energy.
However,"
3370 DATA "phasor effectiveness is inversely proportional to target distance.
If the"
3375 DATA "computer is damaged, the phasors cannot be aimed as accurately, so
increased"
3380 DATA "energy will be necessary. If there is more than one target within
short range"
3385 DATA "sensor range, the phasor charge will be divided equally among visib
le targets."," "
3400 DATA "Photon torpedos are matter -- anti-matter charges that are fired fr
om tubes"
3405 DATA "in the direction of Enterprise heading. The photon torpedos are ai
med by using"
3410 DATA "the course command or the navigation computer to face the Enterpris
e toward"
3415 DATA "the target. The Torpedo command fires one torpedo. Photon torpedo
s travel at"
3420 DATA "warp .1, so it is easy to overtake them and destroy the Enterprise
if you're not"
3425 DATA "careful. Photon torpedos continue to travel until they hit somethi
ng. If a"
3430 DATA "torpedo hits a Klingon, the Klingon is destroyed. However, some Kl
ingons are"
3435 DATA "quite good at dodging photon torpedos. If a torpedo hits a star, t
he star"
3440 DATA "becomes a black hole."
3445 DATA "\8C SHIP STATUS"
3450 DATA "The damage control display informs the captain of the status of the
various"
3455 DATA "devices. If the state of repair of a device is less than 25%, the
device is"
3460 DATA "unusable. Damage is inflicted by enemy fire in inverse proportion
to the"
3465 DATA "amount of energy in the shields. Repairs commence as soon as a dev
ice falls"
3470 DATA "below 25%. Random damage and repairs are constantly going on, and
are"
3475 DATA "reflected in periodic damage control reports."," "
3480 DATA " STAR BASES"
3485 DATA "Star Bases are places of refuge and refueling. The Enterprise dock
s at a"
3490 DATA "Star Base by maneuvering within a 1 sector radius of the base. In
order to dock,"
3495 DATA "the Enterprise must drop her deflector shields. This is done autom
atically."
3500 DATA "Refueling and repair of damage begins. You may stay docked at the
Star Base"
3505 DATA "as long as desired. While at the Star Base, the Enterprise is prot
ected against"
3510 DATA "destruction by enemy fire. The enemy is, however, capable of infli
cting"
3515 DATA "damage faster than the Star Base repair crews can repair it. A Sta
r Base is a"
3520 DATA "good place to be when several Klingons are around. Remember, thoug
h, that"
3525 DATA "Star Base crews require time to refuel the Enterprise, so firing ex
tremely large"
3530 DATA "phasor charges will require waiting extra long at the Star Base for
the energy"
3535 DATA "to be replaced. The capacity of the Enterprise is 3850 units of en
ergy and"
3540 DATA "10 photon torpedos. Star Base crews will repair ship's devices to
80%"
3546 DATA "\8CStar Bases don't move. It is useful to note their exact locatio
n so that the"
3547 DATA "navigation computer can be used to compute the shortest course to o
ne and so they"
3548 DATA "may be located when the Short Range Sensors are damaged."," "
3550 DATA " OTHER DANGERS"
3555 DATA "In addition to Klingons, there are other dangers to the Enterprise.
"
3560 DATA "Black holes can absorb any object in space -- Klingons, Stars, Star
Bases,"
3565 DATA "or the Enterprise. Approaching a Black Hole within 3 sectors radiu
s is"
3570 DATA "risky; two sectors is dangerous; one sector is fool-hearty."," "
3575 DATA "Another danger is stray photon torpedos. Photon torpedos keep trav
eling"
3580 DATA "until they hit something. It is not uncommon to late in the missio
n observe"
3585 DATA "a photon torpedo that was fired long ago. Stay out of its way, or
destroy"
3590 DATA "it with another photon torpedo."
3600 DATA "\8B"
4000 REM % YES/NO DECISION
4005 DEFFN'139(B$)
4010 $TRAN (B$,"YyEeSsNnOo") R
4015 MAT SEARCH "YESNO ",=STR(B$,,LEN(B$)) TO I9$ STEP 3
4020 I9=MIN(2,VAL(I9$,2))
4025 RETURN
7640 REM % Find a random blank cell
7648 REM X,Y - co-ordinates of empty slot
7656 REM
7660 DEFFN '103
7664 X = INT(RND(1)*64+1)
7668 Y = INT(RND(1)*64+1)
7672 IF U$(X, Y) <> HEX(00) THEN 7664
7676 RETURN
9000 DEFFN'31
: COM CLEAR F
: LOAD T "START"