Home » Archimedes archive » Acorn User » AU 1996-Xmas.adf » Regulars » StarInfo/Stoner/JellySnake

StarInfo/Stoner/JellySnake

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 1996-Xmas.adf » Regulars
Filename: StarInfo/Stoner/JellySnake
Read OK:
File size: 03A9 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >JellySnake
   20REM Originally called Nematode3
   30REM By D.Northcott 06/09/95
   40REM Modified by Nigel Stoner
   50om=MODE
   60SYS "OS_SWINumberFromString",,"ColourTrans_SetGCOL" TO C%
   70MODE122:xx=800:yy=600:IF MODE<>122 THEN MODE 21:xx=640:yy=512
   80OFF
   90m%=31:v%=4:s=50
  100DIM x(s-1),y(s-1)
  110REPEAT
  120x=RND(1280)
  130y=RND(1024)
  140a=RND(1)*360
  150 x()=x
  160 y()=y
  170 n=0
  180 r2=RND(255)
  190 g2=RND(255)
  200 b2=RND(255)
  210 r1=RND(255)
  220 g1=RND(255)
  230 b1=RND(255)
  240 IF r2>r1 SWAP r2,r1
  250 IF g2>g1 SWAP g2,g1
  260 IF b2>b1 SWAP b2,b1
  270 t=RND(150)+50
  280REPEAT
  290d=RND(1)*720-360:l=RND(10)+2:FOR i=0 TO l-1
  300IF t>31 THEN x+=SIN RAD(a)*16:y+=COS RAD(a)*16:a+=d/l
  310a=a+(180 AND (x>1280 OR x<0 OR y>1024 OR y<0))
  320x(n)=x:y(n)=y:k=n
  330r3=r2-r1:g3=g2-g1:b3=b2-b1
  340FOR r=m% TO 0 STEP -v%:d1=r/m%
  350SYS C%,(((r1+r3*d1)<<8)+((g1+g3*d1)<<16)+((b1+b3*d1)<<24)),,,&100
  360IF t>m% OR (t<32 AND t>r) THEN CIRCLE FILL x(k),y(k)-r,r
  370k-=v%:IF k<0 k+=s
  380NEXT
  390n=(n+1) MOD s:t-=1:NEXT
  400UNTIL t<0
  410UNTIL 0
  420DEF FNmin(a,b)
  430IF a<b =a ELSE =b
  440

