Random hardware
Random game
Random game
Entry name:
 Darktower 
Publisher/Developer:

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

    Games
  • Maximum players:

    4
  • Programming language:

    Atari BASIC
Darktower Darktower Darktower Darktower Darktower Darktower Darktower Darktower
Listing 1
0GRAPHICS0:POKE752,1:GOSUB20000
1GRAPHICS17:SETCOLOR4,0,0:SETCOLOR2,0,0:POKE752,1
2POSITION1,1:?#6;"SELECTlevel:1":LEV=1:POSITION1,22:?#6;"thenpressSTART";
3A=PEEK(53279):IFA=7THEN3
4IFA=5THENLEV=LEV+1:IFLEV>3THENLEV=1
5IFA=6THEN8
6POSITION15,1:?#6;LEV
7FORX=1TO99:NEXTX:GOTO3
8GOSUB136
9POSITION1,3:?#6;"SELECTplayers:1":PLRS=1
10A=PEEK(53279):IFA=7THEN10
11IFA=5THENPLRS=PLRS+1:IFPLRS>4THENPLRS=1
12IFA=6THEN15
13POSITION17,3:?#6;PLRS
14FORX=1TO99:NEXTX:GOTO10
15GRAPHICS0:POKE712,148
16DIMKEY(PLRS),INV(PLRS,8),CNTRY(PLRS)
17FORX=1TOPLRS:KEY(X)=0:CNTRY(X)=0:NEXTX
18FORX=1TOPLRS:FORX1=1TO6:INV(X,X1)=0:NEXTX1:NEXTX
19FORX=1TOPLRS:INV(X,1)=10:INV(X,2)=25:INV(X,6)=30:INV(X,7)=0:INV(X,8)=0:NEXTX
20FORTURN=1TOPLRS
21?"PLAYER:";TURN;"'STURN"
22GOSUB130
23?:?"OPTIONSFORTHISTURN:"
24?"1.MOVE":?"2.TOMB/RUIN":?"3.SANCTUARY":?"4.BAZAAR":?"5.INVENTORY":GT=5
25IFCNTRY(TURN)=KEY(TURN)THEN?"6.FRONTIER":GT=6
26IFCNTRY(TURN)=4THEN?"7.ENTERTHEDARKTOWER":GT=7
27?:?"WHICH";:TRAP27:INPUTREQ:TRAP40000
28Q=INV(TURN,1):INV(TURN,2)=INV(TURN,2)-1-(Q>15)-(Q>30)-(Q>45)-(Q>60)-(Q>75)-(Q>90)
29IFINV(TURN,2)<10THEN?"YOUHAVE<10RATIONSOFFOOD"
30IFINV(TURN,2)<1THEN?"&ONEWARRIORJUSTDIED.":INV(TURN,1)=INV(TURN,1)-1:INV(TURN,2)=0
31IFINV(TURN,1)<1THENINV(TURN,1)=1
32IFREQ<1ORREQ>GTTHEN27
33ONREQGOSUB38,76,82,89,108,127,144
34NEXTTURN:GOTO20
35IFINV(TURN,8)=0THEN75
36?"DOYOUWANTTOUSEPEGASUS(1=Y/2=N)":TRAP36:INPUTY:TRAP40000:IFY=2THENRETURN
37INV(TURN,8)=0:GOTOBACK
38X=INT(RND(0)*5)+1
39ONXGOTO40,41,49,53,57
40?"SAFEMOVE":FORY=1TO999:NEXTY:RETURN
41?"ABATTLEWITHTHEBRIGANDS!"
42BRI=INV(TURN,1)+INT((RND(0)*5)+1)-3:?ABS(BRI);"BRIGANDS";
43IFINV(TURN,1)<2THEN?:?"RETREAT":GOSUB156:RETURN
44?",";INV(TURN,1);"WARRIORS"
45Y=RND(0):IFY<0.4THENINV(TURN,1)=INV(TURN,1)-1:IFINV(TURN,1)<2THEN?"RETREAT":GOSUB156:RETURN
46IFY>=0.4THENBRI=INT(BRI/2):IFBRI=0THEN?"YOUWIN!":GOSUB154:GOTO66
47?BRI;"BRIGANDS,";INV(TURN,1);"WARRIORS":FORY=1TO200:NEXTY:GOTO45
48FORY=1TO999:NEXTY:RETURN
49?"LOST...NOTHINGHAPPENS"
50SOUND0,60,10,8:FORY=1TO100:NEXTY:SOUND0,210,10,8:FORY=1TO100:NEXTY:SOUND0,0,0,0
51IFINV(TURN,4)=1THEN?"BUTYOUHAVEASCOUT!TAKEANOTHERTURN.":FORY=1TO999:NEXTY:GOTO21
52RETURN
53?"PLAGUESTRIKES!":GOSUB156
54IFINV(TURN,5)=1THEN?"HEALER":GOSUB154:INV(TURN,1)=INV(TURN,1)+2:GOTO56
55INV(TURN,1)=INV(TURN,1)-2:IFINV(TURN,1)<1THENINV(TURN,1)=1
56?"YOUNOWHAVE";INV(TURN,1);"WARRIORS":FORY=1TO999:NEXTY:RETURN
57?"DRAGONATTACKS!":GOSUB156
58IFINV(TURN,7)=1THEN62
59TMP=INV(TURN,1):TMO=INV(TURN,6)
60INV(TURN,1)=INT(INV(TURN,1)*0.75):INV(TURN,6)=INT(INV(TURN,6)*0.75)
61DRW=DRW+(TMP-INV(TURN,1)):DRM=DRM+(TMO-INV(TURN,6)):GOTO64
62?"BUTYOUHAVETHEDRAGONSWORD!":GOSUB154
63INV(TURN,1)=INV(TURN,1)+DRW:INV(TURN,6)=INV(TURN,6)+DRM:INV(TURN,7)=0:DRW=0:DRM=0
64?"YOUNOWHAVE";INV(TURN,1);"WARRIORS&":?INV(TURN,6);"GOLD"
65FORY=1TO999:NEXTY:RETURN
66INV(TURN,6)=INV(TURN,6)+INT(RND(0)*30)
67IFINV(TURN,6)>INV(TURN,1)*6+(50*(INV(TURN,3)=1))THENINV(TURN,6)=INV(TURN,1)*6+(50*(INV(TURN,3)=1))
68?"YOUNOWHAVE";INV(TURN,6);"GOLD"
69Y=INT(RND(0)*4)+1:ONYGOTO70,72,74,75
70IFKEY(TURN)<CNTRY(TURN)ANDCNTRY<>4THEN?"&THENEXTKEY!":KEY(TURN)=KEY(TURN)+1
71GOTO75
72IFINV(TURN,8)=0THEN?"&PEGASUS!":INV(TURN,8)=1
73GOTO75
74IFINV(TURN,7)=0THEN?"&THEDRAGONSWORD!":INV(TURN,7)=1
75FORY=1TO999:NEXTY:RETURN
76Y=RND(0):IFY<0.3THEN?"YOUDIDN'TGETTHEREYET.":BACK=77:GOTO35
77?"THEDOORCREEEEEEKSOPEN!"
78Y=INT(RND(0)*3)+1:ONYGOTO79,80,81
79GOTO41:RETURN
80GOTO66:RETURN
81?"NOTHINGISINTHERE":GOTO75
82Y=RND(0):IFY<0.3THEN?"YOUDIDN'TGETTHEREYET.":BACK=83:GOTO35
83IFCNTRY(TURN)=4THENINV(TURN,1)=INV(TURN,1)*2
84IFINV(TURN,1)<=4THENINV(TURN,1)=INV(TURN,1)+10
85IFINV(TURN,6)<=7THENINV(TURN,6)=INV(TURN,6)+15
86IFINV(TURN,2)<=5THENINV(TURN,2)=INV(TURN,2)+15
87?"YOUNOWHAVE";INV(TURN,1);"WARRIORS,":?INV(TURN,6);"GOLD&":?INV(TURN,2);"RATIONSOFFOOD."
88GOTO75
89AR=0:MON=INV(TURN,6):IFRND(0)<0.3THEN?"YOUDIDN'TGETTHEREYET.":BACK=90:GOTO35
90?"BAZAAR"
91AR=AR+1:IFAR>5THENAR=1
92IFAR>2ANDINV(TURN,AR)=1THEN91
93ONARGOTO94,95,96,97,98
94?"WARRIORS:$";:PR=INT(RND(0)*4)+5:?PR:GOTO99
95?"FOOD:$";:PR=1:?PR:GOTO99
96?"BEAST:$";:PR=INT(RND(0)*9)+17:?PR:GOTO99
97?"SCOUT:$";:PR=INT(RND(0)*9)+17:?PR:GOTO99
98?"HEALER:$";:PR=INT(RND(0)*9)+17:?PR:GOTO99
99?:?"HOWMANY(#OR0FORNEXTITEMOR-1FORHAGGLE)";
100INPUTBI:IFSGN(BI)=-1ORSGN(BI)=0THEN104
101IFAR>2ANDBI>1THEN?"YOUCANONLYBUTONE!":GOTO106
102IFBI*PR>MONTHEN106
103MON=MON-(BI*PR):INV(TURN,AR)=INV(TURN,AR)+BI:?"THANKYOUFORYOURBUSINESS":INV(TURN,6)=MON:GOTO75
104IFBI=0THEN90
105IFRND(0)>=0.5ANDPR>1THENPR=PR-1:?"PRICENOW$";PR:GOTO99
106?:?:?"*************BAZAARCLOSED***********"
107GOSUB156:RETURN
108FORY=1TO8:IFINV(TURN,Y)=0THENNEXTY:GOTO117
109ONYGOTO110,111,112,113,114,126,115,116
110?INV(TURN,1);"WARRIORS,";:NEXTY
111?INV(TURN,2);"FOOD,";:NEXTY
112?"ABEAST,";:NEXTY
113?"ASCOUT,";:NEXTY
114?"AHEALER,";:NEXTY
115?"ADRAGONSWORD,";:NEXTY
116?"PEGASUS";
117IFKEY(TURN)=0THEN122
118ONKEY(TURN)GOTO121,120,119
119?",THEGOLDKEY";
120?",THESILVERKEY";
121?",THEBRASSKEY";
122?"AND";INV(TURN,6);"GOLD"
123?:?:?"PRESSSTART"
124IFPEEK(53279)=7THEN124
125RETURN
126NEXTY
127IFRND(0)<0.3THEN?"YOUDIDN'TGETTHEREYET.":BACK=128:GOTO35
128IFCNTRY(TURN)<>KEY(TURN)THENRETURN
129CNTRY(TURN)=CNTRY(TURN)+1
130IFCNTRY(TURN)=1THENSETCOLOR2,1,4:SETCOLOR4,1,4
131IFCNTRY(TURN)=2THENSETCOLOR2,0,14:SETCOLOR4,0,14
132IFCNTRY(TURN)=3THENSETCOLOR2,1,12:SETCOLOR4,1,12
133IFCNTRY(TURN)=4THENSETCOLOR2,0,0:SETCOLOR4,0,0
134IFCNTRY(TURN)=0THENPOKE710,148:POKE712,148
135RETURN
136IFLEV=1THENNUM=INT((RND(0)*15)+1)+16
137IFLEV=2THENNUM=INT((RND(0)*47)+1)+16
138IFLEV=3THENNUM=INT((RND(0)*31)+1)+32
139GOLD=INT(RND(0)*3)+1
140SILVER=INT(RND(0)*3)+1
141BRASS=INT(RND(0)*3)+1
142IFGOLD<>SILVERANDGOLD<>BRASSANDSILVER<>BRASSTHENRETURN
143GOTO139
144?"WHICHISGOLD(1-3)":INPUTGUE:IFGUE<>GOLDTHENRETURN
145?"RIGHT,WHICHISSILVER(1-3)":INPUTGUE:IFGUE<>SILVERTHENRETURN
146?"RIGHT,THEREFOREBRASSIS";BRASS
147GU=INV(TURN,1)
148?NUM;"BRIGANDS,";GU;"OFYOU"
149FORY=1TO50:NEXTY
150Y=RND(0):IFY<=0.65THENGU=GU-1:IFGU>2THEN148
151IFGU<3THEN?"RETREAT":GOTO75
152NUM=INT(NUM/2):IFNUM<>0THEN148
153?"PLAYER#";TURN;"WINSTHEGAMEBYSAVINGTHESCEPTOR":END
154RESTORE155:FORI=1TO6:READP,D:FORJ=1TOD:SOUND0,P,10,10:NEXTJ:NEXTI:SOUND0,0,0,0:RETURN
155DATA121,15,96,15,81,15,60,40,81,15,60,40
156FORP=60TO121:SOUND0,P,10,10:NEXTP:SOUND0,0,0,0:RETURN
20000?""
20010?:?"TheobjectofDARKTOWERisto":?"gothroughfourcountrysidesandin"
20020?"eachcollecttheKEYofthatcountry-side.Inthefirstcountryyoutryto";
20030?"findtheBrasskey,inthesecondtheSilverkeyandinthethirdtheGoldkey."
20040?"AlongthewayyoufindthesekeysinTombsandRuins.Youcanalsofindthembyjustwalking";
20050?"around.ButintheTombsandRuinstherecanalsobe"
20060?"thedangerousBRIGANDS!YoucanalsofindPegasusandaSword.Alongthe"
20070?"wayyoucouldhaveaPlagueorevenaDragonattackyou!Alsoontheway"
20080?"youcangototheBAZAAR.Hereyoucanbuyneededitemslikefood(whichrunsoutmoreeverytime)."
20090?:?"PRESSAKEY":OPEN#1,4,0,"K:":GET#1,KEV:CLOSE#1
20100?"AttheBAZAARyoucanalsobuyWarriorsneededtofighttheBrigands.";
20110?"YoucanbuyaScoutsoyouwon'tgetlost,aHealersoyoucan'tgetaPlagueandaBeastso"
20120?"cancarryextraGold.EachtimeyougettheKeyforthatcountryyoucangoacrosstheFrontier"
20130?"tothenextcountry.WhenyoufindallfourkeysyougoacrossthelastFrontiertofightin"
20140?"theDARKTOWER!ButtogetinyoumustsolvetheriddleoftheKeys."
20150?:?"!"
20160?:?"PRESSANYKEY":OPEN#1,4,0,"K:":GET#1,KEV:CLOSE#1
20170RETURN
32767END	

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!