Home » Archimedes archive » Acorn User » AU 1997-03 B.adf » Regulars » StarInfo/Writhe/Writhe

StarInfo/Writhe/Writhe

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 1997-03 B.adf » Regulars
Filename: StarInfo/Writhe/Writhe
Read OK:
File size: 02C3 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >Writhe by dL
   20MODE 31:OFF:ORIGIN 800,600
   30m=20
   40DIM x(m),y(m),a(m),d(m),l(m),e(m)
   50FOR w=0 TO m-1
   60 x(w)=0
   70 y(w)=0
   80 a(w)=RND(1)*360
   90NEXT
  100DIM g(14)
  110FOR i=0 TO 5
  120g(i)=(i*3)*17
  130g(10-i)=(i*3)*17
  140NEXT
  150c=0
  160t=0
  170PROCcycle
  180REPEAT
  190 GCOL (t MOD 15)+1
  200 t+=1
  210 FOR w=0 TO m-1
  220  IF l(w)=0 THEN
  230   l(w)=RND(15)+12
  240   d(w)=(RND(1)*180-90)
  250   e(w)=l(w)
  260  ENDIF
  270  x(w)+=SINRAD(a(w))*2
  280  y(w)+=COSRAD(a(w))*2
  281  IF x(w) < -850 x(w)+=1700
  282  IF x(w) > 850 x(w)-=1700
  283  IF y(w) < -650 y(w)+=1300
  284  IF y(w) > 650 y(w)-=1300
  310  CIRCLE FILL x(w),y(w),16*SINRAD(t)
  320  a(w)+=d(w)/e(w)
  330  l(w)-=1
  340 NEXT
  350 PROCcycle
  360UNTIL 0
  370
  380DEF PROCcycle
  390WAIT
  400FOR j=0 TO 14
  410COLOUR (c+j)MOD15+1,g(j),g(j),g(j)
  420NEXT
  430c=(c+1)MOD15
  440ENDPROC

