Home » Archimedes archive » Acorn User » AU 1994-05.adf » !StarInfo_StarInfo » Vibe/StarFish

Vibe/StarFish

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1994-05.adf » !StarInfo_StarInfo
Filename: Vibe/StarFish
Read OK:
File size: 0511 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM     >StarFish
   20REM By  Jan Vibe
   30REM (c) AU May 1994
   40
   50MODE12:OFF
   60DIM X(200,15),Y(200,15),A%(200,15),B%(200,15):X()=-200
   70FORN%=1TO15:COLOUR N%,8*N%+127,16*N%,16*N%:NEXT
   80FORY%=0TO255STEP4:FORX%=0TO255STEP2:GCOLRND(15):POINTX%,Y%:NEXT,
   90FORY%=0TO1023STEP128:FORX%=0TO1279STEP128
  100IF X%>=255ORY%>=255THEN
  110A%=RND(127):B%=RND(127):MOVEA%,B%:MOVEA%+127,B%+127:PLOT&BE,X%,Y%
  120ENDIF
  130NEXT,
  140P1%=0:P2%=1:C1%=6:R=50:S=3
  150FORN%=1TO6
  160X(N%,P1%)=640:Y(N%,P1%)=512:A%(N%,P1%)=60*N%:B%(N%,P1%)=RND(12)+3
  170NEXT
  180REPEAT
  190P2%=P1%:P1%=(P1%+1)MOD16:C2%=C1%:C1%=0:F=R/16
  200FORN%=1TOC2%
  210FORM%=1TO15:K%=(P2%+15-M%)MOD15+1
  220GCOLM%:CIRCLE FILL X(N%,K%),Y(N%,K%),R-F*M%
  230NEXT,
  240FORN%=1TOC2%
  250IF B%(N%,P2%)>0 THEN
  260C1%+=1:A%(C1%,P1%)=(A%(N%,P2%)+(RND(1)-.5)*(55-R)):T=RAD(A%(C1%,P1%))
  270X(C1%,P1%)=X(N%,P2%)+(R*SINT)/S:Y(C1%,P1%)=Y(N%,P2%)+(R*COST)/S
  280B%(C1%,P1%)=B%(N%,P2%)-1
  290ELSE
  300C1%+=1:A%(C1%,P1%)=(A%(N%,P2%)-RND(20)-20):T=RAD(A%(C1%,P1%))
  310X(C1%,P1%)=X(N%,P2%)+(R*SINT)/S:Y(C1%,P1%)=Y(N%,P2%)+(R*COST)/S
  320B%(C1%,P1%)=RND(12)+3
  330C1%+=1:A%(C1%,P1%)=(A%(N%,P2%)+RND(20)+20):T=RAD(A%(C1%,P1%))
  340X(C1%,P1%)=X(N%,P2%)+(R*SINT)/S:Y(C1%,P1%)=Y(N%,P2%)+(R*COST)/S
  350B%(C1%,P1%)=RND(12)+3
  360ENDIF
  370NEXT
  380R-=.85
  390UNTILR<=8
  400FORI%=1TO16
  410P2%=P1%:P1%=(P1%+1)MOD16:C2%=C1%:C1%=0:F=R/16
  420FORN%=1TOC2%
  430FORM%=1TO15:K%=(P2%+15-M%)MOD15+1
  440GCOLM%:CIRCLE FILL X(N%,K%),Y(N%,K%),R-F*M%
  450NEXT,
  460FORN%=1TOC2%:C1%+=1:X(N%,P1%)=-200:NEXT,