� >JellySnake
!� Originally called Nematode3
� By D.Northcott 06/09/95
(� Modified by Nigel Stoner
2om=�
<;ș "OS_SWINumberFromString",,"ColourTrans_SetGCOL" � C%
F4�122:xx=800:yy=600:� �<>122 � � 21:xx=640:yy=512
P�
Zm%=31:v%=4:s=50
d� x(s-1),y(s-1)
n�
x
x=�(1280)
�
y=�(1024)
�a=�(1)*360
�
 x()=x
�
 y()=y
� n=0
� r2=�(255)
� g2=�(255)
� b2=�(255)
� r1=�(255)
� g1=�(255)
� b1=�(255)
� � r2>r1 Ȕ r2,r1
� � g2>g1 Ȕ g2,g1
 � b2>b1 Ȕ b2,b1
 t=�(150)+50
�
"(d=�(1)*720-360:l=�(10)+2:� i=0 � l-1
,-� t>31 � x+=� �(a)*16:y+=� �(a)*16:a+=d/l
6-a=a+(180 � (x>1280 � x<0 � y>1024 � y<0))
@x(n)=x:y(n)=y:k=n
Jr3=r2-r1:g3=g2-g1:b3=b2-b1
T� r=m% � 0 � -v%:d1=r/m%
^Dș C%,(((r1+r3*d1)<<8)+((g1+g3*d1)<<16)+((b1+b3*d1)<<24)),,,&100
h/� t>m% � (t<32 � t>r) � ȏ Ȑ x(k),y(k)-r,r
rk-=v%:� k<0 k+=s
|�
�n=(n+1) � s:t-=1:�
�	� t<0
�� 0
�� �min(a,b)
�� a<b =a � =b
�
�
00000000  0d 00 0a 11 f4 20 3e 4a  65 6c 6c 79 53 6e 61 6b  |..... >JellySnak|
00000010  65 0d 00 14 21 f4 20 4f  72 69 67 69 6e 61 6c 6c  |e...!. Originall|
00000020  79 20 63 61 6c 6c 65 64  20 4e 65 6d 61 74 6f 64  |y called Nematod|
00000030  65 33 0d 00 1e 1d f4 20  42 79 20 44 2e 4e 6f 72  |e3..... By D.Nor|
00000040  74 68 63 6f 74 74 20 30  36 2f 30 39 2f 39 35 0d  |thcott 06/09/95.|
00000050  00 28 1e f4 20 4d 6f 64  69 66 69 65 64 20 62 79  |.(.. Modified by|
00000060  20 4e 69 67 65 6c 20 53  74 6f 6e 65 72 0d 00 32  | Nigel Stoner..2|
00000070  08 6f 6d 3d eb 0d 00 3c  3b c8 99 20 22 4f 53 5f  |.om=...<;.. "OS_|
00000080  53 57 49 4e 75 6d 62 65  72 46 72 6f 6d 53 74 72  |SWINumberFromStr|
00000090  69 6e 67 22 2c 2c 22 43  6f 6c 6f 75 72 54 72 61  |ing",,"ColourTra|
000000a0  6e 73 5f 53 65 74 47 43  4f 4c 22 20 b8 20 43 25  |ns_SetGCOL" . C%|
000000b0  0d 00 46 34 eb 31 32 32  3a 78 78 3d 38 30 30 3a  |..F4.122:xx=800:|
000000c0  79 79 3d 36 30 30 3a e7  20 eb 3c 3e 31 32 32 20  |yy=600:. .<>122 |
000000d0  8c 20 eb 20 32 31 3a 78  78 3d 36 34 30 3a 79 79  |. . 21:xx=640:yy|
000000e0  3d 35 31 32 0d 00 50 05  87 0d 00 5a 13 6d 25 3d  |=512..P....Z.m%=|
000000f0  33 31 3a 76 25 3d 34 3a  73 3d 35 30 0d 00 64 13  |31:v%=4:s=50..d.|
00000100  de 20 78 28 73 2d 31 29  2c 79 28 73 2d 31 29 0d  |. x(s-1),y(s-1).|
00000110  00 6e 05 f5 0d 00 78 0d  78 3d b3 28 31 32 38 30  |.n....x.x=.(1280|
00000120  29 0d 00 82 0d 79 3d b3  28 31 30 32 34 29 0d 00  |)....y=.(1024)..|
00000130  8c 0e 61 3d b3 28 31 29  2a 33 36 30 0d 00 96 0a  |..a=.(1)*360....|
00000140  20 78 28 29 3d 78 0d 00  a0 0a 20 79 28 29 3d 79  | x()=x.... y()=y|
00000150  0d 00 aa 08 20 6e 3d 30  0d 00 b4 0e 20 72 32 3d  |.... n=0.... r2=|
00000160  b3 28 32 35 35 29 0d 00  be 0e 20 67 32 3d b3 28  |.(255).... g2=.(|
00000170  32 35 35 29 0d 00 c8 0e  20 62 32 3d b3 28 32 35  |255).... b2=.(25|
00000180  35 29 0d 00 d2 0e 20 72  31 3d b3 28 32 35 35 29  |5).... r1=.(255)|
00000190  0d 00 dc 0e 20 67 31 3d  b3 28 32 35 35 29 0d 00  |.... g1=.(255)..|
000001a0  e6 0e 20 62 31 3d b3 28  32 35 35 29 0d 00 f0 15  |.. b1=.(255)....|
000001b0  20 e7 20 72 32 3e 72 31  20 c8 94 20 72 32 2c 72  | . r2>r1 .. r2,r|
000001c0  31 0d 00 fa 15 20 e7 20  67 32 3e 67 31 20 c8 94  |1.... . g2>g1 ..|
000001d0  20 67 32 2c 67 31 0d 01  04 15 20 e7 20 62 32 3e  | g2,g1.... . b2>|
000001e0  62 31 20 c8 94 20 62 32  2c 62 31 0d 01 0e 10 20  |b1 .. b2,b1.... |
000001f0  74 3d b3 28 31 35 30 29  2b 35 30 0d 01 18 05 f5  |t=.(150)+50.....|
00000200  0d 01 22 28 64 3d b3 28  31 29 2a 37 32 30 2d 33  |.."(d=.(1)*720-3|
00000210  36 30 3a 6c 3d b3 28 31  30 29 2b 32 3a e3 20 69  |60:l=.(10)+2:. i|
00000220  3d 30 20 b8 20 6c 2d 31  0d 01 2c 2d e7 20 74 3e  |=0 . l-1..,-. t>|
00000230  33 31 20 8c 20 78 2b 3d  b5 20 b2 28 61 29 2a 31  |31 . x+=. .(a)*1|
00000240  36 3a 79 2b 3d 9b 20 b2  28 61 29 2a 31 36 3a 61  |6:y+=. .(a)*16:a|
00000250  2b 3d 64 2f 6c 0d 01 36  2d 61 3d 61 2b 28 31 38  |+=d/l..6-a=a+(18|
00000260  30 20 80 20 28 78 3e 31  32 38 30 20 84 20 78 3c  |0 . (x>1280 . x<|
00000270  30 20 84 20 79 3e 31 30  32 34 20 84 20 79 3c 30  |0 . y>1024 . y<0|
00000280  29 29 0d 01 40 15 78 28  6e 29 3d 78 3a 79 28 6e  |))..@.x(n)=x:y(n|
00000290  29 3d 79 3a 6b 3d 6e 0d  01 4a 1e 72 33 3d 72 32  |)=y:k=n..J.r3=r2|
000002a0  2d 72 31 3a 67 33 3d 67  32 2d 67 31 3a 62 33 3d  |-r1:g3=g2-g1:b3=|
000002b0  62 32 2d 62 31 0d 01 54  1c e3 20 72 3d 6d 25 20  |b2-b1..T.. r=m% |
000002c0  b8 20 30 20 88 20 2d 76  25 3a 64 31 3d 72 2f 6d  |. 0 . -v%:d1=r/m|
000002d0  25 0d 01 5e 44 c8 99 20  43 25 2c 28 28 28 72 31  |%..^D.. C%,(((r1|
000002e0  2b 72 33 2a 64 31 29 3c  3c 38 29 2b 28 28 67 31  |+r3*d1)<<8)+((g1|
000002f0  2b 67 33 2a 64 31 29 3c  3c 31 36 29 2b 28 28 62  |+g3*d1)<<16)+((b|
00000300  31 2b 62 33 2a 64 31 29  3c 3c 32 34 29 29 2c 2c  |1+b3*d1)<<24)),,|
00000310  2c 26 31 30 30 0d 01 68  2f e7 20 74 3e 6d 25 20  |,&100..h/. t>m% |
00000320  84 20 28 74 3c 33 32 20  80 20 74 3e 72 29 20 8c  |. (t<32 . t>r) .|
00000330  20 c8 8f 20 c8 90 20 78  28 6b 29 2c 79 28 6b 29  | .. .. x(k),y(k)|
00000340  2d 72 2c 72 0d 01 72 14  6b 2d 3d 76 25 3a e7 20  |-r,r..r.k-=v%:. |
00000350  6b 3c 30 20 6b 2b 3d 73  0d 01 7c 05 ed 0d 01 86  |k<0 k+=s..|.....|
00000360  16 6e 3d 28 6e 2b 31 29  20 83 20 73 3a 74 2d 3d  |.n=(n+1) . s:t-=|
00000370  31 3a ed 0d 01 90 09 fd  20 74 3c 30 0d 01 9a 07  |1:...... t<0....|
00000380  fd 20 30 0d 01 a4 0f dd  20 a4 6d 69 6e 28 61 2c  |. 0..... .min(a,|
00000390  62 29 0d 01 ae 11 e7 20  61 3c 62 20 3d 61 20 8b  |b)..... a<b =a .|
000003a0  20 3d 62 0d 01 b8 04 0d  ff                       | =b......|
000003a9