90
cx(5),cy(5),r(5),lc(5)
DIM
100
np(5)
DIM
110
DIM
px%(5,81),py%(5,81)
120 st=1:cx(1)=320:cy(1)=200:r(1)=80
130
FOR
st=1
TO
4
140 r(st+1)=r(st)/2
150
NEXT st
160
FOR
st=1
TO
5
170 lc(st)=0:np(st)=0
180 np(st)=np(st)+1
190
px%(st,np(st))=r(st)*SIN(lc(st))
200
py%(st,np(st))=r(st)*COS(lc(st))
210
lc(st)=lc(st)+360/r(st)
220
IF
lc(st)<360
THEN
230
px%(st,np(st)+1)=px%(st,1)
240
py%(st,np(st)+1)=py%(st,1)
250
NEXT st
260
CLS:cj=REMAIN(1):cj=REMAIN(2)
270
cj=REMAIN(3):INK
280
GOSUB
350
290
LOCATE
1,1
300
EVERY
25,1
GOSUB
310
EVERY
15,2
GOSUB
320
EVERY
5,3
GOSUB
330
ERASE cx,cy,r,lc,np,px%,py%:NEXT
340
GOTO
340
350 cx%=cx(st):cy%=cy(st):lc(st)=0
360
FOR
x%=1
TO
np(st)
370
MOVE
cx%,cy%
380
DRAW cx%+px%(st,x%),cy%+py%(st,x%),1+(st
390
DRAW cx%+px%(st,x%+1),cy%+py%(st,x%+1),1+(st
400
NEXT
x%
410
IF
st=5
THEN RETURN
420 lc(st)=0
430
cx(st+1)=cx(st)+1.5*r(st)*SIN(sa+lc(st))
440
cy(st+1)=cy(st)+1.5*r(st)*COS(sa+lc(st))
450 st=st+1
460
GOSUB
350
470 st=st-1
480
lc(st)=lc(st)+2*sa
490
IF
(lc(st)
MOD
500
RETURN
510 ik(1)=1+RND*25
520
IF
ik(1)=ik(2)
530
INK
1,ik(1)
540
RETURN
550 ik(2)=1+RND*25
560
IF
ik(2)=ik(1)
570
INK
2,ik(2)
580
RETURN
590 ik(3)=1+RND*25
600
IF
ik(3)=ik(1)
610
INK
3,ik(3)
620
RETURN
Manual de Amstrad CPC 6128 (revisión 2008) - Página 77
180
1,2:st=1
510
550
590
360)<>0
THEN
430
OR
ik(1)=ik(3)
THEN
OR
ik(2)=ik(3)
THEN
OR
ik(3)=ik(2)
THEN
MOD
3)
MOD
3)
510
550
590