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:
Outpost
|
Publisher/Developer:
BELLCOM - Public Domain Library (Software library) |
|
|
-
Entry name:Outpost
-
Category:Games
-
Publisher/Developer:BELLCOM - Public Domain Library
Listing 1
10GRAPHICS0:POKE752,1:GOTO50
20X=INT(RND(0)*X+1):RETURN
30Z=INT(SQR((EX(G)-6)^2+(EY(G)-6)^2)):RETURN
40Z=INT(1/(ED(G))*100+(C/2)):RETURN
50DIMS$(11),R$(40):OPEN#1,4,0,"K:":G=1
51DIMET(5),EH(5),EX(5),EE(5),EY(5),ED(5)
52R$="":R$(40)="":R$(2)=R$
53S$=R$(1,11)
55C=99:G=1:GOSUB8000:GOSUB5110:GOSUB2000:GOSUB7000
200GOSUB5000:GOSUB1000:GOSUB6000:GOSUB3000:GOSUB4000
210GOTO200
1000POSITION2,1:?""
1020?"TYPE";
1030FORG=1TO4
1040IFET(G)=0THEN?"";
1050IFET(G)=1THEN?"LIGHT";
1060IFET(G)=2THEN?"MEDIUM";
1070IFET(G)=3THEN?"HEAVY";
1080NEXTG
1100?:?"Distance":?"Prob.":?"Energy"
1120FORG=1TO4
1122X=G*7+5
1124?""
1126?R$(1,X);ED(G);""
1128?R$(1,X);EH(G);""
1130?R$(1,X);EE(G);""
1140NEXTG:?:POKE201,11
1150FORI=8TO19:POSITION2,I:?,:NEXTI:POSITION2,8
1300?S$;""
1305?S$;"":?
1310?S$;"ENERGY";E
1320?S$;"COMPUTER";C
1330?S$;"AIN";M
1340?S$;"ECONDARY";S
1350?S$;"ORPS";T
1360?S$;"V.P.";VP
1400?S$;"=CHARGEENERGY":?:?
1500POSITION2,8
1510A=0
1520FORY=1TO11
1530FORX=1TO11
1540FORG=1TO5
1550IFY<>EY(G)THEN1620
1560IFX<>EX(G)THEN1620
1570A=1:IFG<>5THEN?G;:FORW=150TO0STEP-10:SOUND0,W,12,W:NEXTW
1610IFG=5THEN?"";:FORW=150TO0STEP-10:SOUND0,I,10,W/10:NEXTW
1620NEXTG
1630IFX=6ANDY=6THEN?"";:A=1
1640IFA=1THENA=0:GOTO1660
1650?"+";:POKE53279,0
1660SOUND0,0,0,0:NEXTX
1670?
1680NEXTY
1690POSITION2,6
1700FORA=1TO11
1710?R$(1,11);""
1720NEXTA
1990?:RETURN
2000ET(5)=0:EX(5)=0:EY(5)=0
2010E=99:M=99:S=99
2020T=T+5
2030RETURN
3000FORG=1TO5:IFET(G)>0THEN3100
3010NEXTG:RETURN
3100IFG<5ANDINT(9*RND(0)+1)>5THEN3010
3200IFEX(G)>6THENEX(G)=EX(G)-1
3210IFEX(G)<6THENEX(G)=EX(G)+1
3220IFEY(G)<6THENEY(G)=EY(G)+1
3230IFEY(G)>6THENEY(G)=EY(G)-1
3240IFET(5)=5ANDEY(5)=6ANDEX(5)=6THENGOSUB2000
3250IFEY(G)=6ANDEX(G)=6THEN9500
3265IFG<5ANDEX(G)=EX(5)ANDEY(G)=EY(5)THENET(5)=0:EX(5)=0:EY(5)=0
3300GOSUB30:ED(G)=Z
3330GOSUB40:EH(G)=Z:IFEH(G)>99THENEH(G)=99
3400GOTO3010
4000?"ENEMYFIRING&MOVING"
4010FORG=1TO4:IFET(G)<>0THEN4100
4020NEXTG:RETURN
4100IFINT(99*RND(0)+1)>(EE(G)+INT(30*RND(0)+1))OREE(G)<10THEN4020
4110E=E-INT(0.5*RND(0)+1)*ET(G)
4150EE(G)=EE(G)-INT(10*RND(0)+1)
4160IFRND(1)<0.01THENC=C-INT(5*RND(0)+1):IFC<1THEN9500
4170IFRND(1)<0.1THENM=M-INT(25*RND(0)+1):IFM<0THENM=0
4180IFRND(1)<0.1THENS=S-INT(25*RND(0)+1):IFS<0THENS=0
4200IFE<0THEN9500
4210GOTO4020
5000G=INT(5*RND(0)+1)
5005IFG=5ANDET(5)=0ANDINT(4*RND(0)+1)>1THENET(5)=5:GOTO5160
5010IFG=5ORET(G)<>0ORINT(9*RND(0)+1)>6THEN5400
5110A=4-INT(LOG(INT(50*RND(0)+1)+2))
5120ET(G)=A:EE(G)=99
5160EX(G)=INT(11*RND(0)+1)
5170EY(G)=INT(11*RND(0)+1)
5180A=INT(4*RND(0)+1):IFA=1THENEY(G)=1
5190IFA=2THENEY(G)=11
5200IFA=3THENEX(G)=11
5210IFA=4THENEX(G)=1
5300GOSUB30:ED(G)=Z
5320GOSUB40:EH(G)=Z:IFEH(G)>99THENEH(G)=99
5400RETURN
6000?:?:?"COMMAND:":A=0
6010TRAP6010:GET#1,K:TRAP40000
6020IFK=ASC("M")ANDM>0THENA=6:M=M-INT(5*RND(0)+1):IFM<0THENM=0
6025IFK=ASC("C")THENE=E+INT(20*RND(0)+1):GOSUB10800
6030IFK=ASC("C")THENRETURN
6035IFK=ASC("S")ANDS>0THENA=4:S=S-INT(5*RND(0)+1):IFS<0THENS=0
6040IFK=ASC("T")ANDT>0THENA=9:T=T-1
6060IFA<3THEN?"BADINPUT!COMMAND:":GOTO6010
6100?"TARGETN0:"
6120TRAP6120:GET#1,K:TRAP40000
6125B=K-48:B=B*(B>=1ANDB<=4)
6130IFET(B)=0THEN?"BADDATA!TARGET:":GOTO6120
6140IFA=6THENGOSUB10600
6150IFA=4THENGOSUB10500
6160IFA=9THENGOSUB10400
6200IFINT(99*RND(0)+1)>EH(B)THEN?"MISSED!":GOSUB10100:RETURN
6210EE(B)=INT(EE(B)-((A*2*INT(15*RND(0)+1))/ET(B)))
6215?"TARGET":GOSUB10200
6220IFEE(B)<1THEN6500
6230E=E-INT(0.5*RND(0)+1)
6300RETURN
6500VP=VP+ET(B)
6505EX(B)=0:EY(B)=0
6510ET(B)=0:EH(B)=0:ED(B)=0:EE(B)=0
6570?"":GOSUB10300
6580RETURN
7000REM
7005POKE559,46:PMB=PEEK(106)-16:POKE54279,PMB:PMB=PMB*256+512
7010POKE53248,0:POKE53249,0
7020POKE704,192:POKE705,192:P=47
7030POKE53256,0:POKE53237,3
7035FORI=0TO63:POKEPMB+I,0:POKEPMB+64+I,0:POKEPMB+128+I,0:POKEPMB+192+I,0:NEXTI
7040FORI=0TO44:POKEPMB+P+I,255:POKEPMB+128+P+I,255:NEXTI
7050POKE53277,3:POKE53248,48:POKE53249,100
7060RETURN
8000FORI=0TO5:ET(I)=0:EH(I)=0:EX(I)=0:EY(I)=0:ED(I)=0:EE(I)=0:NEXTI:RETURN
9500GOSUB10700
9510?"Youhavebeen"
9520POKE53248,0:POKE53249,0
9530POKE53277,0:POKE559,34
9550?"SCORE=";VP:?:?
9560IFVP>HSTHENHS=VP
9580?"***********************"
9590?"HighScore=";HS
9600?"***********************"
9605?"AnotherGame?(Y/N)";
9630TRAP9630:GET#1,K:TRAP40000
9640IFK=ASC("Y")THENRUN
9650END
10000REM
10100REMMISSED
10110FORW=100TO200STEP2:SOUND0,W,10,4:NEXTW:SOUND0,0,0,0:RETURN
10200REMHIT
10210FORW=0TO30:SOUND0,W*8,8,15-W/2:SOUND1,W*8,16,15-W/2:POKE712,PEEK(53770):NEXTW
10220POKE712,0:RETURN
10300REMENEMYDESTROYED
10310FORW=0TO255STEP10
10320POKE704,PEEK(53770):POKE705,PEEK(704)
10330SOUND0,W,8,W/15:SOUND1,PEEK(53770),0,15*RND(1)
10340NEXTW:SOUND0,0,0,0:SOUND1,0,0,0
10350POKE704,192:POKE705,192
10360RETURN
10400REMPHOTONTORPEDO
10410FORW=200TO100STEP-2:SOUND0,W,2,4:NEXTW:FORW=0TO100STEP6:SOUND0,W,2,8:NEXTW
10420SOUND0,0,0,0:RETURN
10500REMSECONDARYFIRE
10510FORI=1TO10:FORW=0TO3:SOUND0,W,2,8:NEXTW:NEXTI:SOUND0,0,0,0:RETURN
10600REMMAINFIRE
10610FORI=1TO10:FORW=0TO3:SOUND0,W,2,8:SOUND1,W*3,2,8:NEXTW:NEXTI:SOUND0,0,0,0:SOUND1,0,0,0:RETURN
10700REMYOURDEATHKNELL
10710FORW=0TO255STEP10
10720POKE710,PEEK(53770):POKE712,PEEK(53770)
10730SOUND0,W,0,15-W/17:SOUND1,128+W/2,8,8+7*RND(1)
10740NEXTW:FORW=0TO10:POKE710,68:FORI=0TO5:NEXTI:POKE710,0:NEXTW
10780SOUND0,0,0,0:SOUND1,0,0,0
10790SETCOLOR2,9,4:SETCOLOR4,0,0:RETURN
10800REMRECHARGE
10810FORW=1TO20:SOUND0,5+5*RND(0),10,8:NEXTW
10820SOUND0,0,0,0:RETURN
References
Listing downloads
Downloads
Copyright holder
