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!
Entry name:
Two and One Half Mile Island
|
Publisher/Developer:
BELLCOM - Public Domain Library (Software library) |
|
-
Entry name:Two and One Half Mile Island
-
Category:Games
-
Publisher/Developer:BELLCOM - Public Domain Library
-
Year:1981
Listing 1
10GOSUB8000 50?"THISPROGRAMSIMULATESTHEOPERATION" 60?"OFANUCLEARPOWERREACTOR.THE" 70?"OBJECTISTOOPERATETHEPLANTATA" 80?"MAXIMUMAVERAGEPOWEROUTPUTWITHOUT" 90?"CAUSINGAREACTORMELTDOWN.":? 110?"THECONTROLRODSADJUSTTHEAMOUNTOF" 120?"HEATPRODUCEDBYTHEREACTOR.PRIMARY" 130?"COOLANTTRANSFERSTHISHEATTOTHE" 140?"HEATEXCHANGER.SECONDARYCOOLANT" 150?"TRANSFERSHEATFROMTHEEXCHANGERTO" 160?"THETURBINE,WHEREPOWERISPRODUCED," 170?"ANDFINALLYTOTHECOOLINGTOWER.THE" 180?"EMERGENCYCOOLANTISUSEDTOHELP" 190?"SHUTDOWNTHEREACTORWHENOTHER" 200?"SYSTEMSFAIL.UNLIKETHEOTHER" 210?"COOLANTS,EMERGENCYCOOLANTISNOTREUSEABLE.":? 220?"ENTERTOSEEREACTORENTERFORWORKINGINSTRUCTIONSENTERTOSTARTOPERATION";:GET#2,Q 221IFCHR$(Q)="D"THENGOSUB6000:GOTO220 222IFCHR$(Q)="S"THEN390 225GRAPHICS0 226?:?:?:?:? 230?"THECONTROLSAREOPERATEDBYTYPING" 235?"INTHEDESIREDCONTROLRODSETTING" 240?"ANDFLOWRATES.(USEVALUES0TO100)" 245?"IFNOENTRYMADE,THENTHEVALUESWILL" 250?"NOTCHANGE.PRESSTOSTEPTO" 255?"THEDIFFERENTFUNCTIONS." 270?"THEREACTORCANBEOPERATEDUNTILLA" 275?"MELTDOWNOCCURSORTHEREACTORFUEL" 280?"ISEXHAUSTED.THEFUELWILLLASTFOR" 285?"ABOUT100TO150DAYS." 290?"YOURPERFORMANCEWILLBEEVALUATEDATTHEENDOFTHEGAME." 298?"PRESSTOCONTINUE";:INPUTQ$:GRAPHICS0 299?:?:?:?:? 300?:?"IFYOUWANTTOREPAIRDAMAGEOR" 305?"REPLACECOOLANT,BRINGTHEREACTOR" 310?"TEMPERATUREDOWNBELOW100ANDSHUT" 315?"OFFTHECOOLANTFLOWS.THISWILL" 320?"CAUSEANAUTOMATICMAINTENANCESHUT-" 325?"DOWNANDALLCOOLANTWILLBEREFILLED" 330?"ANDREPAIRSMADE.THEGREATERTHE" 335?"DAMAGE,THELONGERTHEREPAIRSWILLTAKE." 337?"PRESSTOCONTINUE";:INPUTQ$ 338GRAPHICS1+16 339SETCOLOR4,3,2 340POSITION5,10:?#6;"*WARNING*":POSITION2,12:?#6;"THISPOWERPLANT" 341POSITION2,13:?#6;"HASNOAUTOMATIC":POSITION3,14:?#6;"SAFETYDEVICES" 342FORX=1TO5:FORP=100TO1STEP-3:SOUND0,P,10,10:FORI=1TO2:NEXTI:NEXTP 343FORP=1TO88STEP4:SOUND0,P,10,10:NEXTP:NEXTX 345POSITION2,13:?#6;"HASNOAUTOMATIC":POSITION3,14:?#6;"SAFETYDEVICES" 346SOUND0,0,0,0 347GRAPHICS0 348?:?:?:?:?:? 380GOTO220 390REMINITIATE 400GOSUB2000 405DAY=0 410RH=0 420RL=0 440TT=0 450DMGE=0 455A=0:A1=0:A2=0 460REMWRITEREPORT 470GRAPHICS0 475DAY=DAY+1:IFDAY>120THEN4000 480?"ATARINUCLEARPOWERPLANT" 490?"STATUSREPORT-DAY";DAY 500? 510?"WARNINGS:":W=0 520IFRT>800THEN?"REACTOROVERHEATED":RD=RD+1+(RT>850)+(RT>900)+2*(RT>950):PD=PD+1:ED=ED+1+(RT>850) 525IFRT>800THENW=W+1 530IFXT>500THEN?"HEATEXCHANGEROVERHEATED":XD=XD+1+(XT>600):PD=PD+1:SD=SD+1:W=W+1 540IFGO>2000THEN?"TURBINEOVERLOADED":TD=TD+1+(GO>2500):SD=SD+1:W=W+1 550IFCT>300THEN?"COOLINGTOWEROVERHEATED":SD=SD+1:W=W+1 560IFGO<1000THEN?"POWEROUTPUTLOW":W=W+1 570IFEV<200THEN?"EMERGENCYCOOLANTLOW":W=W+1 580IFPV<100THEN?"PRIMARYCOOLANTLOW":W=W+1 590IFSV<100THEN?"SECONDARYCOOLANTLOW":SD=SD+1:W=W+1 595IFW=3THEN?"PRESSTOCONTINUE";:INPUTQ$:GRAPHICS0 600IFW=3THEN?"TWOAND0NE-HALFISLANDSTATUSREPORT-DAY";DAY:? 610?"DAMAGE:":D=0 620IFRD>3THEN?"REACTORCOREDAMAGED":D=D+1 630IFPD>4THEN?"PRIMARYCOOLANTLEAK-";PD;"PERDAY":PV=((PV-PD)*(PV-PD)>0):D=D+1 640IFSD>4THEN?"SECONDARYCOOLANTLEAK-";SD;"PERDAY":SV=(SV-SD)*((SV-SD)>0):D=D+1 650IFED>2THEN?"EMERGENCYCOOLANTLEAK-";2*ED;"PERDAY":EV=(EV-2*ED)*((EV-2*ED)>0):D=D+1 660IFPBTHEN?"PRIMARYCOOLANTPUMPFAILURE-";10*PD*(PD<10)+100*(PD>=10);"%":D=D+1 670IFSBTHEN?"SECONDARYCOOLANTPUMPFAILURE-";10*SD*(SD<10)+100*(SD>10);"%":D=D+1 680IFXBTHEN?"HEATEXCHANGERFAILURE":D=D+1 690IFGBTHEN?"TURBINEFAILURE":D=D+1 695IFD>3THEN?"PRESSTOCONTINUE";:INPUTQ$:?"" 700IFRD>5THENGRAPHICS17:FORI=1TO10:FORI1=15TO0STEP-1:SETCOLOR0,3,I1:POSITION5,10 701IFRD>5THEN?#6;"MELTDOWN!":SOUND0,10+I1,12,8:NEXTI1:NEXTI:SOUND0,0,0,0:GOTO3000 720POSITION2,10:?"INDICATORS:" 730RT=INT(RT):POSITION2,11:?"REACTORTEMP.(MAX800)";RT 740XT=INT(XT):POSITION2,12:?"HEATEXCHANGERTEMP.(MAX500)";XT 750CT=INT(CT):POSITION2,13:?"COOLINGTOWERTEMP.(MAX300)";CT 760GO=INT(GO):POSITION2,14:?"POWEROUTPUT(MAX2000KW)";GO;"KW" 765KW=INT(KW):KW=TT/DAY 770KW=INT(KW):POSITION2,15:?"AVERAGEPOWEROUTPUT";KW;"KWPERDAY" 800POSITION2,16:?"CONTROLRODS-";A 810POSITION2,17:?"COOLANTS" 820POSITION2,18:?"EMERGENCYLEVEL-";EV;"FLOW-";EF 830POSITION2,19:?"PRIMARYLEVEL-";PV;"FLOW-";PF 840POSITION2,20:?"SECONDARYLEVEL-";SV;"FLOW-";SF 850IF(100-RL)<5THEN?:?:?"REACTORFUELEXHAUSTED":GOTO4000 900REMGETCONTROLVALUES 915A2=A1:A1=A:X$="":Z=0 930POSITION21,16:INPUTX$:IFX$=""THEN965 935X=VAL(X$):IFX<0ORX>100THEN930 955X$=STR$(X) 960A1=VAL(X$):A=A1+(100-A)*(A>100) 965GOSUB1160 990X$="":Z=0:X=0 1000POSITION33,18:INPUTX$:IFX$=""THEN1055 1005X=VAL(X$):IFX<0ORX>100THEN1000 1040X$=STR$(X) 1045EF1=VAL(X$):EF=EF1+(100-EF)*(EF>100) 1050IFEF>EVTHENEF=EV 1055GOSUB1160 1060X$="":Z=0:X=0 1065POSITION33,19:INPUTX$:IFX$=""THEN1110 1070X=VAL(X$):IFX<0ORX>100THEN1065 1100X$=STR$(X) 1105PF1=VAL(X$):PF=PF1+(100-PF)*(PF>100) 1110GOSUB1160 1120X$="":Z=0:X=0 1125POSITION33,20:INPUTX$:IFX$=""THEN1150 1130X=VAL(X$):IFX<0ORX>100THEN1125 1135X$=STR$(X) 1140SF1=VAL(X$):SF=SF1+(100-SF)*(SF>100) 1150GOSUB1163 1160POSITION2,22:?"GOONTONEXTDAY(YORN)";:GET#2,ND:POKE764,255 1161IFCHR$(ND)="Y"THEN1170 1162POSITION2,22:?"":RETURN 1163POSITION2,22:?"GOONTONEXTDAY(YORN)";:GET#2,ND1:POKE764,255:IFCHR$(ND1)="Y"THEN1170 1164POSITION2,22:?"" 1165POSITION2,15:GOTO800 1170MSW=0:IFPF=0ANDSF=0ANDRH<1ANDRT<100ANDA=0THENMSW=1:GOSUB2000 1175GRAPHICS17:SETCOLOR4,3,2:POSITION3,10 1176IFMSWTHEN?#6;"-MAINTENANCE--SHUTDOWN-":GOTO1179 1177?#6;"----" 1179IFMSWTHENPOSITION4,13:?#6;"";MD;"DAYS":FORI=1TOMD*50:NEXTI 1180IFD>=2AND(NOTMSW)THENPOSITION5,14:?#6;"":?#6:?#6;"damageoccurring" 1181IFD>=2AND(NOTMSW)THEN?#6;"":?#6;"" 1190FORI=1TO500:NEXTI:IFEF>EVTHENEF=EV 1200REMDAMAGEASSESMENTANDOPERATIONCALCULATIONS 1205EV=EV-EF-2*ED*(ED>3) 1210PD=PD+(PF>90)*(INT(RND(0)*20)>0.9500000000000001) 1220SD=SD+(SF>90)*(INT(RND(0)*20)>0.92) 1230PB=PD>5 1240SB=SD>5 1250IFPF>(100-PD*10)ANDPBTHENPF=(100-PD*10)*(100-PD*10>0) 1260IFSF>(100-SD*10)ANDSBTHENSF=(100-SD*10)*(100-SD*10>0) 1270RL=RL+RH/50 1280RH=(A*30+A1*60+A2*10)/2500*(100-RL) 1300PH=PF*(100*(PV>100)+PV*(PV<=100))/350 1310EH=EF/200*(RT-25) 1320RT=RT+RH-EH-PH-5*(RT>25) 1325RT=25+(RT-25)*(RT>25) 1330XT=((RT-25)*PF+(CT-25)*SF)/(PF+SF+1)+25 1340IFXBTHENXT=RT*0.8+5 1350SH=SF*(100*(PV>100)+PV*(PV<=100))/350*(XT-CT) 1360IFXBTHENSH=SH*0.2 1370GO=SH/XT*(XT-CT)*2/3 1375IFGO>2600THENGO=2600 1380GO=GO*(GO>0)*(GB=0) 1390CT=25+((XT-25)*(SH-GO)/(SH+1)*0.75) 1395CT=25*(CT<=25)+CT*(CT>25) 1400IFXB<1THENXB=(XD>2)*(INT(RND(0)*4)>0.9) 1410IFGB<1THENGB=(GD>4)*(INT(RND(0)*4)>0.9) 1420TT=TT+GO 1430GOTO470 2000REMMAINTREPAIRSUB. 2010EV=300 2020PV=120 2030SV=120 2040RT=25 2050XT=25 2060CT=25 2070DMGE=DMGE+2*RD+ED+PD+XD+SD+GD 2080MD=5+3*(10*(RD>3)+(ED>3)+(PD>3)+(SD>3)+2*PB+2*SB+3*XB+3*GB):DAY=DAY+MD 2090RD=0 2100ED=0 2110PD=0 2120XD=0 2130SD=0 2140GD=0 2150PB=0 2160SB=0 2170XB=0 2180GB=0 2190EF=0 2195GO=0 2200RETURN 3000REMMELTDOWNENDING 3010? 3020IFRD>6THEN3100 3030?"THEREACTORCOREHASBEENDESTROYED" 3040?"BYUNCONTROLLEDTHERMALRUNAWAY." 3050?"HOWEVERTHECONTAINMENTBUILDINGHAS" 3060?"NOTYETRUPTURED." 3070? 3080?"INITIATEYOUREVACUATIONPLAN." 3090GOTO5000 3100?"THEREACTORCOREHASMELTEDDOWNAND" 3110?"PRODUCEDASTEAMEXPLOSION.THE" 3120?"CONTAINMENTBUILDINGHASRUPTURED." 3130?"LETHALRADIOACTIVEGASESANDDEBRIS" 3140?"HAVEESCAPED." 3150? 3160?"INITIATEYOUREVACUATIONAND" 3170?"RADIATIONCLEANUPPLANSANDGET" 3180?"MEDICALASSISTANCE." 3190GOTO5000 4000REMEVALUATIONOFGAMERESULTS 4010? 4020?"OVERAPERIODOF";DAY;"DAYS,YOU" 4030?"HAVEPRODUCEDANAVERAGEPOWEROUTPUT" 4040?"OF";KW;"KILOWATTSPERDAY." 4050AKW=1+(KW>1000)+(KW>1200)+(KW>1500)+(KW>1800) 4060? 4070?"YOURAVERAGEPOWERPRODUCTIONRATEIS" 4080ONAKWGOTO4090,4100,4110,4120,4140 4090?"HORRIBLE!FINDALESSDEMANDINGJOB.":GOTO4200 4100?"WAYBELOWYOURAREA'SPOWERNEEDS.":GOTO4200 4110?"ADEQUATE.YOUCOULDDOBETTER.":GOTO4200 4120?"EXCELLENT!POWERCOSTSINYOURAREA" 4130?"WILLNOTBEINCREASED.":GOTO4200 4140?"NEARTHEMAXIMUM!POWERCOSTSIN" 4150?"YOURAREAWILLDROPSIGNIFICANTLY." 4200REMDAMAGEEVALUATION 4210? 4215GOSUB2000 4220D=1+(DMGE>10)+(DMGE>20)+(DMGE>30) 4230?"THEEQUIPMENTDAMAGESUSTAINEDDURING" 4240?"THISPERIODWAS"; 4250ONDGOTO4260,4270,4280,4290 4260?"VERYLIGHT.":GOTO5000 4270?"MODERATE.":GOTO5000 4280?"HEAVY.":GOTO5000 4290?"SEVERE." 5000REMEND 5010? 5020?"WOULDYOULIKETOTRYAGAIN?(YORN)"; 5030GET#2,A 5040IFCHR$(A)="Y"THENGOSUB2000:GOTO390 5050IFCHR$(A)<>"N"THEN5030 5060POSITION0,0 5070END 5100B$="" 5105FORI=1TO4 5110INPUTA$ 5130IFASC(A$)<>32THEN5140 5134IFB$=""THENRETURN 5136OUT=VAL(B$) 5138RETURN 5140IFASC(A$)=13THENPOP:GOTO1170 5150A$(LEN(A$)+1)=B$ 5160?A$ 5170NEXTI 5180RETURN 6000GRAPHICS5:SETCOLOR2,9,12:COLOR5:FORI=1TO39:PLOTI,0:DRAWTOI,39:NEXTI 6005DE=200 6010?"":POKE752,1 6020?"THISISTHEREACTORVESSEL" 6030RESTORE 6035SETCOLOR1,12,3:COLOR2 6040FORI=1TO29 6050READX1,X2,Y 6060PLOTX1,Y:DRAWTOX2,Y 6070NEXTI 6080DATA7,9,6,15,17,6,6,18,7,5,19,8,5,7,9,17,19,9,5,6,10,18,19,10,5,6,11,18,19,11,5,6,12,18,19,12,5,6,13 6085DATA18,19,13,5,6,14 6090DATA18,19,14,5,6,15,18,19,15,5,6,16,18,19,16,5,6,17,18,19,17,5,6,18,18,19,18,5,7,19,17,19,19,6,18 6095DATA20,7,17,21,8,16,22 6100COLOR1 6110PLOT13,6:DRAWTO14,6 6120COLOR2 6130PLOT14,5:DRAWTO15,5 6140PLOT14,4:DRAWTO16,4 6150PLOT15,3:DRAWTO16,3 6160FORI=1TODE:NEXTI 6170?"" 6180?"THISISTHEREACTORCORE" 6190SETCOLOR1,9,5:COLOR2 6200FORI=9TO15 6210PLOTI,11:DRAWTOI,17 6220NEXTI 6230FORI=1TODE:NEXTI 6240?"" 6250?"THESEARETHECONTROLRODS." 6260COLOR4 6270PLOT11,2:DRAWTO11,17 6280PLOT13,2:DRAWTO13,17 6290FORI=1TODE:NEXTI 6300?"" 6310?"THEEMERGENCYCOOLANTCANCOOLTHE" 6320?"REACTORINANEMERGENCY." 6330COLOR4 6340FORI=1TO36 6350READY,X 6360PLOTX,Y 6370FORJ=1TO25:NEXTJ 6380NEXTI 6390DATA4,2,4,4,5,2,5,3,5,4,6,2,6,3,6,4,7,3,8,3,9,3,10,3,11,3,12,3,12,4,12,5,12,6,12,7,12,8,12,9 6400DATA13,9,14,9,15,9,16,9,16,8,16,7,16,6,16,5,16,4,16,3,17,3,18,3,19,3,20,3,22,3,24,3 6410FORI=1TODE:NEXTI 6430?"THEPRIMARYCOOLANTCARRIESHEATFROM" 6440?"THEREACTORCORETOTHEHEATEXCHANGER" 6450FORI=1TO52 6460READY,X 6470PLOTX,Y 6480FORJ=1TO25:NEXTJ 6490NEXTI 6500FORI=1TODE:NEXTI 6510DATA4,25,4,27,5,25,5,26,5,27,6,25,6,26,6,27,7,26,8,26,9,26,10,26,11,26,12,26,12,25,12,24,12,23,12,22 6513DATA12,21,12,20,12,19 6515DATA12,18,12,17,12,16,12,15,13,15,14,15,15,15,16,15,16,16,16,17,16,18 6520DATA16,19,16,20,16,21,16,22,16,23,16,24,16,25,16,26,16,27,16,28,16,29,16,30,15,30,14,30,13,30,13,30 6525DATA12,30,12,29,12,28,12,27 6540?"":?:? 6550?"THISISTHEHEATEXCHANGER" 6560SETCOLOR2,0,12:COLOR3 6570PLOT28,10:DRAWTO34,10 6580PLOT34,10:DRAWTO34,18 6590PLOT34,18:DRAWTO28,18 6600PLOT28,18:DRAWTO28,10 6605COLOR2:PLOT28,12:PLOT28,16:COLOR3 6610FORI=1TODE:NEXTI 6620?"" 6630?:?"THISISTHEGENERATORTURBINE" 6640PLOT5,30:DRAWTO18,30 6650PLOT18,30:DRAWTO18,36 6660PLOT5,36:DRAWTO18,36 6670PLOT5,30:DRAWTO5,36 6680COLOR2 6690PLOT2,33:DRAWTO17,33 6700FORI=7TO15STEP2 6710PLOTI,34:PLOTI+1,32 6720NEXTI 6730FORI=1TODE:NEXTI 6750?"":?:?"THISISTHECOOLINGTOWER" 6760SETCOLOR2,2,7:COLOR2 6770PLOT24,23:DRAWTO24,25 6780PLOT36,23:DRAWTO36,25 6790PLOT25,25:DRAWTO25,26 6800PLOT35,25:DRAWTO35,26 6810PLOT26,26:DRAWTO26,28 6820PLOT34,26:DRAWTO34,28 6830PLOT27,28:DRAWTO27,36 6840PLOT33,28:DRAWTO33,36 6850PLOT34,36 6860PLOT26,36 6870PLOT25,38:DRAWTO35,38 6880FORI=1TODE:NEXTI 6890?"" 6900?"SECONDARYCOOLANTCARRIESHEATFROMTHEHEATEXCHANGERTOTHETURBINE"; 6910?"ANDTHENTOTHECOOLINGTOWER." 6925COLOR4 6930FORI=1TO123 6940READY,X 6950PLOTX,Y 6970NEXTI 6980DATA4,35,4,37,5,35,5,36,5,37,6,35,6,36,6,37,7,36,8,36,9,36,10,36,11,36,12,36,12,35,12,34,12,33,12,32 6985DATA13,32,14,32,15,32,16,32 6990DATA16,33,16,34,16,35,16,36,17,36,18,36,19,36,20,36,20,35,20,34,20,33,20,32,20,31,20,30,20,29,20,28 6995DATA20,27,20,26,20,25,20,24,20,23,20,22,20,21 7000DATA21,21,22,21,23,21,24,21,25,21,26,21,27,21,27,20,27,19,27,18,27,17,27,16,27,15,27,14,27,13,27,12 7005DATA27,11,27,10,27,9,27,8,27,7 7010DATA28,7,29,7,30,7,31,7,32,7,34,10,32,13,34,16,35,16,35,17,35,18,35,19,35,20,35,21,35,22,35,23,35,24 7015DATA35,25,35,26,35,27,35,28 7020DATA34,28,34,29,34,30,35,30,35,31,35,32,34,32,34,33,34,34,34,35,34,36,34,37,34,38,33,38,32,38,31,38 7025DATA30,38,29,38,28,38,27,38,26,38,25,38,24,38,23,38 7030DATA22,38,21,38,20,38,19,38,18,38,17,38,16,38,15,38,14,38,13,38,12,38,12,37 7035FORJ=1TO100:NEXTJ 7040GRAPHICS0:?"" 7050RETURN 8000?"" 8010DIMX$(1000),B$(20),W$(20),P$(20),Y$(20),Z$(20),K(4),Q$(4),ND$(3),ND1$(3) 8015W$="-=-=-=-=-=-=-=-=-=-=-" 8016Y$="-=-=-=-=-=-=-=-=-=-=-" 8020X$="":B$="" 8025X$="TWOANDONEHALFMILEISLANDREVISITED...................." 8030X$(LEN(X$)+1)=B$ 8035GRAPHICS18 8040DIMK$(LEN(X$)),C$(LEN(X$)):K$=X$ 8046POSITION1,3:?#6;W$(1,19):P$=W$(2):P$(LEN(P$)+1)=W$:W$=P$ 8047POSITION1,7:?#6;Y$(1,19):Z$=Y$(2):Z$(LEN(Z$)+1)=Y$:Y$=Z$ 8050POSITION1,5:?#6;K$(1,19):C$=K$(2):C$(LEN(C$)+1)=K$:K$=C$:K=PEEK(764) 8053POSITION1,8:?#6;"REVISEDBYC.A.FOWLER1981" 8054POSITION1,10:?#6;"PRESSSTARTTOPLAY" 8055M=PEEK(53279):IFM=6THEN8060 8056FORTI=1TO10:NEXTTI:POKE77,0:SETCOLORINT(RND(0)*4),INT(RND(0)*15),8:IFK=255THEN8046 8060GRAPHICS0:OPEN#2,4,0,"K:" 8065RETURN
References
Listing downloads
Downloads
Copyright holder
