Random game
Random demo
Random game
Entry name:
 Enterprise 
Publisher/Developer:

BELLCOM - Public Domain Library
(Software library)
  • Category:

    Games
  • Year:

    1983
  • Code:

    G. T. Harvey
  • Maximum players:

    1
  • Programming language:

    Atari BASIC
Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise
Listing 1
1GRAPHICS0:DEG:TF=24:DR=9000:O=0:I=1:L=100:T=10:C2=2:POKE16,112:POKE53774,112
2SETCOLORC2,O,C2:SETCOLOR4,5,5:GOSUB10400:GOTOL
3?"":?:?"EMERGENCY!EMERGENCY!EMERGENCY!":?
4SOUNDI,215,T,T:FORJW=ITO4
5FORJ=40TOC2*TSTEP-0.25
6SOUNDO,J,28-0.05*J,14:NEXTJ
7FORJ=ITO30:SOUNDO,O,O,O:NEXTJ:NEXTJW
8SOUNDI,O,O,O:RETURN
10IFTA>OORDI$="D"ORRND(O)<0.9700000000000001THENRETURN
12F=Q+I:G=O
14IFF=65THENF=I
16IFCM(F)=ITHENGOTOTF
18F=F+I:G=G+I
20IFG=63THENRETURN
22GOTO14
24?:?N$;"CAUGHTINLONGRANGE":?"TRACTORBEAM..":?
25IFV$="R"THEN?"BALANCEOFRESTPERIODCANCELED..":V$="X":?
26GOSUBDR:Q=F:QY=INT((Q+7)/8):QX=Q-((QY-I)*8)
28EY=(QY-I)+(INT(RND(O)*T)/T)+0.05:EX=(QX-I)+(INT(RND(O)*T)/T)+0.05
30GOSUB8350
32IFSH$="DOWN"THENCQ=O:GOSUB700:CQ=I
34IFRND(O)<I/C2+PTHENGOSUB2320:GOSUBDR
35IFRND(O)>I/C2+PTHENCQ=O
36GOSUB3000:CQ=I
38TA=RND(O)*T+3:RETURN
40IFU=IORV=OTHENRETURN
41IFDAM(8,I)>OTHENRETURN
43TD=(INT(RND(O)*300)/L)+I
44D=V:GOSUB9010:GOSUB2300
46?"THESTARBASEINQUADRANT";E;",";F;"ISUNDER":?"ATTACK.STARFLEETADVISESTHEYCAN"
48?"HOLDOUTFOR";TD;"STARDAYS.":U=I
60RETURN
61FORJW=15TOOSTEP-0.25:FORJ=4TOOSTEP-I:SOUNDO,TF-J,30,JW:NEXTJ:NEXTJW:SOUNDO,O,O,O:RETURN
62FORJW=OTO15STEP0.25:FORJ=4TOOSTEP-I:SOUNDO,22-J,30,JW:NEXTJ:NEXTJW:SOUNDO,O,O,O:RETURN
70FORJ=ITO3:FORJW=40TO27STEP-0.5
71SOUNDI,1.4000000000000001*JW,T,14:SOUNDO,215,T,T:NEXTJW
73SOUNDI,O,O,O:POSITIONTF-I,I+I:?"BATTLESTATIONS":FORX=ITOL:NEXTX:POSITIONTF-I,I+I:?""
75NEXTJ:SOUNDO,O,O,O:POSITION3,5:RETURN
90TIME=TIME+(SK-KLG)^3*0.00001:RETURN
100POP:TRAP2000:GOTO170
109IFRND(O)<0.9600000000000001THENRETURN
110A=INT(RND(O)*8)+I:B=INT(RND(O)*8)+I:W=(B-I)*8+A
111IFQI$(W,W)="N"THENGOTOL+T
113IFCM(W)>OORST(W)=OORBA(W)=ITHENRETURN
115IFW=QTHEN120
116IFDAM(8,I)>OTHENQI$(W,W)="U":GOTO130
117GOSUB2300:?"ASUPERNOVAHASBEENDETECTEDIN"
118?"QUADRANT";A;",";B;".ALLFEDERATIONSHIPS":?"AREADVISEDTOAVOIDTHEAREA."
120GOSUB8150
130IFW=QTHENGOSUB4100
131RETURN
170GOSUBT:GOSUB109:IFRND(O)>0.9400000000000001THENGOSUB40
460RESTORE490:TA=TA-I:?:?"COMMAND";:INPUTC$
465FORX=ITO18:READV$,B
470IFC$=V$THENGOSUBB:POP:GOTOL
479NEXTX
480GOSUBL*L:GOTO460
490DATASRS,500,WAR,600,SHI,700,STA,800,MOV,900,DAM,2800,CHA,2100,RES,2900,LRS,2400,DOC,2700,COM,2600
491DATAPHO,4500,PHA,7000,DES,8000,HEL,7500,IMP,8500,ABA,8800,DIV,8950
500Z=9:GOSUB2310
511?"":POSITION4,I:FORX=ITOT:?X;"";:NEXTX
515FORX=ITOT:POSITIONI,X+C2:?X:NEXTX
530FORY=3TO12STEPI:FORX=4TO22STEPC2:POSITIONX,Y
550?CHR$(SEC(((X/C2)-I),Y-C2)):NEXTX:NEXTY:QI$(Q,Q)="X"
580POSITIONTF,C2+I:?"STARDATE:";INT(STDT*T)/T
581POSITIONTF,4:?"CODE";CO$
582POSITIONTF,5:?"ENERGY=";INT(ENG)
583POSITIONTF,6:?"RESERVES=";INT(LS*L)/L
585POSITIONTF,7:?"WARP:";WAR
586POSITIONTF,8:?"TORPEDOS=";TOR
587POSITIONTF,T-I:?"KLINGONS=";KLG
588POSITIONTF,T:?"SHIELDS:";SH$
589POSITIONTF,T+I:?"@";SH;"%"
590POSITIONTF,T+C2:?"QUADRANT:";QX;",";QY
591POSITIONTF,13:?"SECTOR:";SX;",";SY
592POSITIONTF,14:?"TIMELEFT=";INT(TIME*L)/L
599POSITIONI,15:RETURN
600?:?"ATWARP";WAR;"CAPTAIN..NEWSETTING";:INPUTA
625IFA<IORA>TTHEN?"":?"CAPTAIN,WARPSPEEDMUSTBEBETWEEN1AND10":GOTO600
640IFA>7THEN?:?"AYEAYECAPTAINTHOUGHYOUKNOWOUR":?"SAFESTSPEEDISWARP7!"
650?:?"WARP";A;"SHEISSIR!":WAR=A:RETURN
700?:?"SHIELDSARE";SH$;"CAPTAIN."
710?"UPORDOWN";:INPUTC$
720IFC$="DOW"THENSH$="DOWN":GOTO750
730IFC$="UP"THENSH$="UP":ENG=ENG-T:GOTO750
731GOTO710
750?:?"SHIELDS";SH$;"SIR!":IFCQ=OTHENRETURN
760GOTO2320
800?"":POSITION13,I:?"USS";N$
802POSITION17,3:?"":?
810?"STARDATE",,INT(STDT*L)/L
815?"STARDAYSLEFT",,INT(TIME*L)/L
820?"CONDITIONCODE",,CO$
830?"ENERGY",,,INT(ENG)
835?"LIFESUPPORTRESERVES",INT(LS*L)/L
840?"WARP",,,WAR
850?"TORPEDOS",,,TOR
860?"KLINGONSLEFT",,KLG
870?"SHIELDS",,,SH$
871?"@",,,SH;"%"
875?:?N$;"COORDINATES"
880?"QUADRANT",,QX;",";QY
890?"SECTOR",,,SX;",";SY
899?:RETURN
900I$="":Z=C2:GOSUB2310
930CEX=EX:CEY=EY:CQ=Q:DI$=""
940?:?"COURSE";:INPUTDIR:POKE84,(PEEK(84)-I):POKE85,T+T
941?"DISTANCE";:INPUTDIS:IFDIS<0.1THEN?:?"MINIMUM.1":?:GOTO941
942IFI$="I"THENGOTO960
949A=T*DIS*1.5^WAR/ENG
950IFSH$="UP"THENA=C2*A
951IFA>0.9500000000000001THENV$="ENERGY":GOSUB8670
959A=DIS*3/WAR/TIME
960IFI$="I"THENA=DIS*T/TIME
961IFA>0.9500000000000001THENV$="TIME":GOSUB8670
970GOSUB2320
1240DEG:X=I/T
1250EX=CEX+(SIN(30*DIR)*X)
1260EX=INT(T*EX):EX=EX/T+0.05
1280EY=CEY+((COS(30*DIR)*X)*-I)
1290EY=INT(T*EY):EY=EY/T+0.05
1310QX=INT(EX+I):QY=INT(EY+I)
1325A=(QY-I)*8+QX:GOSUB8350
1365IFCQ<>ATHENGOTO1500
1370IFSEC(SX,SY)=45ORSEC(SX,SY)=STHEN1500
1372IFSEC(SX,SY)=42ORSEC(SX,SY)=66THENGOSUB4200:X=X-I/T:DIS=X:GOTO1250
1374IFSEC(SX,SY)=67ORSEC(SX,SY)=75THENGOSUB4210:DIS=X:GOTO1250
1500IFX=DISTHEN1620
1505IFX>DISORCQ<>ATHEN1550
1520X=X+I/T:GOTO1250
1550X=DIS:GOTO1250
1620OSX=CEX-INT(CEX):OSX=INT(OSX*T)+I
1630OSY=CEY-INT(CEY):OSY=INT(OSY*T)+I
1710SEC(OSX,OSY)=45
1715IFEY<=OOREY>8OREX<=OOREX>8THEN1810
1720SEC(SX,SY)=S:Q=(QY-I)*8+QX
1809IFI$="I"THEN1828
1810Z=T*DIS*1.5^WAR:ENG=ENG-Z
1811IFSH$="UP"THENENG=ENG-Z
1825IFENG<0THENGOSUBDR:GOTO20050
1828A=DIS*3/WAR
1829IFI$="I"THENA=DIS*T
1840GOSUB11000:GOSUB8550:GOSUB8600
1890IFEY<=OOREY>8OREX<=OOREX>8THENGOSUB4000:GOTO1902
1900IFQ<>CQTHENGOSUB3000
1902IFWAR<=7THEN1910
1903IFWAR=TANDRND(O)>0.9THENGOSUB2350
1904IFRND(O)>0.9500000000000001THENZ=C2:DF=C2:GOSUB8210:?:?"SCOTTHERECAPTAIN..THEWARPDRIVEIS":?"DAMAGED..."
1910IFKL(Q)+CM(Q)=OTHENCO$="GREEN":SETCOLOR4,12,4
1920IFENG<800THENCO$="YELLOW":SETCOLOR4,I,6
1930IFKL(Q)+CM(Q)>OTHENCO$="RED":SETCOLOR4,3,4
1940IFKLG<=OTHEN20200
1999RETURN
2000?:?"BEGYOURPARDONCAPTAIN?":GOTOL
2100?"":A=O
2105?""
2110POSITION4,3:FORX=ITO8:?"";X;"";:NEXTX
2140FORX=ITO8:POSITIONI,C2*X+3:?X:NEXTX
2190FORY=5TO19STEPC2:FORX=4TO32STEP4:POSITIONX,Y
2201A=A+I
2202IFQI$(A,A)="N"THEN2215
2203IFQI$(A,A)=""THEN2213
2210?KL(A)+CM(A);BA(A);ST(A):GOTO2220
2213?"---":GOTO2220
2215?"***":GOTO2220
2220NEXTX:NEXTY
2232POSITION4,4:FORX=ITO8
2233IFX=QXTHEN?"";
2235IFX<>QXTHEN?"";
2236NEXTX
2237FORX=ITO8:POSITIONC2,(C2*X+3)
2239IFX=QYTHEN?""
2240IFX<>QYTHEN?""
2241NEXTX
2249POSITION3,21:RETURN
2300?:?"MESSAGEFROMSTARFLEET,CAPTAIN..":?
2301FORJ=ITO20:SOUNDO,O,O,O:FORJW=ITOINT(RND(O)*12):SOUNDO,37,T,20/J:NEXTJW:NEXTJ:SOUNDO,O,O,O:RETURN
2310GOSUB2850:IFDAM(Z,I)>OTHEN?"":?V$;"DAMAGED!":POP:GOTOL
2311RETURN
2320IFCO$="RED"THENGOSUB6000
2321RETURN
2340?:?"CAPTAINTHEVESSELATSEC(";HX;",";HY;")HAS":?"LOSTITSFIREPOWER.":RETURN
2350A=-5+INT(RND(O)*900)/L:V$="AHEAD":IFSGN(A)=-ITHENV$="BACK"
2352?:?"SPOCKHERECAPTAIN,THE";N$:?"HASENTEREDATIMEWARP!":BT=BT+A
2354?"WEAPPEARTOHAVEGONE";V$;"INTIME":?ABS(A);"STARDAYS..":GOSUBDR:GOSUBDR:GOSUB11000:RETURN
2370FORJW=15TOOSTEP-0.5:FORJ=C2TOOSTEP-I:SOUNDO,13-J,30,T:NEXTJ:NEXTJW:SOUNDO,O,O,O:RETURN
2375FORJW=TTOOSTEP-0.5:FORJ=C2TOOSTEP-I:SOUNDO,111-INT(B/L)*T-J,20,JW:NEXTJ:NEXTJW
2376SOUNDO,O,O,O:RETURN
2380FORJW=15TOOSTEP-0.5:FORJ=C2TOOSTEP-I:SOUNDO,13-J,30,JW:NEXTJ:NEXTJW:SOUNDO,O,O,O:RETURN
2390FORJ=4TOT:SETCOLORC2,J,12:FORJW=ITOT:NEXTJW:NEXTJ:SETCOLORC2,O,C2:RETURN
2400Z=T:GOSUB2310
2405?""
2406POSITION12,4:?"":B=4
2410FORY=-ITOI:B=B+C2:A=8
2411FORX=-ITOI:A=A+5
2420POSITIONA,B
2430TQ=(QY+Y-1)*8+(QX+X)
2439IFQY+Y<IORQY+Y>8ORQX+X<IORQX+X>8THEN2460
2445IFQI$(TQ,TQ)="N"ORQI$(TQ,TQ)="U"THEN2465
2450?KL(TQ)+CM(TQ);BA(TQ);ST(TQ):QI$(TQ,TQ)="X":GOTO2500
2460?"...":GOTO2500
2465?"***"
2470IFQI$(TQ,TQ)="U"THENQI$(TQ,TQ)="N":KLG=KLG-(KL(TQ)+CM(TQ)):KL(TQ)=O:CM(TQ)=O:BA(TQ)=O:ST(TQ)=O
2500NEXTX:NEXTY
2510POSITION6,14:?N$;"INQUADRANT";QX;",";QY:?
2599RETURN
2600Z=5:GOSUB2310
2602?:?"WORKING..";
2604?"SUBSYSTEM";:INPUTC$:?
2605IFC$="TAC"THENV$="TARGET":A=QX:B=QY:GOSUB2662:GOTO2667
2606IFC$="NAV"THENV$="SECTOR":GOSUB2660:GOTO2667
2607IFC$="TIM"THEN2620
2608IFC$="ENE"THEN2640
2609IFC$="BYE"THENRETURN
2610?"COMPUTERSUBSYSTEMSARE:"
2611?:?"TIME","TACTICAL"
2612?"ENERGY","NAVIGATION"
2613?:GOTO2604
2620?"DISTANCE";:INPUTX
2621?"WARPFACTOR";:INPUTY
2622A=X*(3/Y)
2623?:?"TIME=";INT(A*L*L)/(L*L);"STARDAYS":RETURN
2640?"DISTANCE";:INPUTX
2641?"WARPFACTOR";:INPUTY
2642?"SHIELDS";:INPUTC$:?
2643IFC$="DOW"ORC$="UP"THEN2646
2645?"UPORDOWN?":GOTO2642
2646A=T*X*1.5^Y:IFC$="UP"THENA=C2*A
2647?"ENERGYREQUIREDIS";INT(A*L*L)/(L*L):RETURN
2660?"QUADRANTXCOORDINATE";:INPUTA:IFA<IORA>8THEN?"":GOTO2660
2661?"QUADRANTYCOORDINATE";:INPUTB:IFB<IORB>8THEN?"":GOTO2661
2662?V$;"XCOORDINATE";:INPUTX:IFX<IORX>TTHEN?"":GOTO2662
2663?V$;"YCOORDINATE";:INPUTY:IFY<IORY>TTHEN?"":GOTO2663
2664X=(A-I)+(X/T)-0.05:Y=(B-I)+(Y/T)-0.05
2665A=(SQR((ABS(X-EX)^C2)+(ABS(EY-Y)^C2)))
2666Z=INT((A+0.00001)*L*L)/(L*L):RETURN
2667?:?"DISTANCE=";Z;"";
2668IFY-EY=OANDX-EX>OTHEN?"COURSE=3":RETURN
2669IFY-EY=OANDX-EX<OTHEN?"COURSE=9":RETURN
2670C=ABS(EX-X)/A:B=ATN(C/SQR(-C*C+I))
2671IFX-EX>=OANDY-EY<OTHENA=O:GOTO2675
2672IFX-EX>OANDY-EY>OTHENA=3:GOTO2676
2673IFX-EX<=OANDY-EY>OTHENA=6:GOTO2675
2674IFX-EX<OANDY-EY<OTHENA=9:GOTO2676
2675?"COURSE=";INT((((B/30)+A)+0.00001)*L*L)/(L*L):RETURN
2676?"COURSE=";INT(((((90-B)/30)+A)+0.00001)*L*L)/(L*L):RETURN
2700A=O
2710FORX=-ITOI:FORY=-ITOI
2730IFSX+X<IORSX+X>TORSY+Y<IORSY+Y>TTHEN2750
2740IFSEC(SX+X,SY+Y)=66THENA=I
2750NEXTY:NEXTX
2760IFA=OTHEN?:?N$;"NOTADJACENTTOSTARBASE":RETURN
2770?:?N$;"DOCKED"
2780TOR=T:ENG=6000:SH=L:LS=2.5:DI$="D"
2781IFS=70THENENG=3000:TOR=6:LS=1.5
2799GOSUB1910:RETURN
2800A=O
2801FORX=ITO11:A=A+DAM(X,I):NEXTX
2804IFA=OTHEN2898
2810?"":?,"DAMAGEREPORT":?:?,"STARDATE:";INT(STDT*L)/L:?
2812?,,"REPAIRTIME"
2813?"SYSTEMINSPACEATBASE"
2814?""
2820FORZ=ITOT+I
2822IFDAM(Z,I)=OTHEN2830
2824GOSUB2850:B=DAM(Z,I):C=DAM(Z,C2)
2825?"";V$,INT((B*0.9+RND(O)*0.2*B)*L)/L,INT((C*0.9+RND(O)*0.2*C)*L)/L
2830NEXTZ
2849RETURN
2850IFZ=ITHENV$="SHIELDS":RETURN
2851IFZ=C2THENV$="WARPDRIVE":RETURN
2852IFZ=3THENV$="PHOTONTUBES":RETURN
2853IFZ=4THENV$="PHASERS":RETURN
2854IFZ=5THENV$="COMPUTER":RETURN
2855IFZ=6THENV$="LIFESUPPORT":RETURN
2856IFZ=7THENV$="SHUTTLECRAFT":RETURN
2857IFZ=8THENV$="SUBSPACERADIO":RETURN
2858IFZ=T-ITHENV$="SHORTRANGESCAN":RETURN
2859IFZ=TTHENV$="LONGRANGESCAN":RETURN
2860IFZ=T+ITHENV$="IMPULSEENGINES":RETURN
2898?:?"ALLSYSTEMSAREFUNCTIONAL.":RETURN
2900V$="R":IFCO$<>"RED"THENGOTO2910
2901?:?"THE";N$;"ISINBATTLE..AREYOU":?"SERIOUS(Y/N)";:INPUTC$
2905IFC$="Y"THEN20080
2906IFC$="N"THENRETURN
2907?"YORNCAPTAIN":GOTO2901
2910?"STARDAYSFORRESTPERIOD";:INPUTDA:DA=ABS(DA)
2912A=RND(O):IFA>DATHENA=DA
2914GOSUB8550:GOSUB8600:GOSUB11000
2943GOSUB109:GOSUB40:GOSUBT:DA=DA-A:IFV$="X"THEN2949
2944IFDA>0THEN2912
2948?"":?:?"**STARDATE";INT(STDT*L)/L:?
2949V$="":RETURN
3000?"":?:?"**STARDATE";INT(STDT*L)/L:?
3102?"**";N$;"ENTERINGQUADRANT";QX;",";QY
3200H=O:FORX=ITOT:FORY=ITOT:SEC(X,Y)=45:NEXTY:NEXTX
3240SEC(SX,SY)=S
3300IFST(Q)=OTHEN3355
3310FORX=ITOST(Q):GOSUB8400
3350SEC(A,B)=42:NEXTX
3355FORX=ITO9:EP(X)=L:NEXTX:EC=I
3356FORX=ITO9:POW(X)=O:NEXTX
3400IFKL(Q)=OTHEN3500
3410FORX=ITOKL(Q):GOSUB8400
3450SEC(A,B)=75
3455GOSUB8430:POW(EC)=180+500*P*RND(O):EC=EC+I
3460NEXTX
3500IFCM(Q)=OTHEN3600
3510FORX=ITOCM(Q):GOSUB8400
3550SEC(A,B)=67
3555GOSUB8430:POW(EC)=500+1200*P*RND(O):EC=EC+I
3560NEXTX
3600IFBA(Q)=OTHEN3800
3610FORX=ITOBA(Q):GOSUB8400
3650SEC(A,B)=66
3660NEXTX
3800GOSUB1910:IFCO$="RED"THENGOSUB70
3996IFCQ=OTHEN3998
3997GOSUB2320
3998IFQI$(Q,Q)="N"ORQI$(Q,Q)="U"THENGOSUB4110
3999RETURN
4000GOSUBI+C2:?N$;"ATTEMPTINGTOLEAVEGALAXY"
4010?:?"EMERGENCYOVERRIDECONTROLSACTIVATED":?"WARPDRIVESETTO10....":WAR=T:GOSUBDR
4025IFLEAVE=OTHEN?:?"FIRSTWARNING!"
4030IFLEAVE=ITHEN?:?"LASTWARNING!!"
4035LEAVE=LEAVE+I:GOSUBDR
4036IFLEAVE>C2THENPTS(4)=PTS(4)+I:GOTO20000
4040GOSUB8300:GOSUB3000
4080IFRND(O)>0.9THEN4099
4081DF=C2:GOSUB8200
4086?:?"CAPTAIN,DAMAGECONTROLREPORTNOW":?"COMINGINAFTERENCOUNTERWITHTHE"
4087?"GALATICBARRIER...":?
4089?"DAMAGESUSTAINEDON";V$
4099RETURN
4100GOSUBC2+I
4102?"EMINENTSUPERNOVADETECTED!":GOTO4120
4110GOSUBC2+I
4112?N$;"ENTERINGSUPERNOVAAREA"
4114?"RADIATIONLEVELSEXTREMELYHIGH"
4120?:?"AUTOMATICOVERRIDEINEFFECT.":?
4122WAR=T:DIR=INT((RND(O)*1200)+L)/L:DIS=INT((RND(O)*L)+141)/L
4124?"WARP=10":?"COURSESETAT";DIR:?"DISTANCESETTO";DIS
4127IFRND(O)>0.7000000000000001THEN4138
4128DF=3:GOSUB8200
4132?:?"STARSHIPBUFFETEDBYINTENSESTELLAR":?"WINDS.";V$;"DAMAGED.."
4138IFDAM(C2,I)=OTHENCEX=EX:CEY=EY:CQ=Q:GOSUB1240
4139IFCQ=QORW=QTHEN4141
4140RETURN
4141IFDAM(C2,I)>OTHEN?:?N$;"UNABLETOLEAVEQUADRANT.."
4142?"...DESTROYEDBYRADIATION..."
4145GOSUBDR:GOTO21000
4200GOSUB3:?N$;"BLOCKEDBYOBJECTAT":?"SECTOR";SX;",";SY;".100UNITSOFENERGY"
4201?"EXPENDEDONEMERGENCYSTOP!":?:ENG=ENG-L:RETURN
4210IFSEC(SX,SY)=67THENCM(Q)=CM(Q)-I:V$="COMANDER":PTS(C2)=PTS(C2)+I
4211IFSEC(SX,SY)=75THENKL(Q)=KL(Q)-I:V$="KLINGONVESSEL":PTS(5)=PTS(5)+I
4212GOSUB3:?"SECUREALLDECKSFORCOLLISIONWITH"
4213?V$;"ATSECTOR";SX;",";SY:?
4214GOSUBDR:B=781:GOSUB2375
4220?"THE";V$;"ATSECTOR";SX;",";SY:?"HASBEENDESTROYEDCAPTAIN..THE"
4221?N$;"HASSUSTAINEDEXTENSIVE":?"DAMAGE.."
4226FORC=ITOT+I:DAM(C,I)=DAM(C,I)+(RND(O)*30)
4227DAM(C,C2)=DAM(C,I)/(RND(O)+I):NEXTC
4229IFS=70THENDAM(7,I)=O
4230KLG=KLG-I:SEC(SX,SY)=45
4250GOSUB1910:RETURN
4500Z=3:GOSUB2310
4502IFTOR=OTHEN?"":?"NOTORPEDOESLEFT":RETURN
4510CQ=I:?:?"COURSE";:INPUTDIR:POKE84,(PEEK(84)-I):POKE85,T+T:IFTOR<3THENB=O:?:GOTO4519
4517?"BURST>";:INPUTB
4518IFB<OORB>45THEN?"1TO45DEGRESSOR":?"0FORSINGLEFIRE.":?:GOTO4517
4519IFB=OTHENC=I
4520IFB>OTHENC=C2+I
4523?:IFTOR=OTHEN4990
4524IFRND(O)>0.9500000000000001THEN?"TORPEDO";CQ;"MISFIRES..":TOR=TOR-I:GOSUBDR:GOSUB9020:CQ=CQ+1:GOTO4523
4525IFRND(O)>0.9500000000000001THEN?"TORPEDO";CQ;"MISFIRES..":GOSUBDR:?"":?"TUBESDAMAGED!":GOTO4527
4526GOTO4530
4527TOR=TOR-I:Z=3:DF=1:GOSUB8210:GOTO4990
4530?"TORPEDO";CQ;"AWAY...";:GOSUB2380:?"TRACK..";
4540X=I
4550DEG:HX=SX+(SIN(30*DIR)*X):POKE85,25:?"(";INT(HX*T)/T;",";
4560HX=INT(HX+0.5)
4580HY=SY+((COS(30*DIR)*X)*-I):?INT(HY*T)/T;")":POKE84,PEEK(84)-I
4590HY=INT(HY+0.5)
4613IFHX>TORHX<IORHY>TORHY<ITHEN?:?"MISSED..":GOTO4670
4614IFSEC(HX,HY)=75THEN?:GOSUB5000:GOTO4670
4615IFSEC(HX,HY)=66THEN?:GOSUB5100:GOTO4670
4616IFSEC(HX,HY)=67THEN?:GOSUB5200:GOTO4670
4617IFSEC(HX,HY)=42THEN?:GOSUB5300:GOTO4670
4645X=X+I
4655GOTO4550
4670IFDI$<>"D"THENTOR=TOR-I
4671C=C-I:CQ=CQ+I:IFC=OORDAM(3,I)>OTHENGOTO4990
4673IFC=C2THENDIR=DIR-(B/30):GOTO4523
4674IFC=ITHENDIR=DIR+2*(B/30):GOTO4523
4990GOSUB1910:GOSUB2320:A=C2/L:GOSUB11000
4999RETURN
5000D=75:IFRND(O)<I-PTHENGOTO5010
5002?"KLINGONATSECTOR";HX;",";HY;"DAMAGED..":CX=HX:CY=HY:GOSUB8450:GOSUB5230
5005RETURN
5010GOSUB2390:?"KLINGONATSECTOR";HX;",";HY;"DESTROYED..":KL(Q)=KL(Q)-I:KLG=KLG-I:PTS(5)=PTS(5)+I:GOSUB90
5020SEC(HX,HY)=45:CX=HX:CY=HY:GOSUB8440:RETURN
5100Y=50+INT(RND(O)*L):GOSUB2390
5101?"STARBASEATSECTOR";HX;",";HY;"DESTROYED..":BA(Q)=BA(Q)-I:PTS(6)=PTS(6)+Y:SEC(HX,HY)=45:DI$=""
5102?"ALL";Y;"FEDERATIONPERSONNELLOST!":?:?"NICEGOINGCAPTAIN!!":RETURN
5200D=67
5205IFRND(O)>0.8THEN?"COMANDERATSECTOR";HX;",";HY;"USESANTI-":?"PHOTONTORPEDODEVICE..":RETURN
5207IFH=OTHEN5220
5210IFRND(O)>I/T+PTHEN5250
5220?"COMMANDERATSECTOR";HX;",";HY;"DAMAGED..":CX=HX:CY=HY:GOSUB8450:H=H+I:IFRND(O)<PTHENH=O
5230M=I:IFSEC(HX,HY)=STHENM=C2
5231A=HX-M*INT(C2*RND(O))*SGN(SX-HX):B=HY-M*INT(2*RND(O))*SGN(SY-HY)
5232IFSX-HX=OTHENA=(HX-M)+INT(3*RND(O))
5233IFSY-HY=OTHENB=(HY-M)+INT(3*RND(O))
5234IFA<IORA>TORB<IORB>TTHEN5240
5235IFSEC(A,B)<>45THEN5240
5236?"DISPLACEDTOSEC";A;",";B:SEC(HX,HY)=45:IFD=67ORD=75THENSEC(A,B)=D:GOTO5238
5237GOTO5239
5238IFM=ITHENCX=HX:CY=HY:HX=A:HY=B:GOSUB8440:GOSUB8430:GOTO5240
5239IFM=C2THENSX=A:SY=B:EX=INT(EX)+SX/T-0.05:EY=INT(EY)+SY/T-0.05:SEC(A,B)=S:RETURN
5240IFPOW(EC)<30THENGOSUB2340
5241RETURN
5250GOSUB2390:?"COMANDERATSECTOR";HX;",";HY;"DESTROYED..":CM(Q)=CM(Q)-I:KLG=KLG-I:GOSUB90
5299PTS(C2)=PTS(C2)+I:SEC(HX,HY)=45:CX=HX:CY=HY:GOSUB8440:RETURN
5300IFRND(O)>0.8THEN5310
5301IFRND(O)<I/TTHEN5370
5302?"STARATSECTOR";HX;",";HY;"UNAFFECTED..":RETURN
5310GOSUB2390:?"STARATSECTOR";HX;",";HY;"NOVAS..":ST(Q)=ST(Q)-I:PTS(I)=PTS(I)+I:SEC(HX,HY)=45
5315RX=HX:RY=HY
5320FORX=-ITOI:FORY=-ITOI
5330IFHX+X<IORHX+X>TORHY+Y<IORHY+Y>TTHENGOTO5350
5340IFSEC(HX+X,HY+Y)=75THENHX=HX+X:HY=HY+Y:GOSUB5000:HX=RX:HY=RY
5341IFSEC(HX+X,HY+Y)=67THENHX=HX+X:HY=HY+Y:GOSUB5210:HX=RX:HY=RY
5342IFSEC(HX+X,HY+Y)=42THENHX=HX+X:HY=HY+Y:GOSUB5400:HX=RX:HY=RY
5343IFSEC(HX+X,HY+Y)=STHENHX=HX+X:HY=HY+Y:GOSUB5600:HX=RX:HY=RY
5350NEXTY:NEXTX
5360RETURN
5370GOSUB2390:?"STARATSECTOR";HX;",";HY;"SUPERNOVAS..":GOSUBDR:PTS(I)=PTS(I)+ST(Q):PTS(2)=PTS(2)+CM(Q)
5372PTS(5)=PTS(5)+KL(Q):KLG=KLG-CM(Q)-KL(Q):GOSUB90:GOSUB3:POP:W=Q:GOSUB8150:GOSUB4120:GOTOL
5400IFRND(O)<I/TTHENPOP:GOTO5370
5401IFRND(O)>0.6THEN?"STARATSECTOR";HX;",";HY;"UNAFFECTED..":RETURN
5403GOSUB2390:?"STARATSECTOR";HX;",";HY;"NOVAS..":ST(Q)=ST(Q)-I:PTS(I)=PTS(I)+I:SEC(HX,HY)=45
5405VX=HX:VY=HY
5406FORF=-ITOI:FORG=-ITOI
5410IFHX+F<IORHX+F>TORHY+G<IORHY+G>TTHEN5418
5412IFSEC(HX+F,HY+G)=75THENHX=HX+F:HY=HY+G:GOSUB5000:HX=VX:HY=VY
5414IFSEC(HX+F,HY+G)=67THENHX=HX+F:HY=HY+G:GOSUB5210:HX=VX:HY=VY
5416IFSEC(HX+F,HY+G)=42THENHX=HX+F:HY=HY+G:GOSUB5450:HX=VX:HY=VY
5417IFSEC(HX+F,HY+G)=STHENHX=HX+F:HY=HY+G:GOSUB5600:HX=VX:HY=VY
5418NEXTG:NEXTF
5420RETURN
5450IFRND(O)>I/C2THEN?"STARATSECTOR";HX;",";HY;"UNAFFECTED..":RETURN
5452POP:GOTO5370
5600?:?N$;"BUFFETEDBYSTELLARBLAST":D=S:GOSUB5230
5610IFRND(O)>I/C2THENDF=C2:GOSUB8200:?"..";V$;"DAMAGED.."
5620RETURN
6000?:IFDI$="D"THEN?"KLINGONSATTACK..STARBASESHIELDS":?"PROTECTTHE";N$:RETURN
6005C=O:TX=O:TY=O:TE=O
6010FOREC=ITOT-I
6015IFEP(EC)=LTHEN6500
6016X=INT(EP(EC)/T):Y=EP(EC)-X*T
6017IFX=OTHENX=T
6018IFY=OTHENY=T
6031V$="KLINGON"
6032IFSEC(X,Y)=67THENV$="COMMANDER":TX=X:TY=Y:TE=EC
6035IFPOW(EC)<30THEN6500
6050A=SQR((SX-X)^C2+(SY-Y)^C2)
6060B=INT(POW(EC)/(I+(A-I)*0.3))
6061IFDAM(I,I)>OTHENGOTO6065
6062IFSH$="UP"THENB=INT(B*30/(SH+30)):SH=SH-INT((B*0.15)*L)/L:IFSH<OTHENSH=O
6065POW(EC)=POW(EC)*0.98
6200?B;"UNITHITFROM";V$;"AT(";X;",";Y;")":GOSUB2375
6210ENG=ENG-B:C=C+B
6220IFENG<OTHEN20080
6500NEXTEC
6514IFRND(O)*C<250THEN6525
6515A=INT(RND(O)*5)+2:PTS(6)=PTS(6)+A
6520?:?"McCOYHERECAPTAIN..WESUFFERED";A:?"CASUALITIESINTHELASTATTACK.."
6525IFRND(O)*C>C2*LTHENDF=INT(C/L):GOSUB8200:?:?V$;"DAMAGEDINTHE":?"LASTATTACK":GOSUBDR
6530IFTX=OTHENRETURN
6540IFPOW(TE)<150THEN6566
6550A=TX+I*SGN(SX-TX):B=TY+I*SGN(SY-TY):IFSEC(A,B)<>45THENRETURN
6560?:?"COMMANDERADVANCESTOSEC";A;",";B:SEC(TX,TY)=45:SEC(A,B)=67
6565CX=TX:CY=TY:GOSUB8440:GOSUB8430:POW(EC)=POW(TE):RETURN
6566F=C2:G=C2
6570A=TX-F*SGN(SX-TX):B=TY-G*SGN(SY-TY)
6571IFA<ITHEND=QX-I:E=QY:GOTO6590
6572IFA>TTHEND=QX+I:E=QY:GOTO6590
6573IFB<ITHENE=QY-I:D=QX:GOTO6590
6574IFB>TTHENE=QY+I:D=QX:GOTO6590
6577IFSEC(A,B)<>45THENRETURN
6580?:?"COMMANDERRETREATSTOSEC";A;",";B:SEC(TX,TY)=45:SEC(A,B)=67:CX=TX:CY=TY
6581GOSUB8440:GOSUB8430:POW(EC)=POW(TE):RETURN
6590IFE<IORE>8ORD<IORD>8THENRETURN
6592?:?"COMMANDERESCAPESTOQUADRANT";D;",";E:?"(ANDREGAINSSTRENGTH)"
6593Z=((E-I)*8)+D
6594SEC(TX,TY)=45:CM(Q)=CM(Q)-I:CM(Z)=CM(Z)+I:EP(TE)=L:GOSUB1910
6595IFQI$(Z,Z)=""ORQI$(Z,Z)="X"THENRETURN
6596CM(Z)=O:PTS(C2)=PTS(C2)+I:GOSUBDR
6597?:?"CAPTAIN,LONGRANGESENSORSINDICATE":?"THECOMMANDERHASBEENDESTROYEDIN":?"QUADRANT";D;",";E
6599RETURN
7000Z=4:GOSUB2310
7005IFDAM(I,I)>OTHEN7020
7010IFSH$="UP"THEN?:?"PHASERSCANNOTBEFIREDWITHSHIELDS":?"UP..":RETURN
7020IFDI$="D"THEN?:?"PHASERSCANNOTBEFIREDTHROUGH":?"STARBASESHIELDS..":RETURN
7090?:?"UNITSTOFIRE";:INPUTC:?:C=ABS(C)
7092IFC>ENGTHEN?"CAPTAIN,YOUONLYHAVE";INT(ENG);"UNITS":?"AVAILABLETOFIRE":?:GOTO7090
7094ENG=ENG-C:KP=CM(Q)+KL(Q)
7100FOREC=ITO9
7102IFKP=OTHEN?C;"UNITSEXPENDEDONEMPTYSPACE"
7104IFKP=OORC<=OTHENPOP:GOTO7490
7110IFEP(EC)=LTHEN7200
7112X=INT(EP(EC)/T):Y=EP(EC)-X*T
7114IFX=OTHENX=T
7115IFY=OTHENY=T
7120V$="COMMANDER"
7130IFSEC(X,Y)=75THENV$="KLINGON"
7140A=SQR((SX-X)^C2+(SY-Y)^C2)
7150B=INT(POW(EC)*(I+(A-I)*0.3))+I
7155IFC<BTHENB=C
7156F=INT(B/(I+(A-I)*0.3))
7160POW(EC)=POW(EC)-F
7170?F;"UNITHITON";V$;"AT(";X;",";Y;")":IFU<>LTHENGOSUB2370
7171IFPOW(EC)<ITHEN?"";V$;"DESTROYED..":KLG=KLG-I:GOSUB2390:GOSUB90:KP=KP-I:POW(EC)=O:EP(EC)=L:GOTO7173
7172IFPOW(EC)<30THENHX=X:HY=Y:GOSUB2340
7173IFPOW(EC)>OTHEN7180
7174IFSEC(X,Y)=75THENKL(Q)=KL(Q)-I:PTS(5)=PTS(5)+I:SEC(X,Y)=45
7176IFSEC(X,Y)=67THENCM(Q)=CM(Q)-I:PTS(C2)=PTS(C2)+I:SEC(X,Y)=45
7180C=C-B
7200NEXTEC
7490GOSUB1910:GOSUB2320:A=C2/L:GOSUB11000:RETURN
7500Z=8:GOSUB2310
7502PTS(3)=PTS(3)+I:GOSUB2301
7503H=L
7510FORC=ITO64
7520IFBA(C)=OTHEN7600
7530X=5:Y=5
7531B=INT((C+7)/8):A=C-((B-I)*8)
7532HX=A:HY=B
7540GOSUB2664
7550IFZ<HTHENH=Z:TX=HX:TY=HY
7600NEXTC
7605IFH=LTHEN?:?"CAPTAIN,THEREARENOSTARBASESLEFT!":RETURN
7607IFV$="X"THEN7710
7610?:?"CAPTAIN,STARBASEINQUADRANT";TX;",";TY:?"ISRESPONDINGTOOURCALL..":A=I:V$="ST":?
7620GOSUB61:?"THE";N$;"DE-MATERIALIZES....":?
7630IFA=C2THENV$="ND"
7631IFA=3THENV$="RD"
7635GOSUBDR:?A;V$;"ATTEMPTTORE-MATERIALIZETHE":?N$;"...";:GOSUB62
7640IFRND(O)/(H+0.01)>C2/TTHEN?"SUCCEEDS!!":GOTO7700
7650?"FAILS!":?:A=A+I
7655IFA>3THENGOSUBDR:GOTO20090
7660GOTO7630
7700?:?"CAPTAIN,WEMADEIT!"
7710SEC(SX,SY)=45:GOSUBDR:DI$="D"
7715IFBA(Q)=ITHEN7800
7720EX=TX-I+0.45:EY=TY-I+0.45
7730GOSUB8340
7731?"":?:?"**STARDATE";INT(STDT*L)/L:?
7732?"**";N$;"ATSTARBASE";QX;",";QY:GOSUB3200
7800FORX=ITOT:FORY=ITOT
7810IFSEC(X,Y)=66THENPOP:GOTO7840
7820NEXTY:NEXTX
7840FORA=-ITOI:FORB=-ITOI
7845IFX+A<IORX+A>TORY+B<IORY+B>TTHEN7860
7850IFSEC(X+A,Y+B)=45THENPOP:GOTO7870
7860NEXTB:NEXTA
7870SEC(X+A,Y+B)=S:SEC(5,5)=45:GOSUB2780
7871EX=INT(EX)+(X+A-0.5)/T
7872EY=INT(EY)+(Y+B-0.5)/T
7873SX=X+A:SY=Y+B
7999RETURN
8000Z=5:GOSUB2310
8010?:?"WORKING...";:GOSUBDR:?"ENTERPASSWORD";:INPUTV$:?:?"WORKING...";:GOSUBDR
8020IFV$<>PASS$THEN?"PASSWORDREJECTED!":?"DESTRUCTABORTED":RETURN
8025?"PASSWORDACCEPTED":GOSUBDR
8030U=L:?"":?"BEGINDESTRUCTSEQUENCE.."
8040FORX=TTOOSTEP-I:POSITION17,10:?X;"":FORY=ITO31:NEXTY:NEXTX
8050C=INT(ENG*T):ENG=O:GOSUB2390:B=690:GOSUB2375
8060?"":?"THE";N$;"EXPLODESWITHAFORCE":?"EQUIVALENTTO";C;"UNITSOFENERGY..":?
8065IFDI$="D"THENGOSUB5100
8066PASS$=".POSTHUMOUSLY.":DI$="M"
8090GOSUB7094:GOSUBDR:GOTO20080
8150QI$(W,W)="N":KLG=KLG-(KL(W)+CM(W)):BA(W)=O:KL(W)=O:CM(W)=O:ST(W)=O
8152IFW=QTHENFORD=ITOT:FORE=ITOT:SEC(D,E)=45:NEXTE:NEXTD
8155RETURN
8200Z=INT(RND(O)*T)+I
8205IFS=70ANDZ=7THEN8200
8210DAM(Z,I)=DAM(Z,I)+(RND(O)*DF)+0.02
8220DAM(Z,C2)=DAM(Z,I)/(RND(O)+1.5)
8250GOSUB2850:RETURN
8300EX=(INT(RND(O)*L)/T)+0.05
8310IFEX>8THEN8300
8320EY=(INT(RND(O)*L)/T)+0.05
8330IFEY>8THEN8320
8340QX=INT(EX+I):QY=INT(EY+I):Q=(QY-I)*8+QX
8350SX=EX-INT(EX):SX=INT(SX*T)+I
8390SY=EY-INT(EY):SY=INT(SY*T)+I:RETURN
8400A=INT(RND(O)*T)+I:B=INT(RND(O)*T)+I
8410IFSEC(A,B)<>45THEN8400
8420RETURN
8430IFA=TTHENA=O
8431IFB=TTHENB=O
8432EP(EC)=(T*A)+B:RETURN
8440IFCX=TTHENCX=O
8441IFCY=TTHENCY=O
8442FOREC=ITO9:IFEP(EC)=CX*T+CYTHENEP(EC)=L:POP:GOTO8444
8443NEXTEC
8444RETURN
8450IFCX=TTHENCX=O
8451IFCY=TTHENCY=O
8452FOREC=ITOT-I:IFEP(EC)=CX*T+CYTHENPOW(EC)=POW(EC)*RND(O):POP:GOTO8454
8453NEXTEC
8454RETURN
8500I$="I":Z=T+I:GOSUB2310
8502GOTO930
8550IFDI$="D"THENRETURN
8555IFDAM(6,I)>OTHENLS=LS-A
8557IFLS>OTHENRETURN
8560?"":?"YOURLIFESUPPORTRESERVESHAVEBEEN":?"DEPLETED.THECREWOFTHE";N$
8562?"ISNOWGASPINGFORTHEIRLASTBREATH":?"OFAIR..":GOTO20052
8600IFDI$="D"THEN8640
8605FORX=ITOT+I
8610IFDAM(X,I)=OTHEN8630
8615DAM(X,C2)=DAM(X,C2)-(DAM(X,C2)/DAM(X,I)*A)
8620DAM(X,I)=DAM(X,I)-A
8625IFINT(DAM(X,I)*L)/L<=OTHENDAM(X,I)=O:DAM(X,C2)=O
8630NEXTX:RETURN
8640FORX=ITOT+I
8645IFDAM(X,C2)=OTHEN8665
8650DAM(X,I)=DAM(X,I)-(DAM(X,I)/DAM(X,C2)*A)
8655DAM(X,C2)=DAM(X,C2)-A
8660IFINT(DAM(X,C2)*L)/L<=OTHENDAM(X,I)=O:DAM(X,C2)=O
8665NEXTX:RETURN
8670?:?"SPOCKHERECAPTAIN.ICALCULATETHAT":?"SUCHAMOVEWOULDCONSUME"
8671?A*L;"%OFOURAVAILABLE";V$;"."
8672?:?"DOYOUTHINKSUCHAMOVEISWISE":?:INPUTC$
8673IFC$="YES"THENRETURN
8674IFC$="NO"THENPOP:GOTOL
8675?:?"YESORNOCAPTAIN?":GOTO8672
8800IFS=70THEN?:?"THE";N$;"DOES'TCARRYSHUTTLE":?"CRAFT!":RETURN
8810Z=7:GOSUB2310
8820S=70:N$="FERRYQUEEN":PTS(4)=I
8830?"":?"ABANDONSHIP!","ABANDONSHIP!":GOSUB4:?
8850?"THECREWBEAMSDOWNTOANEARBYPLAN-":?"ET.YOUARECAPTUREDWITHTHEENTER-"
8852?"PRISEBYTHEKLINGONS,TRIEDASAWAR":?"CRIMINAL,FOUNDGUILTY,ANDSENTENCED":?"TODEATH!"
8853GOSUBDR:F=O:FORG=ITO64:F=F+BA(G):NEXTG:IFF=OTHEN?"":GOTO20052
8854?:?"THEFEDERATIONNEGOCIATESFORYOUR":?"RELEASEWITHTHEKLINGONSVIAAPRI-":?"SONEREXCHANGE..":?
8856?"YOUHAVEBEENREASSIGNEDBYTHEFE-":?"DERATIONTOCOMMANDTHEFERRYQUEEN."
8860FORC=ITOT+I:DAM(C,I)=O:DAM(C,C2)=O:NEXTC:WAR=5
8890V$="X":GOSUB7503
8900V$="":RETURN
8950?:?"ENERGYTOORFROMSHIELDS";:INPUTC$
8951IFC$="TO"THEN8960
8952IFC$="FRO"THEN8980
8953?"":?"TOORFROM?":GOTO8950
8960?:?"ENERGYTOSHIELDS";:INPUTX:X=ABS(X):?
8961IFX>ENG-ITHEN?"CAPTAIN,";INT(ENG)-I;"UNITSAREAVAILABLE":GOTO8960
8962IFSH+X*I/T>LTHEN?"MAXIMUMDIVERSIONIS";(L-SH)/(I/T);"UNITS":GOTO8960
8970ENG=ENG-X:SH=SH+X*I/T:IFSH>LTHENSH=L
8971GOTO8991
8980?:?"ENERGYFROMSHIELDS";:INPUTX:X=ABS(X):?
8981IFX/T>SHTHEN?"CAPTAIN,";INT(SH*T);"UNITSAREAVAILABLE":GOTO8980
8990ENG=ENG+X:SH=SH-X*I/T:IFSH<OTHENSH=O
8991?"ENERGY=";INT(ENG);"UNITS-SHIELDS@";SH;"%":GOSUB1910:RETURN
9000FORDE=ITO75:NEXTDE:RETURN
9010F=INT((D+7)/8):E=D-((F-I)*8):RETURN
9020IFTOR<>OTHEN?"RELOADING..":RETURN
9021IFTOR=OTHEN?"ARSENALEMPTY..":RETURN
10000?""
10010?"LEGALCOMMANDSARE:":?
10020?"WARP","PHOTON","SHIELDS"
10030?"MOVE","PHASERS","HELP"
10040?"SRS","LRS","STATUS"
10050?"DAMAGE","DOCK","ABANDONSHIP"
10060?"DESTRUCT","COMPUTER","CHART"
10070?"REST","IMPULSE","DIVERT"
10100?:?:RETURN
10400?"":DIMC$(3),PASS$(15)
10405?:?"DOYOUWANTASHORT,MEDIUM,ORLONG":?"GAME";:INPUTC$
10410IFC$="SHO"THENA=9:GOTO10440
10420IFC$="MED"THENA=8:GOTO10440
10430IFC$="LON"THENA=7:GOTO10440
10435GOTO10405
10440?:?"AREYOUANOVICE,GOOD,OREXPERT":?"PLAYER";:INPUTC$
10441IFC$="NOV"THENP=I/T:GOTO10450
10442IFC$="GOO"THENP=C2/T:GOTO10450
10443IFC$="EXP"THENP=0.3:GOTO10450
10444GOTO10440
10450?:?"ENTERASECRETPASSWORD":?:INPUTPASS$
10500?"":?"INITIALIZING.."
10520DIMDAM(T+I,C2),SH$(4),CO$(6),QI$(64),V$(16),DI$(I),I$(I),EP(T-I)
10522QI$(I)="":QI$(64)="":QI$(C2)=QI$(I)
10550DIMSEC(T,T),ST(64),CM(64),KL(64),BA(64),PTS(6),POW(9),N$(T+I)
10555FORX=OTO6:PTS(X)=O:NEXTX
10601FORX=ITO11:DAM(X,I)=O:DAM(X,C2)=O:NEXTX
10620FORX=ITO64:ST(X)=INT(RND(O)*T):NEXTX
10640FORX=ITO64
10645IFINT(RND(O)*T)<ATHENKL(X)=O:GOTO10660
10650KL(X)=INT(RND(O)*8)
10660NEXTX
10661FORX=ITO64:BA(X)=O:NEXTX
10665B=RND(O)
10666IFB>0.67THENY=4:GOTO10669
10667IFB>0.33THENY=3:GOTO10669
10668Y=C2
10669?"":?:?"**THEFEDERATIONHAS";Y;"STARBASES"
10670FORX=ITOY
10671B=INT(RND(O)*L)+I
10672IFB>64THEN10671
10673IFBA(B)=ITHEN10671
10674BA(B)=I:NEXTX
10680FORX=ITO64:CM(X)=O:NEXTX
10681B=RND(O)
10682IFB<ITHENY=7
10683IFB<0.9500000000000001THENY=6
10684IFB<0.65THENY=5
10685IFB<0.44THENY=4
10689FORX=ITOY
10690B=INT(RND(O)*L)+I
10691IFB>64THEN10690
10692IFCM(B)=ITHEN10690
10693CM(B)=I:NEXTX
10699ENG=6000:TOR=T:WAR=5:SH$="DOWN":N$="ENTERPRISE":S=69:LS=2.5
10700GOSUB8300
10705FORX=ITO64:KLG=KLG+KL(X)+CM(X):NEXTX:SK=KLG
10710SH=L:STDT=2000+INT(RND(O)*L)/T:BT=STDT
10720TIME=KLG*0.030000000000000002+14-T*P
10725?:?"**YOUHAVE";TIME;"STARDAYSTOFIND":?"**ANDELIMINATE";KLG;"KLINGONVESSELS":GOSUBDR
10800GOSUBDR:GOSUB3000
10850FORX=ITO64
10851IFBA(X)=IANDKL(X)+CM(X)>OTHENV=X:POP:RETURN
10852NEXTX
10900RETURN
11000STDT=STDT+A:TIME=TIME-A:IFTIME<OTHENGOTO20070
11010IFV<>OANDU=ITHENTD=TD-A:IFTD<OTHENGOSUB11100
11015IFCM(V)+KL(V)=OTHENV=O
11020RETURN
11100D=V:GOSUB9010:BA(V)=O:V=O
11102U=O:GOSUB10850
11105IFDAM(8,I)=OTHENGOSUB2300:?"THESTARBASEINQUADRANT";E;",";F;"HASBEEN":?"DESTROYED.."
11106RETURN
20000GOSUBDR
20001?"":?"THE";N$;"HASBEENDESTROYED":?"INTHEGALATICBARRIER":?:GOTO21000
20050?"":?"THE";N$;"'SENERGYRESOURCES":?"HAVEBEENDEPLETED.YOUARENOW"
20051?"DRIFTINGAIMLESSLYINSPACE."
20052?:?"THEFEDERATIONHASLOSTTHEWARWITH":?"THEKLINGONEMPIRE.":GOTO21000
20070?"":?"THE";N$;"HASRUNOUTOFTIME.":GOTO20052
20080GOSUB2390:B=653:GOSUB2375:?"":?"THE";N$;"HASBEENDESTROYED":?"INBATTLEWITHTHEKLINGON";
20081?"EMPIRE.":PTS(4)=PTS(4)+I:GOTO21000
20090?"":?"THE";N$;"ISNOWANEXPANDING":?"CLOUDOFATOMICPARTICLESINSPACE.":GOTO20052
20200GOSUBDR:?"":?"THEFEDERATIONHASSMASHEDTHE":?"KLINGONINVASION..CONGRADULATIONS":PTS(O)=400
21000SETCOLOR4,5,5:?:?"***YOURSCORE***":?
21004X=PTS(5)*T:Y=X
21005?"KLINGONS",PTS(5),X
21009X=PTS(C2)*50:Y=Y+X
21010?"COMMANDERS",PTS(C2),X
21014X=PTS(I)*-5:Y=Y+X
21015?"STARSDESTROYED",PTS(I),X
21019X=PTS(6)*-I:Y=Y+X
21020?"CASUALITIES",PTS(6),X
21024X=PTS(3)*-L:Y=Y+X
21025?"CALLSFORHELP",PTS(3),X
21034X=PTS(4)*-200:Y=Y+X
21035?"SHIPSLOST",PTS(4),X
21040IFPTS(O)=400THEN?"BONUSFORWIN",,PTS(O):Y=Y+PTS(O)
21050IFPTS(5)>OANDSTDT-BT>3THENX=INT(((PTS(C2)+PTS(5))/(STDT-BT+I))*200):Y=Y+X:?"COMBATEFFICIENCY",,X
21080?:?"TOTALSCORE",,Y
21091IFY>500THENV$="COMMODORE"
21092IFY>750THENV$="REARADMIRAL"
21093IFY>L*TTHENV$="VICEADMIRAL"
21094IFY>1500THENV$="ADMIRAL"
21095IFPTS(O)=400ANDY>500THEN?:?"PROMOTIONTO";V$;"RECOMMENDED":?"BYSTARFLEET.";
21097IFDI$="M"ANDPTS(O)=400THEN?PASS$
21098?""
21100?:?"DOYOUWANTTOPLAYAGAIN";:INPUTC$
21120IFC$="YES"THENRUN
21130IFC$="NO"THEN22000
21140?"ANSWERYESORNO":GOTO21100
22000?:?"LIVELONGANDPROSPERCAPTAIN."
22010END
23000REM
23001REM
23002REM	

This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page, please contact me immediatelly so I can remove it!