home *** CD-ROM | disk | FTP | other *** search
- REM---------------------------------------------------------
- REM S T A R T R E K
- REM---------------------------------------------------------
-
- REM--->DISTRIBUTION/MODIFICATION HISTORY:
- REM
- REM LATEST (1/18/78) REVISION BY:
- REM
- REM JOHN R. PIERCE (408)-649-3896
- REM
- REM ORIGINALLY OBTAINED FROM CP/M USERS GROUP
- REM VOLUME 3, NO SPECIFIC CREDITS
- REM
- REM
- REM TO BE COMPILED WITH BASIC-E VER 2.1,
- REM AND EXECUTED WITH RUN-E VER 2.3
- REM
-
- MAX.BADDY = 4
-
- DIM GALAXY(8,8), GALAXY$(8,8), C(9,2), BADDY(MAX.BADDY,3), GMAP(8,8)
- DIM DAMAGE(8), QUAD.NAME$(16), SEGMENT$(4), DAM$(8)
- DIM PRINT.QUAD(3)
-
- REM -- ADM-3a Control Sequences (or lack thereof)
-
- ESC$ = CHR$(27)
- NULL$=CHR$(0)
- BELL$=CHR$(7)
- BLOT$="*"
- REM -- ADM-3a don't have blinks and reverses, so NULL's
- IVB$="" REM S/B Inverse Video w/ blink
- BLNK$="" REM S/B Normal Video w/ Blink
- UNDL$="" REM S/B Underline mode (or something equally spastic)
- INVR$="" REM S/B Inverse Video, no blink
- NORM$="" REM S/B Video Restore code (Normal Brightness, no blink)
-
- EMPTY$="."
- BASE$="B"
- ENTERPRISE$="E"
- STAR$="*"
- CRUD$="?"
- NUM.GAMES = 0
- DASH$="------------------------"
- PRINT
- PRINT TAB(20);"S T A R T R E K"
- PRINT
- 240 PRINT
- NUM.GAMES = NUM.GAMES + 1
- IF NUM.GAMES > INT(RND*2)+2 THEN \
- NUM.GAMES=0 :\
- PRINT "What are you, some kind of Sado-masochist ??" :\
- PRINT
- INPUT " Enter your name, Captain "; CAPTAIN$
- PRINT
- PRINT "Welcome aboard Captain ";CAPTAIN$
- PRINT TAB(15);"Do you want instructions";
- INPUT ANS$
- RANDOMIZE
- IF LEFT$(ANS$,1)="Y" OR LEFT$(ANS$,1) = "y" THEN GOSUB 999999
-
- REM - CLEAR ADM-3a'S SCREEN
-
- FOR I=1 TO 48 : PRINT CHR$(10); : NEXT
- PRINT CHR$(30);
-
- PRINT "Mr. Spock: ";
- PRINT "STAND BY"
- LET T=INT(RND*20+20)*100
- T0=T
- T9=26+INT(RND*8+1)
- FIRST.TIME.FLAG=1
-
- ON INT(RND^2*3)+1 GOTO 400, 410, 420
- 400 ENEMY$="Klingon"
- ENEMYC$="KLINGON"
- GOTO 500
- 410 ENEMY$="Romulan"
- ENEMYC$="ROMULAN"
- GOTO 500
- 420 ENEMY$="Tholian"
- ENEMYC$="THOLIAN"
- 500 REM
- BAD.GUY$=LEFT$(ENEMY$,1)
-
- DOCKED=0
- ENERGY.NORMAL=3000
- ENERGY=ENERGY.NORMAL
- TORPS=10
- TORPS.NORMAL=TORPS
- SHIELD.NORMAL=200
- SHIELDS=SHIELD.NORMAL * 2
- FOR I=1 TO 8
- FOR J=1 TO 8
- GALAXY$(I,J)=EMPTY$
- NEXT J
- NEXT I
-
- REM-----------F U N C T I O N S---------------------
- DEF FN8=INT(RND*8+1)
- DEF FNROUND(D)=INT(D+.5)
- DEF FND=SQR((ABS(BADDY(I,1)-SX))^2+(ABS(BADDY(I,2)-SY))^2)
-
- REM *** INITIALIZE ENTERPRISE'S POSITION
-
- QX=FN8
- QY=FN8
- EX=FN8
- EY=FN8
- SX=EX
- SY=EY
- C(3,1)=-1
- C(2,1)=-1
- C(4,1)=-1
- C(4,2)=-1
- C(5,2)=-1
- C(6,2)=-1
- C(1,2)=1
- C(2,2)=1
- C(6,1)=1
- C(7,1)=1
- C(8,1)=1
- C(8,2)=1
- C(9,2)=1
- FOR I=1 TO 8
- LET DAMAGE(I)=(INT(RND*30+1)/10)
- NEXT I
- DAM$(1)="Warp Engines"
- DAM$(2)="Short Range Sensors"
- DAM$(3)="Long Range Sensors"
- DAM$(4)="Phasor Control"
- DAM$(5)="Photon Torpedo Tubes"
- DAM$(6)="Damage Control"
- DAM$(7)="Shield Control"
- DAM$(8)="Computer"
-
- QUAD.NAME$(01)="ANTARES"
- QUAD.NAME$(02)="SIRIUS"
- QUAD.NAME$(03)="RIGEL"
- QUAD.NAME$(04)="DENEB"
- QUAD.NAME$(05)="PROCYON"
- QUAD.NAME$(06)="CAPELLA"
- QUAD.NAME$(07)="VEGA"
- QUAD.NAME$(08)="BETELGEUSE"
- QUAD.NAME$(09)="CANOPUS"
- QUAD.NAME$(10)="ALDEBARAN"
- QUAD.NAME$(11)="ALTAIR"
- QUAD.NAME$(12)="REGULUS"
- QUAD.NAME$(13)="SAGITTARIUS"
- QUAD.NAME$(14)="ARCTURUS"
- QUAD.NAME$(15)="POLLUX"
- QUAD.NAME$(16)="SPICA"
- SEGMENT$(1)=" I"
- SEGMENT$(2)=" II"
- SEGMENT$(3)=" III"
- SEGMENT$(4)=" IV"
-
- TOT.BASES=0
- TOT.BAD.GUYS=0
-
- REM *** SET UP WHAT EXISTS IN GALAXY.
-
- FOR I=1 TO 8
- FOR J=1 TO 8
- R1=RND
- IF R1>.993 THEN \
- BAD.GUYS=4 :\
- GOTO 900
- IF R1>.98 THEN \
- BAD.GUYS=3 :\
- GOTO 900
- IF R1>.93 THEN \
- BAD.GUYS=2 :\
- GOTO 900
- IF R1>.85 THEN \
- BAD.GUYS=1 :\
- GOTO 900
- BAD.GUYS=0
- 900 REM
- TOT.BAD.GUYS=TOT.BAD.GUYS+BAD.GUYS
- IF RND>.94 THEN \
- BASES=1 :\
- ELSE \
- BASES=0
- TOT.BASES=TOT.BASES+BASES
- STARS=INT(RND*7)+1
- GALAXY(I,J)=BAD.GUYS*100+BASES*10+STARS
- GMAP(I,J)=0
- NEXT J
- NEXT I
- K7=TOT.BAD.GUYS
- IF TOT.BASES=0 THEN \
- X=FN8 :\
- Y=FN8 :\
- GALAXY(X,Y)=GALAXY(X,Y)+10 :\
- BASES=1 :\
- TOT.BASES=BASES
- 1200 REM
- IF TOT.BASES=1 THEN \
- A$=" is " :\
- B$="" :\
- ELSE \
- A$=" are " :\
- B$="s"
- PRINT "Your orders are as follows:"
- PRINT "Destroy the ";TOT.BAD.GUYS;ENEMY$;" Warships which have invaded"
- PRINT "the Galaxy before they can attack Federation Headquaters"
- PRINT "on StarDate ";T0+T9;". This gives you ";T9;"days. There";
- PRINT A$
- PRINT TOT.BASES;"StarBase";B$;" in the Galaxy for resupplying your ship."
- PRINT
- PRINT " Type 'GO' when you are ready to assume command."
- INPUT JIVE$
- IF JIVE$ = "free" OR JIVE$ = "FREE" THEN \
- PRINT "Free storage = ";FRE;"Bytes"
-
- 1320 REM----------ENTER NEW QUADRANT--------------------
- FOR J=1 TO 8
- FOR I=1 TO 8
- GALAXY$(I,J)=EMPTY$
- IF RND > .985 THEN \
- GALAXY$(I,J) = CRUD$
- NEXT I
- NEXT J
- BAD.GUYS=0
- BASES=0
- STARS=0
- GALAXY$(EX,EY)=ENTERPRISE$
- G5=0
- GOSUB 9030 REM GET QUADRANT NAME
- PRINT
- IF FIRST.TIME.FLAG=1 THEN \
- FIRST.TIME.FLAG=0 :\
- PRINT "Your mission begins with your Starship located" :\
- PRINT "in the Galactic Quadrant: ";QUADRANT$; :\
- ELSE \
- PRINT "Now entering Quadrant: ";QUADRANT$
- PRINT
- X=GALAXY(QX,QY)*.01
- BAD.GUYS=INT(X)
- BASES=INT((X-BAD.GUYS)*10)
- STARS=GALAXY(QX,QY)-INT(GALAXY(QX,QY)*.1)*10
- IF BAD.GUYS>0 THEN \
- PRINT "COMBAT AREA -- ";ENEMYC$;" ALERT"
- IF SHIELDS<=SHIELD.NORMAL THEN \
- PRINT "Warning: LOW SHIELDS"
- FOR X=1 TO MAX.BADDY
- FOR Y=1 TO 3
- BADDY(X,Y)=0
- NEXT Y
- NEXT X
- REM
- IF BAD.GUYS=0 THEN \
- GOTO 1705
- FOR X=1 TO BAD.GUYS
- GOSUB 9500 REM FIND EMPTY SECTOR
- GALAXY$(SX,SY)=BAD.GUY$
- BADDY(X,1)=SX
- BADDY(X,2)=SY
- BADDY(X,3)=SHIELD.NORMAL
- NEXT X
- 1705 REM
- IF BASES=0 THEN \
- GOTO 1710
- FOR X=1 TO BASES
- GOSUB 9500 REM FIND EMPTY SECTOR
- GALAXY$(SX,SY)=BASE$
- BX=SX
- BY=SY
- NEXT X
- 1710 REM
- IF STARS<=0 THEN \
- GOTO 1980
- FOR X=1 TO STARS
- GOSUB 9500 REM FIND EMPTY SECTOR
- GALAXY$(SX,SY)=STAR$
- NEXT X
- 1980 GOSUB 6430 REM SHORT RANGE SENSOR RTN
- 1990 IF SHIELDS+ENERGY<=0 OR (DAMAGE(7)<0 AND ENERGY<=0) THEN \
- PRINT " **FATAL ERROR**" :\
- PRINT "You've just stranded your ship in space !!!" :\
- PRINT "You have insufficient maneuvering energy and" :\
- PRINT "Shield Control is presently incapable of Cross-" :\
- PRINT "Circuiting to the Engine Room!" :\
- GOTO 6260
- IF SHIELDS < 0 THEN \
- PRINT : PRINT : PRINT :\
- PRINT "***************************************************" :\
- PRINT "***** E ~ N ~ T ~ E ~ R ~ P ~ R ~ I ~ S ~ E *****" :\
- PRINT "***** D ~ E ~ S ~ T ~ R ~ O ~ Y ~ E ~ D *****" :\
- PRINT "***************************************************" :\
- PRINT :\
- PRINT :\
- PRINT " Y O U" :\
- PRINT " L O S E ! ! !" :\
- PRINT : PRINT : PRINT :\
- GOTO 6260
-
- 2060 REM-----C O M M A N D--------------------------------
- IF T>T0+T9 THEN \
- GOTO 6220 REM YOU LOSE ASSHOLE!
- PRINT CAPTAIN$;": ";
- INPUT COMMAND$
- COMMAND$ = LEFT$(COMMAND$, 1)
- IF COMMAND$="N" OR COMMAND$="n" THEN GOTO 2300
- IF COMMAND$="S" OR COMMAND$="s" THEN GOTO 1980
- IF COMMAND$="L" OR COMMAND$="l" THEN GOTO 4000
- IF COMMAND$="P" OR COMMAND$="p" THEN GOTO 4260
- IF COMMAND$="T" OR COMMAND$="t" THEN GOTO 4700
- IF COMMAND$="E" OR COMMAND$="e" THEN GOTO 5530
- IF COMMAND$="D" OR COMMAND$="d" THEN GOTO 5690
- IF COMMAND$="C" OR COMMAND$="c" THEN GOTO 7290
- IF COMMAND$="Q" OR COMMAND$="q" THEN GOTO 6270
- PRINT "Enter one of the following:"
- PRINT "N-avigate"
- PRINT "S-hort Range Scan"
- PRINT "L-ong Range Scan"
- PRINT "P-hasors"
- PRINT "T-orpedos"
- PRINT "E-ngineering"
- PRINT "D-amage Control"
- PRINT "C-omputer"
- PRINT "Q-uit"
- PRINT
- GOTO 2060
- REM**********> COURSE CONTROL BEGINS HERE.
- 2300 PRINT "Course (1-9) ";
- INPUT COURSE
- IF COURSE=0 THEN \
- GOTO 1990
- IF COURSE>=1 AND COURSE<=9 THEN \
- GOTO 2350
- PRINT "Lt. Sulu: Incorrect course data, Sir."
- PRINT
- PRINT "4 5 6"
- PRINT " \|/ "
- PRINT "3--*--7"
- PRINT " /|\ "
- PRINT "2 1 8"
- PRINT
- GOOF1=GOOF1+.1
- IF RND+GOOF1>.85 THEN \
- PRINT "MISSION ADVISORY: ";:\
- PRINT "Captain ";CAPTAIN$;", I strongly suggest you get your act" :\
- PRINT "together before the ";ENEMY$;"s blast your ass."
- GOTO 2300
- 2350 REM-----COURSE IS OK-----
- PRINT "Warp Factor (0-8) ";
- INPUT WARP
- IF WARP=0 THEN \
- GOTO 1990
- IF WARP>=0 AND WARP<=8 THEN \
- GOTO 2450 REM WARP OK
- PRINT "Engineering Officer Scott:";
- PRINT "The engines won't take Warp ";WARP;"!"
- GOOF2=GOOF2+.1
- IF RND+GOOF2>.85 THEN \
- PRINT "Mr. Spock: "; :\
- PRINT "Warp ";WARP;"! What a Galactic Jackass!"
- GOTO 2350
- 2450 REM-------
- IF DAMAGE(1)>=0 THEN \
- GOTO 2490
- PRINT DAM$(1);" DAMAGED"
- IF WARP>.25 THEN \
- PRINT "Maximum Warp: 0.25" :\
- GOTO 2350
- 2490 REM
- E.NEEDED=FNROUND(WARP*8)
- IF ENERGY-E.NEEDED>=0 THEN GOTO 2590
- PRINT "Engineering Officer Scott:";
- PRINT "Not enough energy left!"
- IF SHIELDS<E.NEEDED-ENERGY THEN \
- GOTO 2350 REM ASK FOR NEW WARP
- IF DAMAGE(7)<0 THEN \
- GOTO 2350
- PRINT "Shield Control Room reports ";SHIELDS;" units"
- PRINT "of energy presently deployed to Shields."
- GOTO 5530 REM SHIELD CONTROL
-
- 2590 REM ***** SEE IF TIME FOR A COMMERCIAL.
- GOSUB 9600
-
- REM*******> BAD.GUYS MOVE/FIRE ON MOVING STARSHIP . .
- IF BAD.GUYS=0 THEN \
- GOTO 2750
- FOR I=1 TO MAX.BADDY
- IF BADDY(I,3) > 0 THEN :\
- GALAXY$(BADDY(I,1),BADDY(I,2))=EMPTY$ :\
- GOSUB 9500 :\
- BADDY(I,1)=SX :\
- BADDY(I,2)=SY :\
- GALAXY$(BADDY(I,1),BADDY(I,2))=BAD.GUY$
- NEXT I
- 2750 REM
- GOSUB 6000 REM BAD.GUYS SHOOT
- D1=0
- D6=INT(WARP*10)/10
- REM****> MAKE REPAIRS TO THE SHIP.
- FOR I=1 TO 8
- IF DAMAGE(I)>=0.5 THEN GOTO 2880
- DAMAGE(I)=DAMAGE(I)+D6
- IF DAMAGE(I)<0 THEN GOTO 2880
- IF D1=0 THEN \
- D1=1 :\
- PRINT "Damage Control Report"
- PRINT TAB(8);
- PRINT DAM$(I);
- PRINT TAB(32);"functional"
- 2880 NEXT I
- REM--------> DAMAGE/IMPROVEMENT DURING SOME MOVES
- IF RND>.2 THEN GOTO 3070
- R1=FN8
- IF RND>=.5 THEN GOTO 3000
- DAMAGE(R1)=DAMAGE(R1)-INT((RND*5+1)*10)/10
- PRINT
- PRINT "Damage Control report:"
- PRINT DAM$(R1);
- IF DAMAGE(R1)<0 THEN \
- PRINT TAB(32);BLNK$+BELL$+"DAMAGED"+NORM$ \
- ELSE \
- PRINT TAB(32);"Deteriorating"
- PRINT
- GOTO 3070
- 3000 REM
- DAMAGE(R1)=DAMAGE(R1)+INT((RND*3+1)*10)/10
- PRINT
- PRINT "Damage Control report:"
- PRINT DAM$(R1);
- PRINT TAB(32);"state of repair improved"
- PRINT
- 3070 REM-----BEGIN MOVING STARSHIP---------------------
- GALAXY$(EX,EY)=EMPTY$
- T.CRSE=INT(COURSE)
- DELTA.X=C(T.CRSE,1)+(C(T.CRSE+1,1)-C(T.CRSE,1))*(COURSE-T.CRSE)
- DELTA.Y=C(T.CRSE,2)+(C(T.CRSE+1,2)-C(T.CRSE,2))*(COURSE-T.CRSE)
- X=EX
- Y=EY
- OLD.QX=QX
- OLD.QY=QY
- FOR I=1 TO E.NEEDED
- X=X+DELTA.X
- Y=Y+DELTA.Y
- EX=FNROUND(X)
- EY=FNROUND(Y)
- IF EX<1 OR \
- EX>8 OR \
- EY<1 OR \
- EY>8 THEN \
- GOTO 3500
- IF GALAXY$(EX,EY)=EMPTY$ THEN \
- LAST.X=0 :\
- LAST.Y=0 :\
- GOTO 3360
- OBJECT$=GALAXY$(EX,EY)
- IF OBJECT$=BAD.GUY$ THEN OBJECT$=ENEMY$
- IF OBJECT$=STAR$ THEN OBJECT$="Star"
- IF OBJECT$=BASE$ THEN OBJECT$="StarBase"
- IF OBJECT$=CRUD$ THEN OBJECT$="Spacecrud"
- EX=FNROUND(X-DELTA.X)
- EY=FNROUND(Y-DELTA.Y)
- PRINT BELL$;"Lt. Sulu:";
- PRINT " Emergency Stop!"
- PRINT
- PRINT "Mr. Spock: ";
- PRINT "We almost rammed right into that ";OBJECT$;" at ";
- PRINT "Warp ";WARP;"!!"
- IF OBJECT$=ENEMY$ THEN \
- PRINT " Captain, don't you think that is "; :\
- PRINT "a little dangerous??" : PRINT :\
- GOTO 3370
- GOOF3=GOOF3+.1
- IF RND+GOOF3>.75 THEN \
- PRINT "Captain ";CAPTAIN$;", don't you think it's time" :\
- PRINT "you reconsider that desk job at Federation HQ??"
- GOTO 3370
- 3360 NEXT I
- 3370 REM------PUT THE ENTERPRISE IN ITS NEW PLACE-----
- GALAXY$(EX,EY)=ENTERPRISE$
- GOSUB 3910 REM SUBTRACT THE ENERGY NEEDED
- T8=1
- IF WARP<1 THEN \
- T8=.1*INT(10*WARP)
- T=T+T8
- IF T>T0+T9 THEN GOTO 6220
- GOTO 1980 REM SEE IF DOCKED THEN GET COMMAND
-
- 3500 REM-----EXCEEDED QUADRANT LIMITS----------------
- X=8*QX+X+(E.NEEDED-I)*DELTA.X
- Y=8*QY+Y+(E.NEEDED-I)*DELTA.Y
- QX=INT(X/8)
- QY=INT(Y/8)
- EX=INT(X-QX*8)
- EY=INT(Y-QY*8)
- PERIMETER.FLAG=0
- IF EX=0 THEN \
- QX=QX-1 :\
- EX=8
- IF EY=0 THEN \
- QY=QY-1 :\
- EY=8
- IF QX<1 THEN \
- QX=1:EX=1 :\
- PERIMETER.FLAG=1
- IF QX>8 THEN \
- QX=8:EX=8 :\
- PERIMETER.FLAG=1
- IF QY<1 THEN \
- QY=1:EY=1 :\
- PERIMETER.FLAG=1
- IF QY>8 THEN \
- QY=8:EY=8 :\
- PERIMETER.FLAG=1
- IF PERIMETER.FLAG=0 THEN \
- GOTO 3860
- PRINT "Lt. Uhura:"
- PRINT "StarFleet Command reports:"
- PRINT "'PERMISSION TO CROSS GALACTIC PERIMETER"
- PRINT "IS ";BLNK$;"*DENIED*";NORM$;". SHUT DOWN YOUR ENGINES."
- PRINT "Engineering Officer Scott:";
- PRINT "WARP ENGINES SHUT DOWN"
- PRINT "at Sector ";EX;EY;" of Quadrant ";QX;QY;"."
- IF T>T0+T9 THEN GOTO 6220
- 3860 REM
- IF QX=OLD.QX AND QY=OLD.QY THEN \
- GOTO 3370
- T=T+1
- GOSUB 3910 REM SUBTRACT THE NEEDED ENERGY
- GOTO 1320 REM ANNOUNCE THE NEW QUADRANT
-
- 3910 REM---------> MANEUVER ENERGY S/R
- ENERGY=ENERGY-E.NEEDED-10
- IF ENERGY>=0 THEN GOTO 3980
- PRINT "Shield Control supplied energy to complete the maneuver."
- IF RND>.6 THEN GOTO 3911
- PRINT "Mr. Spock: ";
- PRINT "Captain ";CAPTAIN$;": ";
- IF RND>.5 THEN \
- PRINT "That was extremely close even for the Enterprise" :\
- ELSE \
- PRINT "Were going to need those Shields before long, you know.'"
- 3911 REM
- SHIELDS=SHIELDS+ENERGY
- ENERGY=0
- IF SHIELDS<0 THEN \
- SHIELDS=0
- 3980 RETURN
-
- 4000 REM-----------> LONG RANGE SENSOR SCAN CODE
- IF DAMAGE(3)<0 THEN \
- PRINT DAM$(3);" Damaged" :\
- GOTO 1990
- PRINT DAM$(3);" Scan for Quadrant ";QX;QY
- PRINT
- FOR J=QY-1 TO QY+1
- Q=0
- FOR I=QX-1 TO QX+1
- Q=Q+1
- IF I<1 OR I>8 OR J<1 OR J>8 THEN \
- PRINT.QUAD(Q)=0 :\
- ELSE \
- PRINT.QUAD(Q)=GALAXY(I,J) :\
- GMAP(I,J)=GALAXY(I,J)
- NEXT I
- FOR Q=1 TO 3
- IF PRINT.QUAD(Q)=0 THEN :\
- PRINT TAB(Q*6); "***"; :\
- GOTO 4040
- YYY=Q*6
- IF PRINT.QUAD(Q)<100 THEN YYY=YYY+1
- IF PRINT.QUAD(Q)<10 THEN YYY=YYY+1
- PRINT TAB(YYY);PRINT.QUAD(Q);
- 4040 NEXT Q
- PRINT : PRINT
- NEXT J
- PRINT
- GOTO 1990
-
- 4260 REM----------> PHASER CONTROL BEGINS HERE
- SX=EX
- SY=EY
- IF BAD.GUYS=0 THEN \
- PRINT "Mr. Spock: "; :\
- PRINT "Sensors show no enemy ships in this Quadrant" :\
- GOTO 1990
- IF DAMAGE(4)<0 THEN \
- PRINT DAM$(4);" Damaged" :\
- GOTO 1990
- IF DAMAGE(8)<0 THEN \
- PRINT DAM$(8);" Malfunction reduces accuracy"
- PRINT "Phasors locked on target; "
- 4360 PRINT "Energy available = ";ENERGY
- PRINT "Number of units to fire: ";
- INPUT RATE.OF.FIRE
- IF RATE.OF.FIRE<=0 THEN GOTO 1990
- IF RATE.OF.FIRE>ENERGY THEN GOTO 4360
- IF DOCKED <> 1 THEN \
- ENERGY=ENERGY-RATE.OF.FIRE
- GOSUB 6000 REM BAD.GUYS SHOOT
- IF DAMAGE(8)<0 OR DAMAGE(4)<1 THEN \
- DRAIN=RND/2+.5 :\
- RATE.OF.FIRE=RATE.OF.FIRE*DRAIN :\
- DRAIN=INT((1-DRAIN)*100) :\
- PRINT "Mr. Spock: "; :\
- PRINT DRAIN;"% of Phasor power was diverted to Damage Control"
- TOTAL.HIT=INT(RATE.OF.FIRE/BAD.GUYS)
- FOR I=1 TO MAX.BADDY
- IF BADDY(I,3)<=0 THEN GOTO 4670
- HIT=INT((TOTAL.HIT/FND)*(RND+1.5))
- IF HIT<.15*BADDY(I,3) THEN \
- PRINT "Sensors show no damage "; :\
- PRINT "to enemy at ";BADDY(I,1);BADDY(I,2) :\
- GOTO 4670
- BADDY(I,3)=BADDY(I,3)-HIT*(RND+.3)
- PRINT HIT;" unit hit on ";ENEMY$;" at Sector ";
- PRINT BADDY(I,1);BADDY(I,2)
- IF BADDY(I,3)<=0 THEN GOTO 4580
- IF RND>.5 THEN \
- PRINT "Sensors show ";BADDY(I,3);" units remaining"
- GOTO 4670
- 4580 PRINT BELL$; BLNK$;" << ";ENEMYC$;" DESTROYED >>";NORM$
- BAD.GUYS=BAD.GUYS-1
- TOT.BAD.GUYS=TOT.BAD.GUYS-1
- GALAXY$(BADDY(I,1),BADDY(I,2))=EMPTY$
- GALAXY(QX,QY)=BAD.GUYS*100+BASES*10+STARS
- IF GMAP(QX,QY)<>0 THEN \
- GMAP(QX,QY)=GALAXY(QX,QY)
- IF TOT.BAD.GUYS <=0 THEN GOTO 6370
- 4670 NEXT I
- GOTO 1990
-
- 4700 REM---------> PHOTON TORPEDO CODE BEGINS
- SX=EX
- SY=EY
- IF DAMAGE(5)<0 THEN \
- PRINT DAM$(5);" Damaged" :\
- GOTO 1990
- IF TORPS<=0 THEN \
- PRINT "All Photon Torpedoes expended" :\
- GOTO 1990
- GOSUB 6000 REM BAD.GUYS SHOOT
- 4760 PRINT "Torpedo Course (1-9) ";
- INPUT COURSE
- IF COURSE<1 OR COURSE>9 THEN \
- PRINT "Ensign Chekov:"; :\
- PRINT "Incorrect course data, Sir!" :\
- ON FNROUND(RND)+1 GOTO 1990, 4760
- T.CRSE=INT(COURSE)
- DELTA.X=C(T.CRSE,1)+(C(T.CRSE+1,1)-C(T.CRSE,1))*(COURSE-T.CRSE)
- DELTA.Y=C(T.CRSE,2)+(C(T.CRSE+1,2)-C(T.CRSE,2))*(COURSE-T.CRSE)
- ENERGY=ENERGY-2
- X=SX
- Y=SY
- TORPS=TORPS-1
- PRINT "TORPEDO TRACK---> ";
- 4920 X=X+DELTA.X
- Y=Y+DELTA.Y
- ROUND.X=FNROUND(X)
- ROUND.Y=FNROUND(Y)
- IF ROUND.X<1 OR \
- ROUND.X>8 OR \
- ROUND.Y<1 OR \
- ROUND.Y>8 THEN \
- PRINT "Torpedo missed" :\
- GOTO 5500
- PRINT " ";ROUND.X;ROUND.Y;
- IF GALAXY$(ROUND.X,ROUND.Y)=EMPTY$ THEN \
- GOTO 4920
- IF GALAXY$(ROUND.X,ROUND.Y)=BAD.GUY$ THEN \
- GOTO 5100
- IF GALAXY$(ROUND.X,ROUND.Y)=STAR$ THEN \
- GOTO 5210
- IF GALAXY$(ROUND.X,ROUND.Y)=BASE$ THEN \
- GOTO 5280
- IF GALAXY$(ROUND.X,ROUND.Y)=CRUD$ THEN \
- GOTO 4920
- GOTO 4920 REM DEFENSIVE PROGRAMMING
-
- 5100 REM-----HIT A BAD.GUY--------------------------
- PRINT BELL$;BLNK$;"<< ";ENEMYC$;" DESTROYED >>";NORM$
- ON FN8 GOTO 5177, 5177, 5177, 5177, 5177, 5176, 5178, 5178
- 5176 REM
- PRINT "Excellent work with the Torpedoes, Captain."
- GOTO 5177
- 5178 REM
- PRINT "Mr. Spock: ";
- PRINT "Very good shooting, Captain ";CAPTAIN$
- 5177 REM
- GALAXY$(X,Y)=EMPTY$
- BAD.GUYS=BAD.GUYS-1
- TOT.BAD.GUYS=TOT.BAD.GUYS-1
- IF TOT.BAD.GUYS<=0 THEN GOTO 6370
- FOR I=1 TO MAX.BADDY
- IF BADDY(I,3) <=0 THEN \
- GOTO 5180
- IF ROUND.X = BADDY(I,1) AND \
- ROUND.Y = BADDY(I,2) THEN GOTO 5190
- 5180 NEXT I
- GOTO 5430 REM - DEFENSIVE PROGRAMMING
- 5190 BADDY(I,3)=0
- GOTO 5430
- 5210 REM-----HIT A STAR------------------------
- PRINT "Star at ";ROUND.X;ROUND.Y;" absorbed Torpedo energy"
- IF RND<=.7 THEN :\
- PRINT "Command Inquiry: "; :\
- PRINT "Was it you intention to waste a valuable" :\
- PRINT "Torpedo on that star, Captain?"
- GOTO 5500
- 5280 REM------HIT A STARBASE-------------------
- PRINT BELL$;IVB$;">> STARBASE DESTROYED << ";NORM$
- BASES=BASES-1
- TOT.BASES=TOT.BASES-1
- GALAXY$(X,Y)=EMPTY$
- IF TOT.BASES <= 0 THEN :\
- PRINT "Mr. Spock: "; :\
- PRINT "Captain ";CAPTAIN$; :\
- PRINT " I'm afraid that you have blown it" :\
- GOTO 6270
- PRINT "StarFleet Command is reviewing your record to consider"
- PRINT "a General Court-Martial."
- DOCKED=0
- 5430 REM-------END OF ENTERPRISE SHOOTING-------
- GALAXY(QX,QY)=BAD.GUYS*100+BASES*10+STARS
- IF GMAP(QX,QY)<>0 THEN \
- GMAP(QX,QY)=GALAXY(QX,QY)
- 5500 REM
- IF RND>.7 THEN \
- GOSUB 6000 REM BAD.GUYS MAY SHOOT AGAIN
- GOTO 1990
-
- 5530 REM---------SHIELD CONTROL STARTS HERE-----------------
- IF DAMAGE(7)<0 THEN \
- PRINT DAM$(7);" Damaged" :\
- GOTO 1990
- IF DOCKED = 1 THEN \
- PRINT "Mr. Spock: You can't deploy shields this"; :\
- PRINT " close to a StarBase!!" :\
- GOTO 1990
- 5560 PRINT "Energy available=";ENERGY+SHIELDS
- PRINT "Divert to Shields ";
- INPUT DIVERTED
- IF DIVERTED<0 OR DIVERTED=SHIELDS THEN \
- PRINT "Shields unchanged" :\
- GOTO 1990
- IF DIVERTED>SHIELDS+ENERGY THEN \
- PRINT "Can't divert" :\
- GOTO 5560
- ENERGY=ENERGY+SHIELDS-DIVERTED
- SHIELDS=DIVERTED
- PRINT "Deflector Control Room report: ";
- PRINT "Shields now at ";SHIELDS
- GOTO 1990
-
- 5690 REM------------DAMAGE CONTROL STARTS HERE----------------
- IF DOCKED=1 THEN GOTO 5710
- IF DAMAGE(6)<0 THEN \
- PRINT DAM$(6);" Damaged" :\
- GOTO 1990
- GOSUB 5910 REM PRINT DAMAGE RPT
- GOTO 1990
- 5710 REM----------D O C K E D------------------------------
- GOSUB 5910 REM PRINT DAMAGE REPORT
- D3=0
- FOR I=1 TO 8
- IF DAMAGE(I)>=.7 THEN GOTO 5760
- D3=D3+.5
- 5760 NEXT I
- IF D3=0 THEN GOTO 1990
- D3=D3+(.5*RND)
- IF D3>1 THEN \
- D3=RND
- REM
- PRINT "Techs standing by to repair the Ship."
- PRINT "Estimated time: ";D3;"StarDates"
- PRINT "Authorize (Y/N) ";
- INPUT A$
- IF LEFT$(A$,1)<>"Y" AND LEFT$(A$,1)<>"y" THEN GOTO 1990
- FOR I=1 TO 8
- 5815 REM
- IF DAMAGE(I)<=.7 THEN \
- DAMAGE(I)=DAMAGE(I)+1 :\
- GOTO 5815
- NEXT I
- T=T+D3+.1
- GOSUB 5910 REM PRINT DAMAGE RPT
- GOTO 1990
-
- 5910 REM-----PRINT DAMAGE RPT---------------------
- PRINT
- PRINT " Device";TAB(27);"Condition"
- FOR X=1 TO 8
- PRINT DAM$(X);TAB(30);DAMAGE(X)
- NEXT X
- PRINT
- RETURN
-
- 6000 REM-------------BAD.GUYS SHOOTING ROUTINE------------
- SX=EX
- SY=EY
- IF BAD.GUYS<=0 THEN GOTO 6210
- IF DOCKED=1 THEN \
- PRINT "StarBase Shields protect the Enterprise" :\
- RETURN
- FOR I=1 TO MAX.BADDY
- IF BADDY(I,3)<=0 THEN :\
- GOTO 6200
- HIT=INT((BADDY(I,3)/FND)*(2+RND))
- SHIELDS=SHIELDS-INT(HIT*RND)
- PRINT BELL$;"---> ";HIT;" unit hit on Enterprise from Sector ";
- PRINT BADDY(I,1);BADDY(I,2)
- GOOF4=GOOF4+.1
- IF RND+GOOF4>.7 THEN \
- PRINT "Shields down to ";SHIELDS;"units"
- IF HIT<20 OR \
- HIT/SHIELDS<.02 THEN \
- GOTO 6200
- GOSUB 6100 REM DAMAGE RTN
- IF SHIELDS<0 THEN \
- GOTO 6150
- 6200 NEXT I
- 6210 RETURN
-
- 6100 REM------DAMAGE TO ENTERPRISE--------------------------
- TEMP=SHIELDS
- IF SHIELDS<=0 THEN TEMP=1
- NEW.DAMAGE=HIT/TEMP+.5*RND
- NEW.DAMAGE=INT(NEW.DAMAGE*10)/10
- R1=FN8
- DAMAGE(R1)=DAMAGE(R1)-NEW.DAMAGE
- PRINT "Damage Control Reports"
- IF DAMAGE(R1)<0 THEN \
- PRINT DAM$(R1);TAB(32);BLNK$;" DAMAGED" :\
- ELSE \
- PRINT DAM$(R1);TAB(32);" deteriorating"
-
- RETURN
-
- 6150 PRINT
- PRINT "The Enterprise has been DESTROYED."
- PRINT " The Federation will be conquered."
- 6220 REM
- 6260 PRINT "It is StarDate ";T
- 6270 PRINT "There were ";TOT.BAD.GUYS;ENEMY$;" Battle Cruisers left at the"
- PRINT " end of your mission."
- 6290 PRINT
- PRINT
- PRINT "The Federation is in need of a new StarShip Commander"
- PRINT "For a similar Mission -- If there is a volunteer,"
- PRINT "let him step forward, and enter 'AYE'.";
- INPUT A$
- IF LEFT$(A$,1)="A" OR LEFT$(A$,1)="a" THEN 240
- PRINT "StarBase to Enterprise: ";
- PRINT "We are terminating communications"
- STOP
- 6370 PRINT "CONGRATULATIONS, Captain! The last ";ENEMY$;" Battle Cruiser"
- PRINT "menacing the Federation has been Destroyed."
- PRINT
- EFF=(K7/(T-T0))*1000
- PRINT "Your efficiency rating is ";EFF
- PRINT
- IF EFF < RND*100+900 THEN GOTO 6290
- PRINT "Mr. Spock: "
- PRINT " Confidentially speaking, Captain ";CAPTAIN$;", I believe"
- PRINT " that the performance you have just given on the "
- PRINT " field of battle has been so commendable as to virtually"
- PRINT " assure that your name will come up on the Federation"
- PRINT " Navy promotion list quite soon. Even though I am an"
- PRINT " unemotional Vulcan, I was profoundly stirred by your"
- PRINT " demonstration of skill and judgment"
- PRINT
- GOTO 6290
-
- 6430 REM------------SHORT RANGE SENSOR AND STARTUP SUBRTN.----------
- SX=EX
- SY=EY
- FOR J=SY-1 TO SY+1
- FOR I=SX-1 TO SX+1
- IF I<1 OR I>8 OR \
- J<1 OR J>8 THEN \
- GOTO 6540
- IF GALAXY$(I,J)=BASE$ THEN \
- GOTO 6580
- 6540 NEXT I
- NEXT J
- DOCKED=0
- GOTO 6650
- 6580 DOCKED=1
- CONDITION$="Docked"
- IF LAST.X=EX AND LAST.Y=EY THEN \
- GOTO 6720
- LAST.X=EX
- LAST.Y=EY
- TEMP=ENERGY.NORMAL-333+100*FN8
- IF TEMP>ENERGY THEN \
- ENERGY=TEMP
- TEMP=TORPS.NORMAL-3+FN8
- IF TEMP>TORPS THEN \
- TORPS=TEMP
- PRINT "Mr. Spock: ";
- PRINT "Captain ";CAPTAIN$;":"
- PRINT "We have dropped our shields for docking"
- PRINT "We are reloading ";TORPS;" Torpedoes"
- PRINT "Our energy is being replenished to ";ENERGY;" units"
- SHIELDS=0
- GOTO 6720
- 6650 REM-----GET CONDITION CODE-----------------
- CONDITION$="Green"
- IF ENERGY<ENERGY.NORMAL/10 THEN \
- CONDITION$=BLNK$+"Yellow"+NORM$
- IF BAD.GUYS=1 THEN \
- CONDITION$=INVR$+"Orange "+NORM$
- IF BAD.GUYS>1 THEN \
- CONDITION$=IVB$+"* R E D * "+NORM$
- 6720 REM-----SENSOR OK?-----------------
- IF DAMAGE(2)<0 THEN \
- PRINT :\
- PRINT DAM$(2);" DAMAGED !!! <---" :\
- PRINT
- 6770 REM----------------------------
- PRINT DASH$
- J=1
- GOSUB 6800
- PRINT
- J=2
- GOSUB 6800
- PRINT TAB(25);"StarDate";TAB(50);T
- J=3
- GOSUB 6800
- PRINT TAB(25);"Condition";TAB(50);CONDITION$
- J=4
- GOSUB 6800
- PRINT TAB(25);"Quadrant";TAB(50);QX;QY
- J=5
- GOSUB 6800
- PRINT TAB(25);"Sector";TAB(50);EX;EY
- J=6
- GOSUB 6800
- PRINT TAB(25);"Total energy";TAB(50);ENERGY+SHIELDS
- J=7
- GOSUB 6800
- PRINT TAB(25);"Photon Torpedoes";TAB(50);TORPS
- J=8
- GOSUB 6800
- PRINT TAB(25);"Shields";TAB(50);SHIELDS
- PRINT DASH$
- RETURN
-
- 6800 REM-------PRINT A LINE OF THE QUADRANT------
- IF DAMAGE(2) < 0 THEN :\
- GOTO 6805
- FOR I=1 TO 8
- PRINT GALAXY$(I,J);" ";
- NEXT I
- RETURN
- 6805 FOR I=1 TO 8
- IF GALAXY$(I,J)=ENTERPRISE$ THEN :\
- PRINT "E "; :\
- ELSE :\
- PRINT "? ";
- NEXT
- RETURN
-
- 7290 REM-----------LIBRARY COMPUTER CODE BEGINS HERE -------
- IF DAMAGE(8)<0 THEN \
- PRINT DAM$(8);" Damaged" :\
- GOTO 1990
- 7320 REM
- INPUT "Enter Computer code: "; COMPUTER.CODE
- IF COMPUTER.CODE<1 OR COMPUTER.CODE>6 THEN \
- GOSUB 7450 :\
- GOTO 7320
- ON COMPUTER.CODE GOTO 7400, 7900, 8070, 8500, 8150, 7350
- GOSUB 7450 REM PRINT WHAT'S AVAILABLE
- GOTO 7320
-
- 7350 GOSUB 9030
- PRINT QUADRANT$ : PRINT
- GOTO 1990
-
- 7450 PRINT "Functions available from Library Computer:"
- PRINT " 1 - Cumulative Galactic Record"
- PRINT " 2 - Status Report"
- PRINT " 3 - Photon Torpedo data"
- PRINT " 4 - StarBase Navigation data"
- PRINT " 5 - Direction/Distance Calculator"
- PRINT " 6 - Galaxy 'Region Name' map"
- RETURN
-
- 7400 REM ------- CUMULATIVE GALACTIC RECORD CODE BEGINS.------
- PRINT TAB(14);"T H E G A L A X Y"
- FOR X=1 TO 8
- PRINT TAB(X*6); X;
- NEXT X
- PRINT
- PRINT
- FOR J=1 TO 8
- PRINT J;
- FOR I=1 TO 8
- GM = GMAP(I,J)
- IF GM = 0 THEN :\
- PRINT TAB(I*6); "???"; :\
- GOTO 7420
- XXX=I*6
- IF GM<100 THEN XXX=XXX+1
- IF GM<10 THEN XXX=XXX+1
- IF QX=I AND QY=J THEN \
- A$="<" :\
- ELSE \
- A$=" "
- PRINT TAB(XXX); GM; A$;
- 7420 NEXT I
- PRINT
- NEXT J
- GOTO 1990
-
- 7900 REM ---------- STATUS REPORT RTN ------------------
- PRINT
- PRINT TAB(15);"STATUS REPORT"
- X$=""
- IF TOT.BAD.GUYS=1 THEN GOTO 7940
- X$="s"
- 7940 PRINT TOT.BAD.GUYS;ENEMY$+X$+" left"
- PRINT "Mission must be completed in ";(T0+T9)-T;" StarDates"
- IF TOT.BASES=0 THEN PRINT "No StarBases left" : GOTO 7941
- IF TOT.BASES=1 THEN PRINT "1 StarBase left" : GOTO 7941
- PRINT TOT.BASES;" StarBases left"
- 7941 PRINT "Current efficiency rating: ";((K7-TOT.BAD.GUYS)/(T-T0))*1000
- GOTO 1990
-
- 8070 REM---------- TORPEDO DATA, BASE NAV, D/D CALCULATOR------
- H8=0
- FOR I=1 TO MAX.BADDY
- IF BADDY(I,3)<=0 THEN GOTO 8480
- W1=BADDY(I,1)
- X=BADDY(I,2)
- 8120 C1=SX
- A=SY
- GOTO 8220
- 8150 PRINT "Direction/Distance Calculator:"
- PRINT " You are at Quadrant (";QX;QY;") Sector (";SX;SY;")"
- PRINT " Please enter --->"
- PRINT " Initial Coordinates (x,y) ";
- INPUT C1,A
- PRINT " Final Coordinates (x,y) ";
- INPUT W1,X
- 8220 X=X-A
- A=C1-W1
- IF X<0 THEN GOTO 8350
- IF A<0 THEN GOTO 8410
- IF X>0 THEN GOTO 8280
- IF A=0 THEN GOTO 8370
- 8280 C1=1
- 8290 IF ABS(A)<=ABS(X) THEN GOTO 8330
- V5=C1+(((ABS(A)-ABS(X))+ABS(A))/ABS(A))
- PRINT TAB(10);"Direction = ";V5
- GOTO 8460
- 8330 PRINT TAB(10);"Direction = ";C1+(ABS(A)/ABS(X))
- GOTO 8460
- 8350 IF A>0 THEN GOTO 8390
- IF X=0 THEN GOTO 8410
- 8370 C1=5
- GOTO 8290
- 8390 C1=3
- GOTO 8420
- 8410 C1=7
- 8420 IF ABS(A)>=ABS(X) THEN GOTO 8450
- PRINT TAB(10);"Direction = ";C1+((ABS(X)-ABS(A))+ABS(X))/ABS(X)
- GOTO 8460
- 8450 PRINT TAB(10);"Direction = ";C1+(ABS(X)/ABS(A))
- 8460 PRINT TAB(10);"Distance = ";SQR(X*X+A*A)
- IF H8=1 THEN GOTO 1990
- 8480 NEXT I
- GOTO 1990
- 8500 IF BASES<>0 THEN GOTO 8530
- PRINT "Mr. Spock: 'Sensors show no StarBases in this Quadrant.'"
- GOTO 1990
- 8530 PRINT "From Enterprise to StarBase:"
- W1=BX
- X=BY
- GOTO 8120
-
- 9030 REM-----FIND QUADRANT NAME$--------------------------
- QUAD=INT((QX-1)/4)+2*QX-1
- QUAD.REM=QX
- IF QUAD.REM>4 THEN \
- QUAD.REM=QUAD.REM-4
- QUADRANT$=QUAD.NAME$(QUAD)+SEGMENT$(QUAD.REM)
- RETURN
-
- 9250 STOP
-
- 999999 REM-----PRINT THE INSTRUCTIONS---------------------
- PRINT
- PRINT "Why don't you print the file 'TREKINST'?"
- PRINT "It's about 10 pages long !!!"
- PRINT
- FOR I=1 TO 500 : NEXT REM TIME DELAY
- RETURN
-
- 9500 REM-------FIND EMPTY SECTOR-------------------------
- SX=FN8
- SY=FN8
- IF GALAXY$(SX,SY)=EMPTY$ THEN \
- RETURN
- GOTO 9500
- 9600 REM-------COMMERCIALS-------------------------------
-
- IF RND>.1 THEN RETURN REM - ONLY 10% CHANCE OF ANY COMMERCIAL
- PRINT
- PRINT " . . . . And now,"
- PRINT " a word from our sponsors"
- PRINT
-
- NO.OF.COMMERCIALS = 3
- NUM=INT(RND*NO.OF.COMMERCIALS)+1
-
- ON NUM GOTO 9700, 9800, 9900
-
- 9700 PRINT "*********************************************************"
- PRINT "* *"
- PRINT "* IIIIIIII BBBBBB MMM MMM *"
- PRINT "* II BB BB MMM MMM *"
- PRINT "* II BB BB MM M M MM *"
- PRINT "* II BBBBB MM M MM *"
- PRINT "* II BB BB MM MM *"
- PRINT "* II BB BB MM MM *"
- PRINT "* II BB BB MM MM *"
- PRINT "* IIIIIIII BBBBBB MMMM MMMM *"
- PRINT "* *"
- PRINT "* This episode of S T A R T R E K *"
- PRINT "* is brought to you by IBM *"
- PRINT "* *"
- PRINT "* Not just DATA -- *"
- PRINT "* But REALITY! *"
- PRINT "* *"
- PRINT "*********************************************************"
-
- GOSUB 9950 REM - DELAY
- RETURN
-
- 9800 PRINT "*********************************************************"
- PRINT "* *"
- PRINT "* StarTrek is brought to you by . . . . *"
- PRINT "* *"
- PRINT "* ========== *"
- PRINT "* !++++++++! TTTTT A N N GGG *"
- PRINT "* ========== T A A NN N G *"
- PRINT "* ! ! T AAAAA N NN G G *"
- PRINT "* !--------! T A A N N GGG *"
- PRINT "* ! TANG ! *"
- PRINT "* ! TANG ! Spock: Spock to Captain Kirk. Klingon *"
- PRINT "* ! TANG ! Battle cruisers sighted. Condition *"
- PRINT "* ! ! RED. Appearance on Bridge requested *"
- PRINT "* ! Orange ! *"
- PRINT "* ! flavor ! Kirk: Not now, Spock. I'm drinking *"
- PRINT "* !--------! my TANG! *"
- PRINT "* ========== *"
- PRINT "* *"
- PRINT "* Drink TANG ***** Captain Kirk does. **** *"
- PRINT "* *"
- PRINT "*********************************************************"
-
- GOSUB 9950 REM DELAY
- RETURN
-
- 9900 PRINT "*********************************************************"
- PRINT "* *"
- PRINT "* STARTREK is brought to you by: *"
- PRINT "* *"
- PRINT "* ---- FFFF OO RRR DDD *"
- PRINT "* + + F O O R R D D *"
- PRINT "* + + FFF O O RRR D D *"
- PRINT "* + + F OO R R DDD *"
- PRINT "* + QQQQ + F *"
- PRINT "* + ! ! + *"
- PRINT "* + ! ! + *"
- PRINT "* + ! ! + *"
- PRINT "* + ! ! + *"
- PRINT "* +! !+ *"
- PRINT "* +--+ *"
- PRINT "* !//! *"
- PRINT "* !//! FORD has a Better Idea. *"
- PRINT "* !//! *"
- PRINT "* -++- (FORD of Parma, Ohio) *"
- PRINT "* -- *"
- PRINT "* *"
- PRINT "*********************************************************"
-
- GOSUB 9950
- RETURN
-
- 9950 REM --------- TIME DELAY --------------------------------
-
- FOR I=1 TO 700
- NEXT
-
- RETURN
-
-
- END
-