DROGNADROGNA?DROGNA !BOOT 3 \D'##/*BASIC
PAGE=&1900
*FX21
CLOSE#0:CHAIN "DROGNA"
...Drogna...
...BBC version 1...
(
2 Program Copyright
< (c) Acornsoft 1984
F
P Game Copyright (c)
Z Patrick Dowling 1982
d
eDg@
f dH@
g*FX200,3
h
n=&6000: +&1BE0
x ?(+&501)= 256+5:+&1E00
*FX200,3
7:23;8202;0;0;0;
$PD("* * * D R O G N A * * *")
"The board displayed on the screen contains rows of 'Drogna'. There are five different Drogna shapes  spot, crescent, triangle, square and pentagon, each of which can be in five different colours."
"At the top and bottom of the board are the players' home bases; blue's home base is at the top and red's is at the bottom. At each side are the vaults, each of which contains three diamonds."
'"The aim of the game is for each player to score points by collecting diamonds from the two vaults and depositing themin his own home base. The first diamondcollected from each vault is worth 100"
J"points, the second 200 points and the third 600 points.":*FX200,2
:P(" Press any key to continue "):*FX15
"28,0,22,39,3:A=::*FX15
6"Once a diamond has been removed from a vault it cannot be replaced and it retains its value until the end of the game."
@'"A diamond can be classed as being in one of three different states  either swag, loot or dump. While a diamond is still in a vault or on a drogna it is referred to as loot and can be picked"
J"up by either player. After it has been picked up and is being carried around it is referred to as swag and the player holding it has the value of it displayed in the box at his home base"
T"labelled swag. If a player manages to deposit a diamond at his home base, thediamond is referred to as dump and its value is displayed at his home base."
^A=::*FX15
h"The player who owns a dump does not gain the score for it until another swag is dropped on top of it. Until this happens the dump can be stolen by"
r"his opponent, although the player who placed the dump in his home base is notallowed to remove it again from there. The game ends when one of the players manages to score 900 points."
'"Each player's turn is made up of two spans. In each span a player may make as many legal moves as he desires. If a player moves anywhere containing loot then he automatically picks up a"
"diamond which will convert into his swag. This will end the span he is in. He cannot move onto a drogna containingloot if he is already carrying swag."
A=::*FX15
"A player cannot move onto a drogna occupied by his opponent unless his opponent is carrying swag and he is not. If this is the case the player will steal the swag and his opponent"
"will retreat one space in the same direction as the attack, even if this takes him onto a nonvalid drogna. If it takes him into a wall he will evaporate back to his home base. An"
/"attack by a player also ends the span."'
"A player may choose to end his span if he does not wish to make any further moves. At the end of the first span theruling symbols of both players change and the turn continues. The symbols"
T"change at random, but a player will never be left on a nonvalid drogna."
A=::*FX15
]"At the end of the second span the turn ends and the other player starts his turn."
'"If a player makes a nonvalid move he will return to the drogna he tried to move from and his turn will end. If, however, he was carrying swag at the time, this will be dropped onto the"
V"drogna he tried to move to and will therefore be converted back into loot."
"As an example, consider a player carrying swag, who is on a blue circle and whose ruling symbol is a blue square. If he tries to move onto a nonvalid drogna (a red crescent) he will"
~"move to this drogna, leave his swag there as loot and move back to the bluecircle. His turn will then have ended."
A=::*FX15
"The game always starts with the red player having a halfturn, ie just the second span of a turn. After that each player has a full turn, and the currentplayer is indicated by his man moving"
7"his head from side to side on the screen."
&'"Each player has a ruling symbol; red's is displayed in the bottom lefthand corner and blue's is diagonally opposite."'
0"A player can move in one of six possible directions, from one drogna to another adjacent to it. However, a move is only valid if the drogna moved to is either the same shape or the same";
:"colour as the player's ruling symbol."
DA=::*FX15
N"Consider a player whose current ruling symbol is a blue square and who is surrounded by a yellow square, a blue circle, a red square, a red crescent, a blue pentagon and a cyan triangle."
X"He could move to either of the blue drogna, ie the blue circle or the blue pentagon, or to another square of any colour, ie the red or yellow square."
b'"Joystick controls:"
l"The player will move in the direction that the joystick points: this is indicated, if it is within the playing area, by a pair of blinking eyes."
v"The move is actually made by pressing the Fire button. To end a span put the joystick in the central position and press the Fire button."
A=::*FX15
"Playing hints:"
"Getting possession of the two 600pointdiamonds is crucial and the game cannotbe won without securing at least one of them. It therefore pays not to dump the lower valued ones in your home base";
"too hastily  instead drop them close to your home base by making a nonvalidmove. Then they will be handy when you want to drop one on top of a dump worth600 points in order to secure those points."
'"Make attacks, if you can, in the first span of your turn so that during the second span you have a chance of getting away. Even better, contrive an attack so as to bump your opponent into a wall."
A=::*FX15
"Playing hints:"
ƶ"If you think you may be attacked, drop the swag you are holding behind you so that your opponent cannot steal it fromyou and has to go round you in order to pick it up."
б'"Always look around for alternative routes  lengthy devious ones are sometimes possible, and these may be advantageous, but can be difficult to spot."
'"If you need to move to a particular drogna, your chance of getting an appropriate ruling symbol is higher if you are occupying an adjacent one similar in colour or shape when the"
+"symbols change than if you are not."
A=:
4PD(A$)I%=01:&9D84;&8D87;:(16A$2)A$::
P(A$)(20A$2)A$:
Ȣ
89}:~;~ `eq悡er}!5@Iq8qrrp !p JJJ q qiqr
꩑v ?$p08
DrognaDrogna`
Drogna
` H N &$p0
v q$p0 sqs $p v`hthutut ltȢ `7077LRUN DROGNA?
(C)Acornsoft LtdAÐRfH
OGNA\D5
OGNAT=ғaՕFSX ODv+Yސd(G .Oߑ: fs=)OT#jjoХ`Ə'S,'E@*G&noۑSb꿣굠굫굠 꿣굠굫 Drogna Drogna 꿣굠굫굠 꿣굠굫굠 Dſ{lI CKwÏmЍvهŃϋ*CCۉNWj$HE0U2v=.b`t<ҧK>
TJ@
2
=&2B06
23;10,32,0;0;0;
2(256) *FX200,2
J%
dbeep(8):beep(9)
nqlayout:plr=12:start(plr):scor(plr,z):swag(plr,0,0):swag(plr,1,0):prtrul::166,52:18,3,7,42:beep(2)
x#plr=1plr=2:opp=1:plr=1:opp=2
/move(plr,X(plr),Y(plr),pos(plr),swag(plr))
ch<2tB@beep(2):ch=0
scor(plr)>8:win
prttrs(X,Y)
25,4,X;Y;18,3,1,250,25,4,X;Y;18,3,11,251
start(plr)
#plr=1X(1)=672:Y(1)=30:pos(1)=2
%plr=2X(2)=544:Y(2)=990:pos(2)=96
4swag(plr)=0:P=7:X(plr),Y(plr):leg=245:prt(plr)
rule(plr)
&plr=1166,52:3,7:1074,996:3,4
42:ch=ch+1:ch>1
Gplr=12:R%=(25)+4:(R%5=N%?pos(plr)10)(R%5+1=N%?pos(plr)10)
:colrul(plr)=R%5:shprul(plr)=R%5+1:prtrul:R%=():
"
,prtrul
6
0,128
@/plr=124,16;8;88;64;::24,64:0,colrul(1)
J;plr=224,1184;956;1256;1012;::1192,1012:0,colrul(2)
Tshprul(plr)DtI,tHI,D`I,DjI,D~I:26
^
h
jstk
rD%=(0)3:D%=0

H%=(2*plr1)32750
V%=(2*plr):G=0
V%>53750G=87:H%<0G=69
V%<7700G=90:H%<0G=88
G=0G=65:H%<0G=68
K(H%)<25000H%>25000V%<53750V%>7700G=0:D%=(0)3:D%=plrG=83:d~A
;incr:X%=x*2+X:Y%=y*2+Y:Y%=510(X%<0X%>1240)F%=1F%=0
G=0X%=0:Y%=16:F%=0
D%=(0)3:D%=plrd~A G=0
)J=12:crsr:D%=(0)3:D%<>plr I=20
anim:crsr:D%<>plr I=20
G>0
crsr
F%trfl:
&'X%,Y%:E%=X%+36,Y%20):E%<0E%=6
0E%=0E%=7
:3,E%:233
D
N
trfl
Xz=0:X%>1240z=1230
b3,7:z,512:238
l
v
anim
70,2plr,plr1,1:X,Y+32:3,7:234,8:3,plr:255,8
keyb
0J=12:G<=0G=40 &DF:"WEASDZX",G)=0 G=0
anim:
move(plr,X,Y,pos,swag)
+door=0:G=0:X,Y+32:arm=65:swag>0arm=0
23,234,0;20,arm,0,arm,0;
J% jstk:keyb
G>0
incr:G=83
1XX=X+2*x:YY=Y+2*y:YY<0YY>1016beep(3):dFB
(XX<0XX>1240)(YY<100YY>940)out:T`C
WN%?(pos+p)10=colrul(plr)N%?(pos+p)10=shprul(plr)safe:unsaf:rule(plr):ch>1
door=0dFB
*unsaf
4;((M%?(pos+p)>0)(pos+p=pos(opp)))swag>0beep(3):D\C
>step:beep(3):pos=pos+p
Hswag>0drop
Rrvse:step:pos=pos+p
\updt(plr)
f
p
incr
zG=87x=32:y=48:p=9:
G=69x=32:y=48:p=10:
G=68x=64:y=0:p=1:
G=88x=32:y=48:p=9:
G=90x=32:y=48:p=10:
G=65x=64:y=0:p=1:
G=83beep(2):rule(plr):
G=0:
rvse
G=87G=88G=88G=87
G=69G=90G=90G=69
G=68G=65G=65G=68
incr
step
X,Y:P=X+32,Y12):P<=0P=7
;prt(plr):X=X+x:Y=Y12+(y2):X,Y:P=7:leg=254:prt(plr)
$NX,Y:beep(1):I=30:prt(plr):X=X+x:Y=Y+12+y+(y 2):P=X+32,Y12):P<=0P=7
.X,Y:leg=245:prt(plr)
8
B
safe
L3swag>0(M%?(pos+p)>0pos+p=pos(opp))beep(3):
Vpos+p=pos(opp)atak:
`step:pos=pos+p:updt(plr)
j%swag=0M%?pos>0:squt:updt(plr)
t
~
atak
swag(opp)=0unsaf:
updt(plr)
9X=X(opp):Y=Y(opp):swag=swag(opp):pos=pos(opp):plr=opp
drop
YX+x*2<0X+x*2>1200Y+y*2>900Y+y*2<100X,Y:P=X+32,Y12):prt(opp):start(opp):dDD
step:pos=pos+p:updt(opp)
plr=1plr=2plr=1
1X=X(plr):Y=Y(plr):swag=swag(plr):pos=pos(plr)
+step:pos=pos+p:swag=0updt(plr):squt
updt(plr)
prt(plr)
swag>0arm=247arm=246
3,P:leg,8,11
3,plr:244,8
3,7:arm
(swag>0prttrs(X+24,Y+12)
2
<
squt
FJbeep(6):X,Y:prt(plr):leg=254:swag=M%?pos:M%?pos=0:X,Y12:prt(plr)
Phprttrs(X+24,Y28):loot:swag(plr,0,swag):I=20:X,Y12:prt(plr):leg=245:X,Y:prt(plr):rule(plr)
Z
dupdt(plr)
n1X(plr)=X:Y(plr)=Y:swag(plr)=swag:pos(plr)=pos
x
out
door=0
&(YY>420YY<600)door=6:XX<0door=3
((XX>600XX<750)door=5:YY<100door=1
((XX>500XX<600)door=4:YY<100door=2
door=0beep(3):
*door=3door=6x=x2:(G=65G=68)x=x4
3pos+p=pos(opp)(pos+p<>44pos+p<>54)beep(3):
step:plr=1yt=24yt=1004
7plr=1(door=1door=2)plr=2(door=4door=5)dump:
swag=0take:rule(plr)
rvse
*door=3door=6x=x2:(G=65G=68)x=x4
step:updt(plr)
dump
"pos=pos+p:swag=0D^F
,X,Y:prt(plr)
6'dump(plr)=0prttrs(632,yt)C%=C%+1
@Mscor(plr)=scor(plr)+dump(plr):scor(plr,1):dump(plr)=swag:swag=0:beep(5)
JX,Y:prt(plr)
T)swag(plr,0,0):swag(plr,1,dump(plr))
^updt(plr):scor(plr)>8ch=3
hC%=5ch<>3win
r
swag(x,z,v)
y
x=1x=308:y=40:z=1x=776:y=8
#x=2x=868:y=952:z=1x=400:y=987
&0,128:24,x;y;x+96;y+28;::v<=0
#x24,y+32:18,0,7,230+v,230,26
loot
$18,3,7:X40,Y40:230+swag,230
drop
M%?pos=0prttrs(X+24,Y28)
aloot:beep(4):M%?pos=swag:X,Y:prt(plr):swag=0:swag(plr,0,0):24,0;0;8;4;26:X,Y:prt(plr)
take
)I=30:dump(opp)=0(door=3door=6)
X,Y:prt(plr)
&%(door1)=1z=24:s=248z=24:s=252
0"X+z,Y+8:3,7:s,8:3,plr:s+1
:door=3door=6DlG
D beep(8):swag=swag+dump(opp)
Nyt=24yt=1004yt=24
Xdump(opp)>0prttrs(632,yt)
b$dump(opp)=0:swag(opp,1,0):tTG
lT%?door>3beep(3):t^G
v,beep(6):prttrs(xt(door1),yt(T%?door))
"T%?door=T%?door+1:J=M%+door+92
swag=?J:?J=?J*(T%?door)
swag(plr,0,swag)
"X+z,Y+8:3,7:s,8:3,plr:s+1
X,Y:P=7:prt(plr)
I=35
scor(plr,z)
x,y:0,128:0,plr
>plr=124,1016;10;1263;64;::624,50:x=trx(1):y=28:z=z*16
Aplr=224,16;956;256;1014;::376,996:x=trx(2):y=1007:z=z*16
scor(plr)*100:26
Adump(plr)>0x=x+z:x,y:18,3,7,250,8,18,3,13,251:trx(plr)=x+z
beep(snd)
R=(20):*FX15,1
snd=11,1,80+R,2
*%snd=2&101,2,180,8:&102,2,181,8
4snd=31,3,90,1
>snd=41,4,200,4
H#snd=5&101,4,200,4:&102,2,9,8
R(snd=6&102,8,41,15:&103,10,53,15
\6snd=8J=706010:&101,8,J,10:&102,5,J2,10:
f6snd=9J=9010616:&101,8,J,20:&102,5,J1,20:
p
z
wall
18,0,134,16
$18,0,128,24,520;944;752;1023;16
24,0;396;24;600;16
24,1263;396;1279;600;16
24,520;0;752;92;16,26
24,16;76;1263;944;16
layout
pos=197
5col=(5):tcol(col)=tcol(col)+1:tcol(col)>20d^H
5shp=(5):tshp(shp)=tshp(shp)+1:tshp(shp)>20dhH
N%?pos=col*10+shp::16,26:K=96:J=1:pos=7
Y=13596796:X=K1184128
+X,Y:col=N%?pos10:0,col:shp=N%?pos10
"shpDtI,tHI,D`I,DjI,D~I
$J=J+1:pos=pos+1::K=96K=32K=96
$
.)K=01:J=13:prttrs(xt(K),yt(J)):,
8*0,1:292,36:234,235:768,68:237,239
B0,2:848,1012:234,235:392,983:237,239
Lfcolrul(1)=N%?1110:shprul(1)=N%?1110:colrul(2)=N%?8710:shprul(2)=N%?8710:N%?2=N%?11:N%?96=N%?87
V
`224,10,8,225:
j226,10,8,227:
t228,10,8,229:
~240,10,8,241:
242,10,8,243:
init
'23,234,64,170,138,202,46,174,202,0
dX(2),Y(2),colrul(2),shprul(2),tcol(6),tshp(5),swag(2),scor(2),pos(2),yt(3),xt(1),dump(2),trx(2)
Kyt(1)=472:yt(2)=504:yt(3)=536:xt(1)=0:xt(0)=1262:trx(1)=1000:trx(2)=256
Kdoor=1:dump=0:swag=0:leg=245:ch=1:M%=&A61:N%=&A00:T%=&AC2:A%=992:B%=280
J=198:M%?J=0:
!M%?95=1:M%?98=1:T%?3=1:T%?6=1
*FX15
*FX11,0
*FX9,2
*FX10,2
win *FX15
l24,192;304;1088;688;18,0,plr+128,16,18,0,6:352,616:"Game Over":352,520:C%=5ch<>3"Stalemate":TrJ
plr=1"Red ";"Blue";
(" Wins"
2C%=:beep(8):beep(9):
272
,,,,
272
,,,,
TJ@
4
=&4865
C%=0
23;10,32,0;0;0;
(=23,254,60,66,153,161,161,153,66,60,19,0,4;0;17,3:*FX15,1
2 ''''
<buffer%=&50A8
F/$buffer%=" * * * D R O G N A * * *"
P &5000
ZF17,9)"W E"''3)"Use Keys A D to Move"''17)"Z X"
d31,16)"& Key S to Change Symbol / End Turn"
n19,20)"OR"
xr8,23)"Use a pair of joysticks"''" & press Firebutton with stick central"''6)"to Change Symbol / End Turn"
1:12,31)"Press any key"
envelopes
shapedef
G=
23;10,32,0;0;0;
reloc
,
reloc
&4F00
shapedef
" Triangle
,$23,224,0,0,127,127,127,62,62,62
623,225,28,28,28,28,8,8,0,0
@ Square
J'23,226,0,0,126,126,126,126,126,126
T%23,227,126,126,126,126,126,0,0,0
^ Circle
h$23,228,0,0,24,60,60,126,126,126
r$23,229,126,126,126,60,60,24,0,0
 Pentagon
!23,240,0,8,8,28,28,62,62,127
"23,241,127,127,62,62,62,0,0,0
Moon
"23,242,0,0,120,60,28,30,30,30
"23,243,30,62,252,124,56,0,0,0
Man
!23,244,12,14,0,0,62,28,28,20
!23,245,28,20,20,20,20,22,8,0
23,246,0,0,12,9,0,64,0,8
no arms
23,247,0,0,12,8,0,34,34,8
Bend left
23,248,0,34,2,2,2,2,2,38
#23,249,92,220,92,28,16,16,16,0
Bend right
#23,252,0,68,64,64,64,64,64,100
&23,253,58,59,58,56,8,8,8,0
0 kneesbend
:"23,254,28,62,65,99,20,34,0,0
D Rings
N!23,250,64,160,160,64,0,0,0,0
X23,251,0,64,64,0,0,0,0,0
b Alternating hat
l23,255,20,54,0;0;0;
v Dump numbers
!23,230,0;0,68,170,170,170,68
23,231,0;0,2,6,2,2,2
23,232,0;0,12,2,4,8,14
23,236,0;0,6,8,12,10,6
cursor
23,233,0,0,0,0,0,0,20,20
23,238,16,0,0;0;16,0
Swag & Dump
J 23,234,64,170,138,202,46,174,202,0,23,235,0,70,169,232,171,169,166,0
K 23,237,0,202,170,170,170,170,196,0,23,239,0,172,234,234,172,168,168,0
envelopes
Move
'1,2,1,0,0,100,0,0,127,0,0,20,80,0
Symbol
*&2,1,0,0,0,6,4,3,50,50,0,2,70,50
4
> Unsafe
H+3,2,7,3,3,10,10,0,127,0,0,7,60,100
R
\ Drop trs
f)4,1,0,0,0,6,3,3,127,5,5,5,120,100
p
z
,,,,cOdO@ObO xOLLaObOeObOcOdOaO`PAGE=&E00
OLD
RUN
BASIC
tuP
`sPHsP
t sP L.PݠVP
hЪString too long.E~````~cQdQ@QbQ yQLLaQbQeQbQcQdQaQ`PAGE=&4000
OLD
RUN
BASIC
pqrsprpqrsq\pLQ Ȣ ʆp\]ppL\qppq$qPlL\