� >Writhe by dL
� 31:�:ȑ 800,600
m=20
(#� x(m),y(m),a(m),d(m),l(m),e(m)
2� w=0 � m-1
< x(w)=0
F y(w)=0
P a(w)=�(1)*360
Z�
d� g(14)
n
� i=0 � 5
xg(i)=(i*3)*17
�g(10-i)=(i*3)*17
��
�c=0
�t=0
�
�cycle
��
� � (t � 15)+1
�	 t+=1
� � w=0 � m-1
�  � l(w)=0 �
�   l(w)=�(15)+12
�   d(w)=(�(1)*180-90)
�   e(w)=l(w)
  �
  x(w)+=��(a(w))*2
  y(w)+=��(a(w))*2
  � x(w) < -850 x(w)+=1700
  � x(w) > 850 x(w)-=1700
  � y(w) < -650 y(w)+=1300
  � y(w) > 650 y(w)-=1300
6  ȏ Ȑ x(w),y(w),16*��(t)
@  a(w)+=d(w)/e(w)
J
  l(w)-=1
T �
^ �cycle
h� 0
r
|� �cycle
�Ȗ
�� j=0 � 14
�� (c+j)�15+1,g(j),g(j),g(j)
��
�c=(c+1)�15
��
�
00000000  0d 00 0a 13 f4 20 3e 57  72 69 74 68 65 20 62 79  |..... >Writhe by|
00000010  20 64 4c 0d 00 14 15 eb  20 33 31 3a 87 3a c8 91  | dL..... 31:.:..|
00000020  20 38 30 30 2c 36 30 30  0d 00 1e 08 6d 3d 32 30  | 800,600....m=20|
00000030  0d 00 28 23 de 20 78 28  6d 29 2c 79 28 6d 29 2c  |..(#. x(m),y(m),|
00000040  61 28 6d 29 2c 64 28 6d  29 2c 6c 28 6d 29 2c 65  |a(m),d(m),l(m),e|
00000050  28 6d 29 0d 00 32 0f e3  20 77 3d 30 20 b8 20 6d  |(m)..2.. w=0 . m|
00000060  2d 31 0d 00 3c 0b 20 78  28 77 29 3d 30 0d 00 46  |-1..<. x(w)=0..F|
00000070  0b 20 79 28 77 29 3d 30  0d 00 50 12 20 61 28 77  |. y(w)=0..P. a(w|
00000080  29 3d b3 28 31 29 2a 33  36 30 0d 00 5a 05 ed 0d  |)=.(1)*360..Z...|
00000090  00 64 0b de 20 67 28 31  34 29 0d 00 6e 0d e3 20  |.d.. g(14)..n.. |
000000a0  69 3d 30 20 b8 20 35 0d  00 78 11 67 28 69 29 3d  |i=0 . 5..x.g(i)=|
000000b0  28 69 2a 33 29 2a 31 37  0d 00 82 14 67 28 31 30  |(i*3)*17....g(10|
000000c0  2d 69 29 3d 28 69 2a 33  29 2a 31 37 0d 00 8c 05  |-i)=(i*3)*17....|
000000d0  ed 0d 00 96 07 63 3d 30  0d 00 a0 07 74 3d 30 0d  |.....c=0....t=0.|
000000e0  00 aa 0a f2 63 79 63 6c  65 0d 00 b4 05 f5 0d 00  |....cycle.......|
000000f0  be 11 20 e6 20 28 74 20  83 20 31 35 29 2b 31 0d  |.. . (t . 15)+1.|
00000100  00 c8 09 20 74 2b 3d 31  0d 00 d2 10 20 e3 20 77  |... t+=1.... . w|
00000110  3d 30 20 b8 20 6d 2d 31  0d 00 dc 10 20 20 e7 20  |=0 . m-1....  . |
00000120  6c 28 77 29 3d 30 20 8c  0d 00 e6 14 20 20 20 6c  |l(w)=0 .....   l|
00000130  28 77 29 3d b3 28 31 35  29 2b 31 32 0d 00 f0 19  |(w)=.(15)+12....|
00000140  20 20 20 64 28 77 29 3d  28 b3 28 31 29 2a 31 38  |   d(w)=(.(1)*18|
00000150  30 2d 39 30 29 0d 00 fa  10 20 20 20 65 28 77 29  |0-90)....   e(w)|
00000160  3d 6c 28 77 29 0d 01 04  07 20 20 cd 0d 01 0e 16  |=l(w)....  .....|
00000170  20 20 78 28 77 29 2b 3d  b5 b2 28 61 28 77 29 29  |  x(w)+=..(a(w))|
00000180  2a 32 0d 01 18 16 20 20  79 28 77 29 2b 3d 9b b2  |*2....  y(w)+=..|
00000190  28 61 28 77 29 29 2a 32  0d 01 19 1e 20 20 e7 20  |(a(w))*2....  . |
000001a0  78 28 77 29 20 3c 20 2d  38 35 30 20 78 28 77 29  |x(w) < -850 x(w)|
000001b0  2b 3d 31 37 30 30 0d 01  1a 1d 20 20 e7 20 78 28  |+=1700....  . x(|
000001c0  77 29 20 3e 20 38 35 30  20 78 28 77 29 2d 3d 31  |w) > 850 x(w)-=1|
000001d0  37 30 30 0d 01 1b 1e 20  20 e7 20 79 28 77 29 20  |700....  . y(w) |
000001e0  3c 20 2d 36 35 30 20 79  28 77 29 2b 3d 31 33 30  |< -650 y(w)+=130|
000001f0  30 0d 01 1c 1d 20 20 e7  20 79 28 77 29 20 3e 20  |0....  . y(w) > |
00000200  36 35 30 20 79 28 77 29  2d 3d 31 33 30 30 0d 01  |650 y(w)-=1300..|
00000210  36 1e 20 20 c8 8f 20 c8  90 20 78 28 77 29 2c 79  |6.  .. .. x(w),y|
00000220  28 77 29 2c 31 36 2a b5  b2 28 74 29 0d 01 40 15  |(w),16*..(t)..@.|
00000230  20 20 61 28 77 29 2b 3d  64 28 77 29 2f 65 28 77  |  a(w)+=d(w)/e(w|
00000240  29 0d 01 4a 0d 20 20 6c  28 77 29 2d 3d 31 0d 01  |)..J.  l(w)-=1..|
00000250  54 06 20 ed 0d 01 5e 0b  20 f2 63 79 63 6c 65 0d  |T. ...^. .cycle.|
00000260  01 68 07 fd 20 30 0d 01  72 04 0d 01 7c 0c dd 20  |.h.. 0..r...|.. |
00000270  f2 63 79 63 6c 65 0d 01  86 06 c8 96 0d 01 90 0e  |.cycle..........|
00000280  e3 20 6a 3d 30 20 b8 20  31 34 0d 01 9a 1f fb 20  |. j=0 . 14..... |
00000290  28 63 2b 6a 29 83 31 35  2b 31 2c 67 28 6a 29 2c  |(c+j).15+1,g(j),|
000002a0  67 28 6a 29 2c 67 28 6a  29 0d 01 a4 05 ed 0d 01  |g(j),g(j).......|
000002b0  ae 0e 63 3d 28 63 2b 31  29 83 31 35 0d 01 b8 05  |..c=(c+1).15....|
000002c0  e1 0d ff                                          |...|
000002c3