�     >StarFish
� By  Jan Vibe
� (c) AU May 1994
(
2	�12:�
<8� X(200,15),Y(200,15),A%(200,15),B%(200,15):X()=-200
F(�N%=1�15:� N%,8*N%+127,16*N%,16*N%:�
P-�Y%=0�255�4:�X%=0�255�2:�(15):ȒX%,Y%:�,
Z!�Y%=0�1023�128:�X%=0�1279�128
d� X%>=255�Y%>=255�
n8A%=�(127):B%=�(127):�A%,B%:�A%+127,B%+127:�&BE,X%,Y%
x�
��,
�P1%=0:P2%=1:C1%=6:R=50:S=3
��N%=1�6
�CX(N%,P1%)=640:Y(N%,P1%)=512:A%(N%,P1%)=60*N%:B%(N%,P1%)=�(12)+3
��
��
�/P2%=P1%:P1%=(P1%+1)�16:C2%=C1%:C1%=0:F=R/16
�
�N%=1�C2%
� �M%=1�15:K%=(P2%+15-M%)�15+1
�&�M%:ȏ Ȑ X(N%,K%),Y(N%,K%),R-F*M%
��,
�
�N%=1�C2%
�� B%(N%,P2%)>0 �
EC1%+=1:A%(C1%,P1%)=(A%(N%,P2%)+(�(1)-.5)*(55-R)):T=�(A%(C1%,P1%))
?X(C1%,P1%)=X(N%,P2%)+(R*�T)/S:Y(C1%,P1%)=Y(N%,P2%)+(R*�T)/S
B%(C1%,P1%)=B%(N%,P2%)-1
"�
,=C1%+=1:A%(C1%,P1%)=(A%(N%,P2%)-�(20)-20):T=�(A%(C1%,P1%))
6?X(C1%,P1%)=X(N%,P2%)+(R*�T)/S:Y(C1%,P1%)=Y(N%,P2%)+(R*�T)/S
@B%(C1%,P1%)=�(12)+3
J=C1%+=1:A%(C1%,P1%)=(A%(N%,P2%)+�(20)+20):T=�(A%(C1%,P1%))
T?X(C1%,P1%)=X(N%,P2%)+(R*�T)/S:Y(C1%,P1%)=Y(N%,P2%)+(R*�T)/S
^B%(C1%,P1%)=�(12)+3
h�
r�
|
R-=.85
�	�R<=8
��I%=1�16
�/P2%=P1%:P1%=(P1%+1)�16:C2%=C1%:C1%=0:F=R/16
�
�N%=1�C2%
� �M%=1�15:K%=(P2%+15-M%)�15+1
�&�M%:ȏ Ȑ X(N%,K%),Y(N%,K%),R-F*M%
��,
�&�N%=1�C2%:C1%+=1:X(N%,P1%)=-200:�,
�
00000000  0d 00 0a 13 f4 20 20 20  20 20 3e 53 74 61 72 46  |.....     >StarF|
00000010  69 73 68 0d 00 14 12 f4  20 42 79 20 20 4a 61 6e  |ish..... By  Jan|
00000020  20 56 69 62 65 0d 00 1e  15 f4 20 28 63 29 20 41  | Vibe..... (c) A|
00000030  55 20 4d 61 79 20 31 39  39 34 0d 00 28 04 0d 00  |U May 1994..(...|
00000040  32 09 eb 31 32 3a 87 0d  00 3c 38 de 20 58 28 32  |2..12:...<8. X(2|
00000050  30 30 2c 31 35 29 2c 59  28 32 30 30 2c 31 35 29  |00,15),Y(200,15)|
00000060  2c 41 25 28 32 30 30 2c  31 35 29 2c 42 25 28 32  |,A%(200,15),B%(2|
00000070  30 30 2c 31 35 29 3a 58  28 29 3d 2d 32 30 30 0d  |00,15):X()=-200.|
00000080  00 46 28 e3 4e 25 3d 31  b8 31 35 3a fb 20 4e 25  |.F(.N%=1.15:. N%|
00000090  2c 38 2a 4e 25 2b 31 32  37 2c 31 36 2a 4e 25 2c  |,8*N%+127,16*N%,|
000000a0  31 36 2a 4e 25 3a ed 0d  00 50 2d e3 59 25 3d 30  |16*N%:...P-.Y%=0|
000000b0  b8 32 35 35 88 34 3a e3  58 25 3d 30 b8 32 35 35  |.255.4:.X%=0.255|
000000c0  88 32 3a e6 b3 28 31 35  29 3a c8 92 58 25 2c 59  |.2:..(15):..X%,Y|
000000d0  25 3a ed 2c 0d 00 5a 21  e3 59 25 3d 30 b8 31 30  |%:.,..Z!.Y%=0.10|
000000e0  32 33 88 31 32 38 3a e3  58 25 3d 30 b8 31 32 37  |23.128:.X%=0.127|
000000f0  39 88 31 32 38 0d 00 64  16 e7 20 58 25 3e 3d 32  |9.128..d.. X%>=2|
00000100  35 35 84 59 25 3e 3d 32  35 35 8c 0d 00 6e 38 41  |55.Y%>=255...n8A|
00000110  25 3d b3 28 31 32 37 29  3a 42 25 3d b3 28 31 32  |%=.(127):B%=.(12|
00000120  37 29 3a ec 41 25 2c 42  25 3a ec 41 25 2b 31 32  |7):.A%,B%:.A%+12|
00000130  37 2c 42 25 2b 31 32 37  3a f0 26 42 45 2c 58 25  |7,B%+127:.&BE,X%|
00000140  2c 59 25 0d 00 78 05 cd  0d 00 82 06 ed 2c 0d 00  |,Y%..x.......,..|
00000150  8c 1e 50 31 25 3d 30 3a  50 32 25 3d 31 3a 43 31  |..P1%=0:P2%=1:C1|
00000160  25 3d 36 3a 52 3d 35 30  3a 53 3d 33 0d 00 96 0b  |%=6:R=50:S=3....|
00000170  e3 4e 25 3d 31 b8 36 0d  00 a0 43 58 28 4e 25 2c  |.N%=1.6...CX(N%,|
00000180  50 31 25 29 3d 36 34 30  3a 59 28 4e 25 2c 50 31  |P1%)=640:Y(N%,P1|
00000190  25 29 3d 35 31 32 3a 41  25 28 4e 25 2c 50 31 25  |%)=512:A%(N%,P1%|
000001a0  29 3d 36 30 2a 4e 25 3a  42 25 28 4e 25 2c 50 31  |)=60*N%:B%(N%,P1|
000001b0  25 29 3d b3 28 31 32 29  2b 33 0d 00 aa 05 ed 0d  |%)=.(12)+3......|
000001c0  00 b4 05 f5 0d 00 be 2f  50 32 25 3d 50 31 25 3a  |......./P2%=P1%:|
000001d0  50 31 25 3d 28 50 31 25  2b 31 29 83 31 36 3a 43  |P1%=(P1%+1).16:C|
000001e0  32 25 3d 43 31 25 3a 43  31 25 3d 30 3a 46 3d 52  |2%=C1%:C1%=0:F=R|
000001f0  2f 31 36 0d 00 c8 0d e3  4e 25 3d 31 b8 43 32 25  |/16.....N%=1.C2%|
00000200  0d 00 d2 20 e3 4d 25 3d  31 b8 31 35 3a 4b 25 3d  |... .M%=1.15:K%=|
00000210  28 50 32 25 2b 31 35 2d  4d 25 29 83 31 35 2b 31  |(P2%+15-M%).15+1|
00000220  0d 00 dc 26 e6 4d 25 3a  c8 8f 20 c8 90 20 58 28  |...&.M%:.. .. X(|
00000230  4e 25 2c 4b 25 29 2c 59  28 4e 25 2c 4b 25 29 2c  |N%,K%),Y(N%,K%),|
00000240  52 2d 46 2a 4d 25 0d 00  e6 06 ed 2c 0d 00 f0 0d  |R-F*M%.....,....|
00000250  e3 4e 25 3d 31 b8 43 32  25 0d 00 fa 14 e7 20 42  |.N%=1.C2%..... B|
00000260  25 28 4e 25 2c 50 32 25  29 3e 30 20 8c 0d 01 04  |%(N%,P2%)>0 ....|
00000270  45 43 31 25 2b 3d 31 3a  41 25 28 43 31 25 2c 50  |EC1%+=1:A%(C1%,P|
00000280  31 25 29 3d 28 41 25 28  4e 25 2c 50 32 25 29 2b  |1%)=(A%(N%,P2%)+|
00000290  28 b3 28 31 29 2d 2e 35  29 2a 28 35 35 2d 52 29  |(.(1)-.5)*(55-R)|
000002a0  29 3a 54 3d b2 28 41 25  28 43 31 25 2c 50 31 25  |):T=.(A%(C1%,P1%|
000002b0  29 29 0d 01 0e 3f 58 28  43 31 25 2c 50 31 25 29  |))...?X(C1%,P1%)|
000002c0  3d 58 28 4e 25 2c 50 32  25 29 2b 28 52 2a b5 54  |=X(N%,P2%)+(R*.T|
000002d0  29 2f 53 3a 59 28 43 31  25 2c 50 31 25 29 3d 59  |)/S:Y(C1%,P1%)=Y|
000002e0  28 4e 25 2c 50 32 25 29  2b 28 52 2a 9b 54 29 2f  |(N%,P2%)+(R*.T)/|
000002f0  53 0d 01 18 1c 42 25 28  43 31 25 2c 50 31 25 29  |S....B%(C1%,P1%)|
00000300  3d 42 25 28 4e 25 2c 50  32 25 29 2d 31 0d 01 22  |=B%(N%,P2%)-1.."|
00000310  05 cc 0d 01 2c 3d 43 31  25 2b 3d 31 3a 41 25 28  |....,=C1%+=1:A%(|
00000320  43 31 25 2c 50 31 25 29  3d 28 41 25 28 4e 25 2c  |C1%,P1%)=(A%(N%,|
00000330  50 32 25 29 2d b3 28 32  30 29 2d 32 30 29 3a 54  |P2%)-.(20)-20):T|
00000340  3d b2 28 41 25 28 43 31  25 2c 50 31 25 29 29 0d  |=.(A%(C1%,P1%)).|
00000350  01 36 3f 58 28 43 31 25  2c 50 31 25 29 3d 58 28  |.6?X(C1%,P1%)=X(|
00000360  4e 25 2c 50 32 25 29 2b  28 52 2a b5 54 29 2f 53  |N%,P2%)+(R*.T)/S|
00000370  3a 59 28 43 31 25 2c 50  31 25 29 3d 59 28 4e 25  |:Y(C1%,P1%)=Y(N%|
00000380  2c 50 32 25 29 2b 28 52  2a 9b 54 29 2f 53 0d 01  |,P2%)+(R*.T)/S..|
00000390  40 17 42 25 28 43 31 25  2c 50 31 25 29 3d b3 28  |@.B%(C1%,P1%)=.(|
000003a0  31 32 29 2b 33 0d 01 4a  3d 43 31 25 2b 3d 31 3a  |12)+3..J=C1%+=1:|
000003b0  41 25 28 43 31 25 2c 50  31 25 29 3d 28 41 25 28  |A%(C1%,P1%)=(A%(|
000003c0  4e 25 2c 50 32 25 29 2b  b3 28 32 30 29 2b 32 30  |N%,P2%)+.(20)+20|
000003d0  29 3a 54 3d b2 28 41 25  28 43 31 25 2c 50 31 25  |):T=.(A%(C1%,P1%|
000003e0  29 29 0d 01 54 3f 58 28  43 31 25 2c 50 31 25 29  |))..T?X(C1%,P1%)|
000003f0  3d 58 28 4e 25 2c 50 32  25 29 2b 28 52 2a b5 54  |=X(N%,P2%)+(R*.T|
00000400  29 2f 53 3a 59 28 43 31  25 2c 50 31 25 29 3d 59  |)/S:Y(C1%,P1%)=Y|
00000410  28 4e 25 2c 50 32 25 29  2b 28 52 2a 9b 54 29 2f  |(N%,P2%)+(R*.T)/|
00000420  53 0d 01 5e 17 42 25 28  43 31 25 2c 50 31 25 29  |S..^.B%(C1%,P1%)|
00000430  3d b3 28 31 32 29 2b 33  0d 01 68 05 cd 0d 01 72  |=.(12)+3..h....r|
00000440  05 ed 0d 01 7c 0a 52 2d  3d 2e 38 35 0d 01 86 09  |....|.R-=.85....|
00000450  fd 52 3c 3d 38 0d 01 90  0c e3 49 25 3d 31 b8 31  |.R<=8.....I%=1.1|
00000460  36 0d 01 9a 2f 50 32 25  3d 50 31 25 3a 50 31 25  |6.../P2%=P1%:P1%|
00000470  3d 28 50 31 25 2b 31 29  83 31 36 3a 43 32 25 3d  |=(P1%+1).16:C2%=|
00000480  43 31 25 3a 43 31 25 3d  30 3a 46 3d 52 2f 31 36  |C1%:C1%=0:F=R/16|
00000490  0d 01 a4 0d e3 4e 25 3d  31 b8 43 32 25 0d 01 ae  |.....N%=1.C2%...|
000004a0  20 e3 4d 25 3d 31 b8 31  35 3a 4b 25 3d 28 50 32  | .M%=1.15:K%=(P2|
000004b0  25 2b 31 35 2d 4d 25 29  83 31 35 2b 31 0d 01 b8  |%+15-M%).15+1...|
000004c0  26 e6 4d 25 3a c8 8f 20  c8 90 20 58 28 4e 25 2c  |&.M%:.. .. X(N%,|
000004d0  4b 25 29 2c 59 28 4e 25  2c 4b 25 29 2c 52 2d 46  |K%),Y(N%,K%),R-F|
000004e0  2a 4d 25 0d 01 c2 06 ed  2c 0d 01 cc 26 e3 4e 25  |*M%.....,...&.N%|
000004f0  3d 31 b8 43 32 25 3a 43  31 25 2b 3d 31 3a 58 28  |=1.C2%:C1%+=1:X(|
00000500  4e 25 2c 50 31 25 29 3d  2d 32 30 30 3a ed 2c 0d  |N%,P1%)=-200:.,.|
00000510  ff                                                |.|
00000511